Tagged with games

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
Tagged , , ,

SWFConsole: enhance the power of your Flash games

TerminalSometime ago I was working on a Flash game and I had to output some information to the console. That's a very easy task when you use trace() and the Flash IDE, but things get a little harder when you need to output text inside the browser.

Looking for a tool that could help me output text, I found SWFConsole.  It is a free developer tool for Flash AS3 projects that gives you output in all environments, not just the IDE. You can type commands in order  to manipulate Movieclips in the stage,  such as myMovieclip.alpha = 0.3.

SWFConsole also has a built in resource monitor that shows FPS and memory usage, pretty useful for game developers. I miss some features as listeners to handle custom commands and a method to "enable/disable" the console instead of  showing or hiding  it, but it does not make  the tool less useful.

If you are a Flash game developer, SWFConsole can make your life easier!

Tagged , , , ,