About six months ago my indie game company Lunar Giant wrapped up its latest project with nerdcore rapper Mega Ran. The final product was a 2D platformer much like Mega Man, but with Metroid elements peppered in, rap music, and characters from the "Mega Ran" universe. The game was released in conjunction with an album by the artist.
Built using an HTML5 game engine called ImpactJS, this was our first project in this particular market, so going into it we really had no idea what to expect. Outside of developing websites and web applications during the day, we had little experience with using Javascript (which is what's really behind an HTML5 game) to develop complex programs. We also had little experience marketing games in this particular space, so the game (which we'll call Mega Ran in Language Arts: The Game for now, or MRTG) was already stacked up to be quite the challenge for our team.
Nevertheless, after three months of development, we had a final product. Here are some things we learned during the process, by way of a brief pros/cons list.
Cons
Selling the game
We ended up approaching our business model (if you can call it that) for the game by way or promoting donations, merchandise, etc. This didn't pan out at all, and Lunar Giant actually ended up taking a net loss on the game's production. Part of the problem with building HTML5 games right now is that the marketplaces, while they exist, are so ridiculously new and have such a small reach that it's really difficult to sell your product.
Technical limitations (audio, frame rate)
Business
Things like playing multiple sound effects concurrently face some real limitations in Javascript. Moreover, and probably even more challenging, getting a game to run at a respectable frame rate is nearly impossible. These are not tiny problems for a games platform.
Community
Other tools out there like Unity or Flash have huge communities built up around them. When you run into a problem in ImpactJS (or any other HTML5 engine, for that matter), yes, there's a community, but it's much smaller and the answers are much more sparse. Anybody who's ever tried to teach themselves how to code, or how to work with a new game engine, knows that this makes life much more difficult.
Pros
Extremely easy to develop for
Lunar Giant made MRTG in about three months. That's a pretty impressive turnaround time for a game with the kind of production value that I think we achieved. Why was it so easy? Part of the reason is that, because of the limitations we faced, we ended up cutting a lot of features that probably didn't belong in the game anyway.
Portable
One of the really great things that HTML5 gamedev promises is code portability. There's much less fragmentation of a game's codebase. Many developers end up hiring contractors to port their game from its original platform to a different market, and the hope behind HTML5 games is that a developer would have the ability to reuse something like 90 percent of their codebase when shifting to other platforms.
Accessible
Everyone has access to a browser and a computer these days. Not everyone has an iPhone, or an Android device, or an Xbox. HTML5 games can be played by just about anybody with a computer.
Does the future of HTML5 game development look bright? I'm not sure. Many people think that it's a dead end not worth pursuing. Me? I think just like any new technology, it'll take some time for people to truly understand what it's meant to be used for, but once they do, it has a bright future.
Jay Margalus is a game developer at Lunar Giant, and chairs the Chicago chapter of the International Game Developer's Association. He can be reached @Poplicola on Twitter.