When I found out the author of the largest Flash game development blog had written a book, I was very eager to pick it up and try it out.
(his announcement on his blog HERE)
Emanuele’s blog has been around for many years, and he has great information from starting out in actionscript and beginning game programming, all the way up to developing complete games, using 3d and physics engines.
I wasn’t sure whether this would be a beginner’s book, intermediate, or more advanced, but it appears to be mostly aimed at someone who is familiar with the flash interface, and has at least some programming knowledge. So I would say the ideal reader would be someone who knows how to draw in flash and use the timeline, and has probably programmed at least a little bit in actionscript.
That said, he does introduce some programming concepts, but goes over them pretty quickly to get to the bulk of the game development.
The Focus of the book
The entire book is setup to introduce and create one game after the other. He goes through the complete steps in creating a game, from project planning to the finished game, albeit without getting it to a “polished” state. So the game is playable, but does not include menu systems, restarts, integration with any API’s, ect. So it’s obvious he chose to focus on “the hard stuff”, of creating and programming the game, and left it up to the reader to do the more time consuming stuff.
So make sure you realize that the focus of the book is to show you how to do the bulk of creating several games, but choosing how to finish them off is up to the reader.
The games created throughout the book are:
Chapter 6: Astro-PANIC! (A shooter with the ship on the bottom of the screen, and ‘aliens’ randomly flying around the screen – similar game here: http://www.freewebarcade.com/game/astro-panic/ )
Chapter 9: Ball Balance (A addictive little game he made on kongregate, where you drop balls onto a balance, and need to keep it from tipping over by keeping it as balanced as possible http://www.kongregate.com/games/triqui/ballbalance)
Almost all of the games in the book were setup as “tile based”- basically summing up the game area as a grid, to make it easy to place, and manipulate things.
For instance snake and puzzle bobble are both created using a grid, which wouldn’t have been the most obvious when trying to create the game from scratch.
This certainly makes you begin thinking about how some games that may not seem tile based, can be setup in a grid, and used to create your own similar game based on the gameplay.
From A More Experienced Programmers Perspective
It was pretty cool to go through and create all the games in the book. Some of them I had mildly attempted previously, such as Bejewled and Minsweeper, so it was very neat to see how he created them.
Even though I’ve been programming for many years, and in Actionscript primarily for several years, I learned some new things in the book, as well as saw some areas that I need to concentrate on to become a better game programmer.
Emanuele starts using recursive functions early and in almost every chapter in the book. I haven’t used them enough in the past, but it makes short work of needing to search through 2d arrays for patterns.
I would recommend this book to anyone that wants to know how the games included in the book work, or for someone who wants to “peer over the shoulder” of one of the more well known Flash developers.
I have always thought it would be helpful to have a personal mentor when learning a new subject- so you can pick up the small tricks, tips and nuances that they do when “working on their craft”.
In this book, Emanuele takes you through his process of creating 9 different games, and there is a lot to be learned, both about making similar games, and just about an experienced Flash developer’s process for creating those games.
I would like to see his process for a complete game, menu system, and fully polished, but could probably easily find more information on his blog.
The book is again mostly aimed at someone who is familiar with using the flash interface to draw, and has some programming experience. Although it could still be useful for beginners to see what they need to know to create games, or more advanced programmers to see how these games are made, as well as see the game creation process of a fellow Flash game developer
You can pickup the book from http://www.packtpub.com/flash-game-development-by-example/book – it’s in pdf format, so it makes it easy to copy and paste the code from the book as you follow along.
As with any programming book(or blog for that matter), sometimes there are code mistakes, due to creating, testing, pasting the code, as well as changes and updates – lots of room for errors.
Although most of the code compiled fine when copying from the pdf, I kept track of any errors or typos I came across, to help anyone that needs help figuring out the problem.
A complete list of the errors, or questions/answers I had here: Errata