Posted on July 3, 2008
Flash Game Development Inter-web Mash-up: July 3, 2008
This one is more MASHY than usual. Along with the regular Flash only focused material, this week I decided to concentrate on the world of game creation as a whole, and especially retro game programming. I have mostly chosen only those sources that I feel will aid Flash game developers in some way. I can’t completely leave my Flash brothers and sisters out in the cold, so here are a few choice links from some of my favorite sites:
Here are some sites, articles and blogs focused on retro game creation (most can be applied to Flash)
James Hague, curator of the incredible Halcyon Days Site, has a blog with some very great articles on retro game programming. This (so far) 4 part series on using purely function programming to create a retro game has been a favorite of mine for a couple weeks now. His purely function style necessitates passing all needed variables into functions in the game loop. So the draw method, for instance, would receive a list in some form of array of list of all objects to draw to the screen. It is a very interesting read on methods of using limited resources to create games without accessing global variables in functions. No events are utilized and most of his code is based on the time that has elapsed since a certain event. For instance, in a Pac Man game, when a ghost is eaten, its state is set to something that will return it to home. It would also have a time stamp for when the state changed. Another function would look at the list of ghosts and if any had a time stamp of the current frame and were in a state heading home, then the score would be updated, etc. It seems to me that this works really well in conjunction with a state machine design pattern, and an entity framework. He hasn’t taken this as far as he wants yet, as much of it is still in the experimental stage, but it makes for interesting reading.
AtariArchives.org has an incredible collection of vintage books an magazines mostly covering Atari computers. Even if you have no interest in old Atari computers, these sources can be of use for Flash game developers: Basic Games and More Basic Games each include the source code for over 50 text based games. It helps to know a little about Atari basic when trying to figure out exactly what they are doing. For more advanced 8bit game programming, you can start with Atari Graphics and Arcade Game Design, but you are going to want to dig much deeper into the internals of the machine with titles such as De Re Atari, Machine Language For Beginners, and Mapping the Atari. Stepping away form just Atari specific books, The Computer Graphics Primer has an wealth of great information for all kinds of early 8-bit systems. I could go on and on and on about this site. If you are at all interested in Retro Game creation, retro computing, etc you have a very valuable resource at your disposal.
Martin Fierz has a nice site full of his own games and some excellent tutorials. Most of his stuff is in C or C#, but he started out his game programming in GFA Basic on the Atari ST! I used to create games with that system and dev language also, so I feel a little kinship with Martin. He has a fascinating set of blogs and articles in on CAKE, one of the worlds most comprehensive checkers engines. Supposedly it can beat almost any human. Also, what got me to his site in the first place was a very nice set of tutorials on creating a strategy game.
If you like to make and play retro games, get on the boards at RetroRemakes.com
Here are some sites, articles and blogs on general game development (most can be applied to Flash)
The Toy Maker site has a comprehensive set of tutorials on Direct X game programming. It also contains a wealth of articles filled with theory that can be applied to any game development system, including Flash. His low level 2d information can mostly be applied to any 2d game: Colour Formats, and Blitting are two nice choices. Much of his information on 2d scrolling, sprite animation, and clipping will all prove useful to any 2d game developer. If you are getting started with 3d game development, his tutorials, while focused mainly on Direct X, can give you a nice set of theory that can to apply to any 3d development effort.
I like reading game programming books that target at all development languages. Usually, if the author explains a concept, algorithm or game engine well enough, it can easily be applied to Actionscript. Here are three freely available e-books on game programming.
Online Gaming Europe has an extensive list of sites and blogs for advanced game development.