Windows, Linux, Mac OS X, Flash
Languages Written In:
- User Reviews
The PushButton Engine is an Open Source, Flash game engine and framework that's designed for a new generation of games. PushButton Engine makes it easy to bring together great existing libraries and components for building Flash games. Spend less time on code, more time on building fun games.
- Build modular pieces of gameplay instead of monolithic applications.
- Core functionality provided: resource manager, logger, debug monitoring, serialization, time management, globally named objects, etc.
- Basic Physics
- Collision Detection
- Rigid Body
- Vehicle Physics Physics based on Box2D.
- Client-Server Basic networking. Pass events to/from your servers, do XMLRPC/JSON Web API requests, etc.
- Finite State Machines
- 2D Sound
- Streaming Sound
|License Name||Price in $US||Source Code Included?||Additional information|
|Must include PBE copyright and legal notice in product.|
Starting Up PushButton Engine
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.
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 those in the Flash world have 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 or 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 very active in the community and has helped me out on more than one occasion.
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 publish something soon. 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 flash 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.