As I work on Phalanx, it’s struck me that I owe a shout-out to the engine it’s built on, Phaser. Phaser is an HTML5 engine for browser games. It’s got a lot to recommend it, even if there is the occasional drawback.
First, the good! Phaser is:
Chock full of features: Need a physics engine? There’s several to choose from. A particle system? You’re covered. Phaser does the vast majority of the things you want a game engine to do.
Broadly compatible: I’ve not yet found a browser that Phaser doesn’t like.
Used to make browser games: OK, I’ve already mentioned this one. However, I think it’s fair to list it as a selling point. As one of my professors noted, there’s no better way to get your game in front of lots and lots of people than to just let them play it in their browser. After all, not everyone’s got a PC, or a Mac, or an Android device, or a PS4, or an Xbox One, or an iDevice, or an Ouya, or whatever . . . but everybody’s got a browser.
Open-source: Better coders than I can modify the engine to get it to do exactly what they want.
Free: Perhaps this is a necessity in the era of Unity and the Unreal Engine, but it’s still important.
In honesty, I do have to concede that there are a couple of issues a potential Phaser developer should be aware of.
Documentation: Phaser’s documentation can perhaps best be described as “uneven.” It’s good enough for experienced programmers. Beginners can find themselves at sea.
Performance: More an HTML5/Javascript issue than a Phaser issue, perhaps, but you’ll have to keep in mind some pretty hard limits on how far you can push your game. Phalanx uses simple 2D sprites with some minimal particles, and that’s enough to heat up a 2015 Macbook Pro.
Javascript: Not the programming language I’d prefer to be using.
In my mind the benefits Phaser brings substantially outweigh these weaknesses, two of which aren’t even fairly laid at Phaser’s door. If you’re looking for an HTML5 engine, or just a way to make games that will help you bring them before a large audience, give it a look.