What is Flixel?

AdamAtomic edited this page Sep 13, 2010 · 10 revisions

flixel is a free Actionscript (Flash) library that I distilled from a variety of Flash games that I’ve worked on over the last couple years, including Gravity Hook, Fathom and Canabalt . Flixel’s primary function is to provide some useful base classes that you can easily extend to make your own basic game objects.

For example, FlxGame.as provides a basic game object that includes global volume control and a way to manage gameplay states. FlxSprite.as provides a bunch of collision code, velocity and acceleration options, and an optimized render path (approx. 10x faster than the normal Flash vector renderer). FlxEmitter.as provides a class for quickly and easily creating cool particle effects.

flixel is free for partial, full, personal and/or commercial use. Click here to play a bunch of games made with Flixel!

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…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

Who can use flixel?

Anybody! flixel is released with the MIT license , which as far as I understand it means you can use any of these files for anything you want, commercial or not. You only need to redistribute the license if you are redistributing source code that includes any of my work, because the license has that clause for like “if this messes up your computer then you can’t blame me” or whatever.

Can I use X, Y or Z flash modules/plugins/whatever with flixel?

As far as I know, yes. As long as they are Actionscript 3 compatible, they should work fine. If they are based on Movieclips instead of Sprites, you may have to do some fiddling, but flixel is just a framework that sits on top of flash.display.sprite, so you can do pretty much whatever you want (including using normal Flash widgets like text inputs, etc).

Special Thanks to…

Ivan Safrin created nanodoc, tested flixel, and a couple years ago taught me Actionscript.

Danny B created all the music for Gravity Hook, Fathom, and Mode, and he also created the signature flixel logo riff. One of the few humans I can stand to collaborate with!

Bekah is my oh-so-hot wife, who for some reason tolerates the insane amount of free time that I spend making games, and was especially cool about The Flixel Weekend, where I built all of v1.0 and mode in about 2 days.

Farbs explained how to get rid of some really nasty hacks in the flixel code.

Obviously big thanks to the flixel community (Tim and Martin especially! you guys rock) for all the feedback, bug checks, suggestions, tutorials, and good vibes.