Starting Up PushButton Engine
May/092
PushButton Engine is an open-source Flash game engine from PushButton Labs, a group led by two of the Garage Games co-founders.
The plan behind PBE is to give away the engine source, sell a visual editor to help rapidly create games, offer a storefront for developers to sell their own PBE components and finally, make games themselves. Currently, the only thing available is the engine source and the ability to create (but not yet sell) PBE components.
Starting It Up
The PBE source is hosted on Google Code so after a quick svn checkout, you have everything you need to get started. They offer an AIR app called the PushButton Engine Manager that helps manage projects. My hunch is that it will become a sort of PBE dashboard offering quick component purchases, news feeds and the like. With the manager you can open up the solution they offer which lets you peek at the demo games from the manager’s perspective. After setting the path to your Flex SDK of choice you generate your build files (Flex IDE and Ant) and you’re ready to go. I was pretty happy with this process. Everything went smoothly and I was able to fire up Ant and build the entire set of library swcs as well as the game demos.
Pop the Hood
PushButton Engine in it’s current state is not for the faint of heart. If you’ve only spent time in the Flash development world, the engine source and structure of a PBE game will come as a shock. At this point, I’d recommend reading the PBE manual as it sheds some light on this strange and wonderful work. Even after finishing the manual you’ll need to keep an open mind as you work through your first game. The source itself doesn’t follow the coding conventions we’ve all grown accustomed to and the engine is still in development. The latter can be seen as a kind of moving target if you’re someone (like me) who prefers to keep their code up to date. I can recall two (maybe three) times where I had to stop production on my current project to refactor some code to work with the new engine updates. If this sort of activity doesn’t appeal to you I’d recommend waiting until the engine matures a little bit.
Revving the Engine
When I first generated a solution from the PBE Manager and created my first project there wasn’t a whole lot going on. I had to do a lot of manual editing of the pbelevel (an XML-based game definition file) to get it to compile and be happy. Even after that, there’s still quite a bit you need to do to draw an avatar on the screen. Not really a “push button” feel but I’m assuming this will improve and become a non-issue once the editor is complete. This is also where the forums really help out. Ben Garney, the PB Labs ‘Coder’ is an active participant and has helped me out on more than one occasion.
Final Thoughts
I like this engine. It’s been slow-moving at times but I’ve managed to accomplish what I set out to do and hope to eventually publish something to a site like Kongregate or New Grounds. It can certainly be frustrating at times but this has been one of the more rewarding coding experiences I’ve had in a while. I would urge any developer interested in developing games to check it out. It’s a wonderful opportunity to share your thoughts and give feedback during a time when it can have the most impact. Happy coding!
Leave a comment
No trackbacks yet.

4:39 pm on May 29th, 2009
Hey Phil, glad you could check out the engine!
9:48 am on May 30th, 2009
Great writeup, Phil. It’s very instructive to see what the engine looks like to a real developer.
I wanted to call out one part of what you wrote:
“It’s a wonderful opportunity to share your thoughts and give feedback during a time when it can have the most impact.”
This. Only way it will get to be really good is if people beat on it and tell us what it needs to be good. We are really hungry to make it rock.