<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4643144514442549129</id><updated>2025-04-14T09:42:18.376+02:00</updated><category term="roughball"/><category term="as3"/><category term="code"/><category term="ancient soldiers"/><category term="hello world"/><title type='text'>Roguedjack Flash</title><subtitle type='html'>I am Roguedjack.&#xa;And I&#39;m learning Flash for games.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://roguedjackflash.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://roguedjackflash.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Roguedjack</name><uri>http://www.blogger.com/profile/16800931352085066567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidscqskSu4dvtF5BPC3iMqvwt77WQUd2OO_AgS0swh9NnOGN9u0STDELYP32bVzRo2E5y5xEOSQBhJOue_oMFqo5tjjp-5xkJgqjP451OfpklsVVJFhfEuvbAY013OuVk/s220/IconPNG.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4643144514442549129.post-3699389291595402993</id><published>2011-02-26T21:02:00.001+01:00</published><updated>2011-02-26T21:04:37.960+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="as3"/><category scheme="http://www.blogger.com/atom/ns#" term="code"/><category scheme="http://www.blogger.com/atom/ns#" term="roughball"/><title type='text'>RoughBall; League &amp; ScreenManager</title><content type='html'>As announced in the previous episode I did work on the &quot;campaign&quot; mode, which is in fact League play.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;LEAGUE&lt;/b&gt; &lt;br /&gt;
You start with a bad team on the lowest league level. Then its pretty standard sport league stuff. You play home and away games against AI controlled teams. Finishing first gets you promoted to the upper league, finishing last means you loose the game. The objective is to win the top league and then a match against an all-star team to get the title of &quot;super mega winner pro elite turbo&quot; or something like that.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
The player will be able to build and improve his own team. I&#39;m not decided on how to do that yet, either a transfert system like in real sports, or a skill points system where you gain points to improve your players. I&#39;d favor the transert system, as it means the player will never be able to mold his team exactly like he wants it, which means more challenge and more variety between games. Funnily enough, this is what I aim for. All teams and players are generated for each new game... like in a roguelike :D&lt;br /&gt;
&lt;br /&gt;
Anyway here&#39;s how the league screen curently looks like, not sexy at all and stuff missing but functionnal.&lt;br /&gt;
The numbers on the right are Team Levels (Team Value in Blood Bowl terms), displayed for dev.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKbmrsyKVUbNgbdrSHXluLBE4Xd1OUoqDTT-GQARyuCXp9ByVP8BrSeOvDRbdsZtzZMeBnTsOFpP3p5t0drNF1SgqJdE7otXV7-8AvaLusiFzXXMEHSbJsz2VuZc6koZYbZad_Eu88wQ/s1600/02_26_2011_league.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKbmrsyKVUbNgbdrSHXluLBE4Xd1OUoqDTT-GQARyuCXp9ByVP8BrSeOvDRbdsZtzZMeBnTsOFpP3p5t0drNF1SgqJdE7otXV7-8AvaLusiFzXXMEHSbJsz2VuZc6koZYbZad_Eu88wQ/s320/02_26_2011_league.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;everyone sucks and has zero points. losers.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;It doesn&#39;t show here but the ranking and the matches actually work. AI vs AI matches are simply simulated with a probabilistic formula based on respective TLs. The player plays his match against the AIs... which are not done yet... as promised :X&lt;br /&gt;
I improved the match interface a bit, here&#39;s how it looks like.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Nw9xEhwyJRSBGBhwwbaJWy55suaSvP8Ql_iwJMQOreSZqKXypA5d7q9RJQRGQEFgX2UokL50fsRp6oBKtTItJmF4BghrlQ_a5Vht7-WYYXez5UXyCwvRmTwJEHXt381kGSBLMsUBfhI/s1600/02_26_2011_match.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Nw9xEhwyJRSBGBhwwbaJWy55suaSvP8Ql_iwJMQOreSZqKXypA5d7q9RJQRGQEFgX2UokL50fsRp6oBKtTItJmF4BghrlQ_a5Vht7-WYYXez5UXyCwvRmTwJEHXt381kGSBLMsUBfhI/s320/02_26_2011_match.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&quot;Winged Terrorists&quot; AI... 9/11 anyone?&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;So err basically the team names and a glow on the scoreboard digits. Wow. &lt;br /&gt;
Also, stupid team names and stupid player faces = FUN.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SCREENMANAGER&lt;/b&gt;&lt;br /&gt;
To handle game screens transitions and popups dialogs/messages I wrote &lt;b&gt;Screen &lt;/b&gt;and &lt;b&gt;ScreenManager&lt;/b&gt; classes.&lt;br /&gt;
A Screen is basically a container for a sprite (composition) and is not necessary an entire screen, could be a dialog.&lt;br /&gt;
The ScreenManager (singleton) manage screens. Duh. You can &lt;i&gt;push &lt;/i&gt;a screen on top of others (popup); or you can &lt;i&gt;transition &lt;/i&gt;the focused screen to another with animation effects. Only one screen has the focus at anytime. By default un-focused screens are darkened.&lt;br /&gt;
Its simple but makes game screen/popups management easier and you can do some effects, which is almost a requierement for flash games.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an example of a popup in the main menu:&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Fcw3j8IksOiNNJJUtMmtaa8ImswzsoYR3eSQ1OvWtsa_FPzRtB8ZLQMwv9bZl8PIx1zRHUrzOVZgP5OA4bYXg5fTkWeI5IDRi70HfKLAFfaRmvKZh1kXpYAJenRj2Z96k_b5yr4dy-s/s1600/02_26_2011_ui.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Fcw3j8IksOiNNJJUtMmtaa8ImswzsoYR3eSQ1OvWtsa_FPzRtB8ZLQMwv9bZl8PIx1zRHUrzOVZgP5OA4bYXg5fTkWeI5IDRi70HfKLAFfaRmvKZh1kXpYAJenRj2Z96k_b5yr4dy-s/s320/02_26_2011_ui.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Loading popup on top of main screen.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&quot;Loading&quot; is just a small screen and was pushed on the main screen when I clicked&amp;nbsp; the &quot;new game&quot; button, the main screen has lost focus and is darkened.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an example of transition in the code, here from the league screen to the play screen, using a fade in/out effect:&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqCUjvZkKthBQU5681We4FAjSB-9i4H6VNbNJ83TQaH30rSnSYKdArEcIW8y-ecBmDjKaYlLA7JWSiFKHD02mEmzhbOwJGAco42QHWp_G7cH-u1OQpVmzweznc82fLMGOhn7L2BnO0_po/s1600/02_26_2011_code.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;143&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqCUjvZkKthBQU5681We4FAjSB-9i4H6VNbNJ83TQaH30rSnSYKdArEcIW8y-ecBmDjKaYlLA7JWSiFKHD02mEmzhbOwJGAco42QHWp_G7cH-u1OQpVmzweznc82fLMGOhn7L2BnO0_po/s320/02_26_2011_code.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;ScreenManager.Instance.addCaption(&quot;??&quot;);&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Disregard the &lt;i&gt;new PlayScreen() &lt;/i&gt;oddity, its supposed to be a singleton but its not coded cleanly yet.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NEXT&lt;/b&gt;&lt;br /&gt;
I have the basic game structure there and functional. So... I am now allowed to start&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;THE AI!! WOOOT!! :D&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
End of post.</content><link rel='replies' type='application/atom+xml' href='http://roguedjackflash.blogspot.com/feeds/3699389291595402993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/roughball-league-screenmanager.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/3699389291595402993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/3699389291595402993'/><link rel='alternate' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/roughball-league-screenmanager.html' title='RoughBall; League &amp; ScreenManager'/><author><name>Roguedjack</name><uri>http://www.blogger.com/profile/16800931352085066567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidscqskSu4dvtF5BPC3iMqvwt77WQUd2OO_AgS0swh9NnOGN9u0STDELYP32bVzRo2E5y5xEOSQBhJOue_oMFqo5tjjp-5xkJgqjP451OfpklsVVJFhfEuvbAY013OuVk/s220/IconPNG.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKbmrsyKVUbNgbdrSHXluLBE4Xd1OUoqDTT-GQARyuCXp9ByVP8BrSeOvDRbdsZtzZMeBnTsOFpP3p5t0drNF1SgqJdE7otXV7-8AvaLusiFzXXMEHSbJsz2VuZc6koZYbZad_Eu88wQ/s72-c/02_26_2011_league.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643144514442549129.post-7567786835744611141</id><published>2011-02-22T19:23:00.003+01:00</published><updated>2011-02-26T21:05:08.867+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="as3"/><category scheme="http://www.blogger.com/atom/ns#" term="code"/><category scheme="http://www.blogger.com/atom/ns#" term="roughball"/><title type='text'>RoughBall; AS3 closures</title><content type='html'>&lt;b&gt;ROUGHBALL&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The match subgame is now very advanced.&lt;br /&gt;
You can play vs yourself, perform all actions and score touchdowns. Basically play a real match, but it never ends.&lt;br /&gt;
Here red is about to score another TD after having KOed all poor blue players.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRCpsaUe-FMtmVs3n9HEyJQOfEAF-BNaOScgUklr88C2VakkYTdHvAluF8CnKi_583jlLLqJnPrCIqjjzsgeKyabCDTUG2U4ij-xnKTLkGVWu_I3FGaAmYrgDTLgVkQTvGCHNVVN1uByo/s1600/02_22_2011.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;270&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRCpsaUe-FMtmVs3n9HEyJQOfEAF-BNaOScgUklr88C2VakkYTdHvAluF8CnKi_583jlLLqJnPrCIqjjzsgeKyabCDTUG2U4ij-xnKTLkGVWu_I3FGaAmYrgDTLgVkQTvGCHNVVN1uByo/s320/02_22_2011.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Running the game in Firefox.&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;I&#39;m tempted to start doing the match AI... but experience teached that it is the wrong path to choose, at least for me. I love writing AI, but I&#39;ll get tangled in AI details and the game will seem to stall.&lt;br /&gt;
I could focus on polishing/improving the match subgame, but that can wait. &lt;br /&gt;
I should focus on quick progress, so I&#39;ll start writing the campaign subgame.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;AS3 CLOSURES + TWEEN TO CONTROL THE GAME FLOW&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;AS3 closures&lt;/b&gt; are basically inline functions you write as objects. You pass them around as parameters to other functions and have fun. Like C# lambdas, but a bit more constrained from what I understand due to scope problems. They are not like &quot;real&quot; LISP lambdas, as you can&#39;t build code as data.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tween engines &lt;/b&gt;are like programmable animation managers. Animations are objects called &lt;i&gt;tweens&lt;/i&gt;. You tell the tween engine to move this sprite over here in two seconds and glow it red once there and stuff like that. It then handles everything for you at each frame. Tweens make use of callbacks to notify you when the animation is updated, completed etc...&lt;br /&gt;
I use&amp;nbsp;&lt;a href=&quot;http://www.greensock.com/tweenmax/&quot;&gt;TweenMax&lt;/a&gt; by Greensock.&lt;br /&gt;
&lt;br /&gt;
So what&#39;s their use?&lt;br /&gt;
&lt;br /&gt;
Most of the time you use closures as callbacks for events : interface events, tween events...&lt;br /&gt;
Rogue Survivor made me fall in love with closures/lambdas, and while they are quite an un-OOP way to do things, I tend to use and abuse them. I like having different concepts available in one language.&lt;br /&gt;
&lt;br /&gt;
In AS3, I found they are highly useful to coordinate logic, interface and animation(tweens).&lt;br /&gt;
For instance, here&#39;s the current code to make a pawn perform a movement action by following a path.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV_R6q5T33nwKvEr9SKn1ORLf_KrvydMR7ri5JHYQJzfZ_WZNry3IwAFBqkmru7w4Dg4fOm1hQWjb_flcrv53tvByKhUlHKlps9O5ecn70hbXX3RR_nbmHlDMIv8bzELrnbylauE5e3Q0/s1600/02_22_2011_code.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;129&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV_R6q5T33nwKvEr9SKn1ORLf_KrvydMR7ri5JHYQJzfZ_WZNry3IwAFBqkmru7w4Dg4fOm1hQWjb_flcrv53tvByKhUlHKlps9O5ecn70hbXX3RR_nbmHlDMIv8bzELrnbylauE5e3Q0/s320/02_22_2011_code.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;RoughBall code in FlashDevelop&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;movePawn&lt;/i&gt;() performs a single move.&lt;br /&gt;
As the pawn sprite is moved with a tween, the move happens over several frames. The callback &lt;i&gt;onDone&lt;/i&gt; is called when the move is completed. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;doMove&lt;/i&gt;() implements the move action.&lt;br /&gt;
The process is controlled by the &lt;i&gt;nextStep &lt;/i&gt;closure which call &lt;i&gt;movePawn&lt;/i&gt; to make a single move step when appriorate, grab the ball, check for TD and end the move.&lt;br /&gt;
Since a closure is a function, it can call itself if needed (recursion) or pass itself as parameter to another function. It asks &lt;i&gt;movePawn &lt;/i&gt;to perform a step and register itself as a callbac&lt;i&gt;k&lt;/i&gt;, to resume the movement when a move step in completed. Remember all this happens over several frames, without needing to explicitly write it in code, as everything ends up linked to the tween engine which handles it for you.&lt;br /&gt;
&lt;br /&gt;
Basically you can think of it as a thread without having the hassle to write thread specific code.&lt;br /&gt;
&lt;br /&gt;
Coordinating logic, animation and user input has always been a headache or a chore for me and I love how Flash makes it so easy.&lt;br /&gt;
No need of threading or state machines! Me like!(*)&lt;br /&gt;
&lt;br /&gt;
In another part of the code I use different paradigms.&lt;br /&gt;
A classic State Machine for the main match flow (phase and subphases).&lt;br /&gt;
And a weird thing I made up to control the game flow that also make use of closures by basically building &quot;scripts&quot; of closures at runtime, kinda like you would write CONS lambda code on the fly in LISP. I might describe it later(**).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(*)... until I run into problems I overlooked, like scope or it crashes :)&lt;br /&gt;
(**) see (*).&lt;br /&gt;
&lt;br /&gt;
End of post.</content><link rel='replies' type='application/atom+xml' href='http://roguedjackflash.blogspot.com/feeds/7567786835744611141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/roughball-as3-closures-and-use-i-have.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/7567786835744611141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/7567786835744611141'/><link rel='alternate' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/roughball-as3-closures-and-use-i-have.html' title='RoughBall; AS3 closures'/><author><name>Roguedjack</name><uri>http://www.blogger.com/profile/16800931352085066567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidscqskSu4dvtF5BPC3iMqvwt77WQUd2OO_AgS0swh9NnOGN9u0STDELYP32bVzRo2E5y5xEOSQBhJOue_oMFqo5tjjp-5xkJgqjP451OfpklsVVJFhfEuvbAY013OuVk/s220/IconPNG.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRCpsaUe-FMtmVs3n9HEyJQOfEAF-BNaOScgUklr88C2VakkYTdHvAluF8CnKi_583jlLLqJnPrCIqjjzsgeKyabCDTUG2U4ij-xnKTLkGVWu_I3FGaAmYrgDTLgVkQTvGCHNVVN1uByo/s72-c/02_22_2011.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643144514442549129.post-1822708643240897943</id><published>2011-02-20T16:46:00.003+01:00</published><updated>2011-02-26T21:05:36.728+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ancient soldiers"/><category scheme="http://www.blogger.com/atom/ns#" term="roughball"/><title type='text'>&quot;RoughBall&quot; and &quot;Ancient Soldiers&quot;</title><content type='html'>So, I&#39;ve been learning Flash and AS3 since a month, about mid-january.&lt;br /&gt;
I use &lt;b&gt;Flash Develop&lt;/b&gt; as the main IDE, and &lt;b&gt;Adobe Flash CS5&lt;/b&gt; mostly for assets (vector graphics, UI elements and probably later movies).&lt;br /&gt;
&lt;br /&gt;
While I&#39;m learning the technical aspect, I&#39;m also testing&amp;nbsp; game ideas. Implementing a simple user interface is very easy in AS3 and drawing vector graphics is easy too. Great. Means I can write simple prototypes very quickly. In one month of Flash I&#39;m much more productive than one month in C#, Java or C++/C.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s have a peek at some game prototypes I&#39;m working on. Those are gameplay screens on the current versions.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I inserted a subtle &quot;not final version!&quot; text in the screens just to remind you guys the games will likely evolve in all aspects, gameplay and appearance.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ROUGHBALL : Turn based, sport.&lt;/b&gt;&lt;br /&gt;
A simplified BloodBowl with some twists.&lt;br /&gt;
I use a system of dolls for the characters appearance, like I do in Rogue Survivor.&lt;br /&gt;
I like the silly faces the characters have.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gAA_CyWHK0lgbDff76y8lez_DWqx2XHtN2HeTi1AAq7nfgBcCMciGuwVtRWXmhmnUoUgd_268y1LgBnmX9OS3-0z78OASs6KWJJpaNECAEhzEDg7dmBeV1War6OVRtqgRqJHn-WAksQ/s1600/02_20_2011.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;258&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gAA_CyWHK0lgbDff76y8lez_DWqx2XHtN2HeTi1AAq7nfgBcCMciGuwVtRWXmhmnUoUgd_268y1LgBnmX9OS3-0z78OASs6KWJJpaNECAEhzEDg7dmBeV1War6OVRtqgRqJHn-WAksQ/s320/02_20_2011.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&quot;I haz teh ball dis makes me big grin :D&quot;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;ANCIENT SOLDIERS : Turn based, strategy.&lt;/b&gt;&lt;br /&gt;
A miniature-based wargame with some original ideas on command and control and army design.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmbLvHzG9j40FrBISc8gu6HvaFNaSjQxqwx1dp2bfLw1VssG0CCi77bJFhRT8Cu1pQFHCSYIolCbCkdDWtEXlvCrgTPsPNnsM9sYuNfnygxJiJubk27MuDHkOwmHarlOcK5jCJOBa-5Zs/s1600/02_20_2011.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;259&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmbLvHzG9j40FrBISc8gu6HvaFNaSjQxqwx1dp2bfLw1VssG0CCi77bJFhRT8Cu1pQFHCSYIolCbCkdDWtEXlvCrgTPsPNnsM9sYuNfnygxJiJubk27MuDHkOwmHarlOcK5jCJOBa-5Zs/s320/02_20_2011.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The AI fires on my skirmishers with archers :(&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;STUPID FLASH GAMES...&lt;/b&gt;&lt;br /&gt;
There are too much of them.&lt;br /&gt;
I want my flash games to be interesting and original, while keeping them at the casual-game level of accessibility. You won&#39;t get Rogue Survivor complexity/depth... but you won&#39;t get the obtuse UI either :p&lt;br /&gt;
&lt;br /&gt;
End of post.</content><link rel='replies' type='application/atom+xml' href='http://roguedjackflash.blogspot.com/feeds/1822708643240897943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/roughball-and-ancient-soldiers.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/1822708643240897943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/1822708643240897943'/><link rel='alternate' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/roughball-and-ancient-soldiers.html' title='&quot;RoughBall&quot; and &quot;Ancient Soldiers&quot;'/><author><name>Roguedjack</name><uri>http://www.blogger.com/profile/16800931352085066567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidscqskSu4dvtF5BPC3iMqvwt77WQUd2OO_AgS0swh9NnOGN9u0STDELYP32bVzRo2E5y5xEOSQBhJOue_oMFqo5tjjp-5xkJgqjP451OfpklsVVJFhfEuvbAY013OuVk/s220/IconPNG.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gAA_CyWHK0lgbDff76y8lez_DWqx2XHtN2HeTi1AAq7nfgBcCMciGuwVtRWXmhmnUoUgd_268y1LgBnmX9OS3-0z78OASs6KWJJpaNECAEhzEDg7dmBeV1War6OVRtqgRqJHn-WAksQ/s72-c/02_20_2011.png" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643144514442549129.post-7530308127680766998</id><published>2011-02-20T15:52:00.000+01:00</published><updated>2011-02-20T15:52:26.584+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hello world"/><title type='text'>Hello World!</title><content type='html'>Hello there!&lt;br /&gt;
I&#39;m roguedjack, author of &lt;a href=&quot;http://roguesurvivor.blogspot.com/&quot;&gt;Rogue Survivor&lt;/a&gt;, a free zombie game for windows.&lt;br /&gt;
This blog will be about my adventures in Flash. You&#39;ll find rants, bits of code, screens and perhaps downloadable games. I&#39;ve start Flash &amp;amp; AS3 since only a month, so don&#39;t expect grand things... &lt;i&gt;yet&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Will I be able to finally draw decent graphics?&lt;br /&gt;
Will I actually release playable games?&lt;br /&gt;
Who knows!&lt;br /&gt;
Join the adventure for FUN.&lt;br /&gt;
&lt;br /&gt;
End of post.</content><link rel='replies' type='application/atom+xml' href='http://roguedjackflash.blogspot.com/feeds/7530308127680766998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/7530308127680766998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643144514442549129/posts/default/7530308127680766998'/><link rel='alternate' type='text/html' href='http://roguedjackflash.blogspot.com/2011/02/hello-world.html' title='Hello World!'/><author><name>Roguedjack</name><uri>http://www.blogger.com/profile/16800931352085066567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidscqskSu4dvtF5BPC3iMqvwt77WQUd2OO_AgS0swh9NnOGN9u0STDELYP32bVzRo2E5y5xEOSQBhJOue_oMFqo5tjjp-5xkJgqjP451OfpklsVVJFhfEuvbAY013OuVk/s220/IconPNG.png'/></author><thr:total>0</thr:total></entry></feed>