Nova
Nova is a library for quickly creating 2D games in Haxe.
(Questions? Try the documentation here!)
Why Haxe?
I've tried a lot of game engines for 2D games. I think Haxe (plus OpenFL) is among the best. Here's why:
- powerful, statically typed language
- no boilerplate to fight with
- huge amount of control over individual pixels
- cross-compilation to tons of different languages, including HTML5
- 100% free and open-source
Despite this, Haxe has very few high-level game libraries. Nova is an attempt to expand in that direction!
Installation
Nova uses both Haxe and HaxeFlixel as dependencies. Installation instructions for both are here.
Then, just install via haxelib (which comes with Haxe): haxelib install nova
Overview
Director
Director allows you to chain animations together. You can queue up animations (or functions, or both) to be executed after any set of animations is finished.
Good for things like "if a bunch of enemies are moving, end their turn after they're all done".
DialogBox
A powerful, highly customizable dialog box for use in just about any game. Supports dynamic resizing, text effects, portraits, arbitrary callbacks, and more.
FlxLocalSprite
Similar to FlxSprite, but with the property that each sprite has a local position relative to its parent. For example:
var parent:FlxLocalSprite = new FlxLocalSprite(20, 20);
var child:FlxLocalSprite = new FlxLocalSprite(20, 20);
add(parent);
parent.add(child);
then child
will appear at the position (40, 40). If parent
moves, then child
will move by the same amount.
NovaEmitter
A simple, FlxSprite-based emitter where each pixel can be arbitrarily programmed.
(More detailed documentation to come!)