My first Impact Javascript Game: omgaliens
May 24th, 2011

If you’re looking for the game itself, you can find it here: omgaliens.

My Thoughts on Writing my First Game in Impact

I thought it might be nice to write up a retrospective of the last month or so spent working on omgaliens with Impact (also sometimes called ImpactJS) and give my general impression of the Impact framework.  For those not familiar, Impact is a relatively new framework that’s sprouted up among other frameworks in the relatively new area of “HTML5/Javascript game engines”.  I won’t go into detail here, but basically in the last few years most modern browsers (even Internet Explorer) have implemented the canvas element, which in turn has allowed developers to create various kinds of graphical and game engines that use this feature. One major thing that sets Impact  apart from the slew of other libraries is that it costs $99 (most are free and open source), and it comes with a graphical level editor.  It also runs well on mobile platforms, which often have performance issues.

Before I continue, a little background on myself:  I’ve been programming in some form for about 10 years now, but I’m not a game developer.  The only other game framework I’ve used is cocos2d for the iPhone, and I did not complete that game though I did have a playable demo.  So this review is strictly from the prospective of someone who’s a programmer but *not* a game developer.  I also did not use the level editor much; nor did I use the Box2d physics, so I won’t be commenting on that.

What It Is, and What It Isn’t

Since it costs money and there’s no “trial” license, I figured I’d start out by noting a few things I learned about the framework that I didn’t know by reading the various descriptions on their site (though this info can be found in the documentation).

First, it’s a sprite based game engine, not vector.  Second, it’s designed for action type games (platformers, 2D shooters, etc) with build in methods for managing player/enemy health and interaction, including acceleration and velocity parameters for each entity.  It is not just a cool physics engine wrapped in a while() loop, rather it has a lot of your basic game utilities built in as well: volume, loading screens, levels, music, pausing, etc.   Basically it’s a great engine to make games similar to Pac Man or Super Mario Bros, but it would be a bad choice to make games like Scrabble or Chess.

The Good

So what’s good about it?  Well for starters, it’s just pretty easy to use.  The structure makes a lot of sense, and once you read the Getting Started docs and watch the tutorial videos you can start making a game.  Whenever I wanted to add something new, like music or sound effects, I could hit the docs and have something implemented in less than an hour.  When the docs failed me (while complete, they tend to be on the sparse side — some method descriptions are only one line) the forums had my answer.  When I couldn’t find my answer on the forums, the source code is well documented and at the very least I could find my answer there.  So overall, pretty good documentation, which is very important when you’re using someone else’s library.

It works very nicely on mobile and on the iPad, which is pretty important these days, especially with the iOS platform not supporting flash.

I didn’t get a chance in my first game to have the need for a level editor, but what little I played around with it, it seems quite powerful.

The Not So Good

HTML5 Audio browser support is flaky. so Impact has some difficulty playing sounds.

The Big Question: Is it Worth $99?

So the question on everyone’s mind: Is it worth 100 bucks, especially since there are so many alternatives that are free?  Well, that depends on what you’re looking for and what you expect for $99.

Impact licenses are the framework authors only source of income and allow him to work on it full time, which is great because (in theory) you’re ensuring that your game will work on future browsers because he’s continuing to develop the framework.  It would really suck if you spent a lot of time writing a game in a free library that turned out to be some summer project, only to watch your game slowly become unusable as browser technology moves on.  So in that respect, (hopefully) Impact wins out.  Unfortunately, upgrades are not free, though they are discounted.  Also, as any TextMate user might tell you, spending money on the promise of future versions can be a waste [TextMate 1.0 users were promised a free upgrade to TextMate 2.0, it's been 3 or 4 years and no TextMate 2 exists yet] so it’s a bit of a tossup.

Of course, just because something is free and open source, doesn’t mean it won’t be maintained, after all pretty much all the software powering the very site you’re reading is open source.  However, where open source thrives are applications that are useful to a lot of people (operating systems, text editors, web servers).  In contrast, game engines are very specific and I have serious doubts about whether the “HTML5 2D sprite physics based game development” ecosystem is big enough to support a solid open source project without a single project leader pushing the way forward.  However that’s all just my hunch, I could be wildly wrong.

For me, I think it was worth the $99, but it does have some issues (mentioned above) that are disappointing.  On the other hand, as a web development freelancer myself, I do NOT feel bad about giving another web developer freelancer some money, after all, he did do some work that saved me time (and thus money), so he deserves compensation.  Then again, taken to the logical conclusion, so do the literally thousands of open source developers that contributed to the server software… so… :-/

Well I’ll probably add to this post as time goes on (or at least post some new updates).  Whether or not the tone of this post conveys it: I am pretty stoked about Impact and consider myself fairly satisfied thus far.

Recent Incoming Searches:

  • impactjs review
bitniblet launched!
March 29th, 2011

As of last night, bitniblet is live!  Check it out, or add the app on facebook: http://apps.facebook.com/bitniblet

It’s been a challenging 6 months but we hope you like the product!. We have ambitions plans including expand on to mobile and new games / game types.

For my friends reading this: unexpected traveling this week will be keeping me away from playing games so when you don’t get a game invite from me, don’t read into it. :)  [Co-founder Drew Cummins will of course be manning the automated bug tracker and smoothing out launch day issues.]

Feedback is always welcome, there’s a widget once you’re logged in on every page.