Monday, December 7th, 2009

JavaScript Gaining Traction with Game Developers

Category: Games, JavaScript

We received an email from Joesph Huckaby about his new JS-based game rendering engine and I have to admit that when I first read about it, I was a little skeptical about it mainly because I’ve been disappointed with many that I’ve seen in the past. As I dug into his site,, my whole opinion changed as I saw some very robust demos that clearly demonstrated the capabilities of this engine.


The games are powered by the “Effect Engine”, Joseph’s JavaScript/DHTML library that provides the framework for displaying and animating all the graphics, playing all the sounds & music, handling the keyboard & mouse, and sprite collision detection. It can smoothly render multiple layers of parallax scrolling tiles and sprites using pure DHTML. HTML 5 Audio is used where supported (currently Safari on Mac OS X 10.5 only, 10.6 and Firefox coming soon), and 3rd party extensions used elsewhere. All modern browsers and platforms are supported, including IE 6+, Firefox 3+, Safari 3+, Chrome 1+, and Opera 9+.

The team has also created a suite of online tools to allow developers to prepare and design their game online including managing graphics & audio, creating levels for their games and manipulating graphics in real-time using non-destructive filters (scaling, rotation, and a number of other transforms).

Developers can build their games locally on their Macs or PCs, and don’t have to upload any code until they are ready to publish. Once ready, developers can compile their code automatically using Google Closure, and receive a unique URL and embed code to share the game on their own site, blog, or anywhere they want.

In looking through the documentation, it looks like the whole API is very well laid out clearly documenting the breadth of methods available and the Getting Started guide is very comprehensive.

I didn’t find anything that discussed licensing or a potential pricing model so that’s something that you may want to look into before diving into this but from what I’ve seen, the engine looks very promising.

Posted by Rey Bango at 8:45 am

4.2 rating from 60 votes


Comments feed TrackBack URI

Wonder how well this runs in mobile browsers, Nintendo Wii and PS3?! Could open up some interesting cross-platform gaming.

Comment by Phunky — December 7, 2009


Comment by T3hB4tman — December 7, 2009

I doubt it, the PS3 browser really sucks

Comment by Jeria — December 7, 2009

This is a nice service, but there is no option to download the engine for local only or offline use. You can have local assets and code, but not the engine. Even then, you must publish your project on their site for the rest of the web to have access. On one hand, this solves hosting issues for you your code. On the other hand, if the site decides to pull your content or feels like placing advertising on your project page, there is little you can do about it.

Comment by RSarvas — December 7, 2009

@RSarvas We are actually working on an “offline” feature, and the ability to “encapsulate” the entire engine to run by itself, without needing our servers. There are a lot of technical hurdles here, because much of the magic behind the engine happens on our servers (automatic image resizing, rotation, effects, sound conversion, etc.). This feature is still being designed, but is definitely in the works. Thanks for your comment!

Comment by jhuckaby — December 7, 2009

@Phunky @T3hB4tman Some games will work fine in mobile and console browsers, such as puzzle or possibly RPG games. Unfortunately tho, when you add things like parallax scrolling and hundreds of sprites, you really need a true PC to keep the frame rate to a playable level. That being said, the CPUs / GPUs in the PS3 *should* be able to handle these things with the right browser engine (Webkit + V8 for example :)

Comment by jhuckaby — December 7, 2009

“I didn’t find anything that discussed licensing…”

The API’s are proprietary, and the EULA seems quite restrictive. This is a shame. If it were more open, I could recommend it for use in the games course at my university.

Comment by otakuj462 — December 7, 2009

@otakuj462 we’re revising the EULA heavily to be less restrictive. The last thing we want is to discourage people from developing games or trying the engine and services out. Please watch for a blog post about it on

Comment by mchang — December 7, 2009


Comment by Schale — December 7, 2009

While the effect game engine is interesting, I think this merely confirms what I’ve always thought: It’s good design and high production values, and high quality audio that JS has lacked in terms of good games examples. It has always been a decent platform for games, but nobody has ever been willing to invest the time and effort necessary to make a good game that happened to use these technologies, because of the misunderstood nature of the language and platform.

I remain sceptical about the value the effect engine itself adds to the platform, but it does at least provide a good proof of concept that these things are possible, and may prove to get more people interested in investing the effort into making high quality games using JS.

Comment by Breton — December 7, 2009

@Breton Thanks for your comment. All good points, but do consider that one of the most difficult challenges with any JavaScript project (and games are no exception) is getting it to run across all browsers and platforms. For something like a large scrolling tile plane and thousands of sprites with multiple layers of parallax scrolling, and juggling that with low-latency audio that plays in any browser, it is a nearly an impossible task to tackle from scratch. The Effect Engine does all the heavy lifting for you, and provides a simple API for coding your game. Write it once, and it runs everywhere, including IE 6 — the most difficult browser of all.

Comment by jhuckaby — December 7, 2009

@Breton …”to get more people interested in investing the effort into making high quality games using JS”, we can not agree more with this point. Without going into too much of the story behind Effect, we actually started with the ideas for games. The engine and services grew organically out of these games ideas and in turn, the game ideas evolved with developments in the technology.

To walk smack dab into what’s becoming a cliche, “it’s about the games”, so we couldn’t agree with you more.

Comment by mchang — December 8, 2009

Definitely nice and impressive. I don’t think I’d ever use it myself because of the whole “service” model, which is kind of what it is… for some things I’m all for that model, but a game engine… that’s a tough sell to me. Game programming specifically is something I prefer to be in as much control as I can… it’s great to use libraries and engines and such to be sure, but I feel like this might take that a bit *too* far. That’s for me, others may well love the idea of offloading all that responsibility.

In any case, you’ve got a real nice-looking product there for sure! Only thing I noticed bad was every few seconds I’d see a stutter… my educated guess is it’s GC activity, having seen that same symptom in my recent webOS work. It’d be kind of odd to see it on a desktop though (and I’ve got a decent machine here)… usually, GC activity on a beefy machine is virtually non-existent, so if my hunch is right then it could point to an architectural flaw in the engine around object creation/destruction (indeed, that was the first concern I had when I read the description… the more abstractions in an app the more overhead there tends to be, which *generally* isn’t desirable in a game engine).

Still, I could be wrong about it being GC, and anyway I’m only mentioning it because that stutter caused me to die three times in a row in the Mario demo, which most definitely does not bode well for *any* game engine, so whatever the true cause I urge you to look into that and see if there’s anything you can do to avoid that because it could definitely prove to be a dealbreaker for a lot of people. I’d hate to see what looks like an interesting product not to well because of something like that.

Comment by fzammetti — December 8, 2009

Could always play the original SMB in an NES emulator written in JS! :)

Comment by spongeh — December 8, 2009

awesome work, though not quite sure why one wouldn’t just use Flash still… unless the games play well on iPhone? hmm!

Comment by blueskiwi — December 8, 2009

nice engine
very good

Comment by Aphrodisiac — January 15, 2010

Nice looking work. I’ve been designing arcade style games in Javascript since around 2001, and I have always thought that JS is as powerful as Flash for games. It’s great to finally see other game designers embracing javascript.

For those interested, you can check out my JS games on I have now ported most to Flash (for easier licensing to third party sites), but I continue to design in JS and keep the originals on my site.

Cheers all

Comment by bsilby — October 18, 2010

Leave a comment

You must be logged in to post a comment.