AS3 game engines

I like to write my code from scratch, but it does not  mean I want to reinvent the wheel every single day. This is one of the reasons why I like to use engines to code games.

Sometimes the project has it´s own specific features and it requires a completly customized code, but most of the time it´s all about the same things: test input, check collisions, update a bunch of elements and finally render them all. Looking for a tool to do those tasks for me, I found two free and open source game engines: PushButton and Flixel.

PushButton is a very modular game engine licensed under the MIT license. It has core functionality as resource manager, logger, debug monitoring, serialization, time management, globally named objects, etc. It also has a set of components that make the engine even better:

  • Physics based on Box2D;
  • Gameplay components: health, teams, state machines;
  • Sprite-based and SWF-based 2D rendering;
  • Tilemap system;
  • Pathfinding library;
  • Basic networking. Pass events to/from your servers, do XMLRPC/JSON Web API requests, etc;
  • Awesome UI capabilities via Flash - localizable, stylable/themable, internationalizable.

Flixel is collection of AS3 files that helps organize, automate, and optimize Flash games. It is also licensed under the MIT license and has a great set of features:

  • Really fast renderer (5000+ sprites on modern PCs);
  • Tilemaps;
  • Particle systems;
  • Global sound system with volume hotkeys, looping, panning, etc;
  • Parallax scrolling (free/multi-directional);
  • Built-in 2D box-based game physics (not Box2D);
  • Fast text rendering;
  • Retro style zoomed rendering options (2x pixels, 3x pixels, etc);
  • Works great with non-pixel art too, with support for rotation, scaling;
  • Composite multiple sprites using blending modes to create sweet lighting effects;
  • Does not require the Flash IDE, works best with free tools like FlashDevelop;
  • Organizational classes like game states;
  • Simple buttons;
  • Utilities for looping music and playing sound FX;
  • Simple special effects like screen flashes and fades;
  • Save game data between sessions using a local shared object.

Reading about them gave me the idea of writing my own game engine someday. Maybe some raining day I give it a try :)

• Really fast renderer (5000+ sprites on modern PCs)
• Tilemaps
• Particle systems
• Global sound system with volume hotkeys, looping, panning, etc
• Parallax scrolling (free/multi-directional)
• Built-in 2D box-based game physics (not Box2D…yet, anyways)
• Fast text rendering
• Retro style zoomed rendering options (2x pixels, 3x pixels, etc)
• Works great with non-pixel art too, with support for rotation, scaling
• Composite multiple sprites using blending modes to create sweet lighting effects
• Does not require the Flash IDE, works best with free tools like FlashDevelop
• Organizational classes like game states
• Simple buttons
• Utilities for looping music and playing sound FX
• Simple special effects like screen flashes and fades
• Save game data between sessions using a local shared object

Leave a Reply