21 comments

[ 5.0 ms ] story [ 64.8 ms ] thread
The "Jaws is very much work in progress, so expect big changes within the first months of 2011." is outdated or has a typo. https://github.com/ippa/jaws/commits/master appears to have active development.
Ye, github, the source and the examples is where it's at. The homepage has become less relevant. Thanks for reminding me to remove that line.
Looks nice! The code looks easy enough to get started. And I love the setup(); update(); draw(); game state methods. That's how I used to do it in ActionScript3 before.

I'm actually now diving into HTML5 game development as well and I was wondering what's the advantage of Jaws.js over Easel.js?

Looking over the documentation for the two libraries it seems like they have different goals with minimal overlap. Easel.js is basically a clone of a subset of the Flash API, while Jaws.js is a small game engine for building HTML5 platformers and is comparable to Flashpunk. It has classes for tile maps, parallax, etc.
Thanks for the reply. I just checked Jaws' documentation, and it seems to be perfect for my little turn-based strategy game. I've had experience using EaselJS before but the problem is that I'll also need to build something on top of it to make it work as a game.
You might also want to check out Haxe NME (http://www.haxenme.org/) since it targets html5. Haxe may be a good fit since you're familiar with ActionScript.
On the note of Haxe I ran across http://haxepunk.com/ ( a Haxe port of Flashpunk) a while back, haven't tried so I don't know the quality of the port but Flashpunk is good library.
Not saying this isn't awesome... but don't there seem to be more HTML5/Javascript engines/libraries/toolkits than there are actual decent products or games?
Check out Chromes web app store's game section. There are some amazing games being built with html5/js.
The problem is, none of the engines so far even come close to the quality of decent game engines on other platforms. They've all got seriously rough edges, bugs, missing features, etc., to a point where there's not even a clear winner yet where further community development efforts get funneled.

Until there's a clear "winner" in the space, I'm happy to see more engines come out, maybe one of them will finally get close enough to a general purpose game engine that it will see some community involvement.

What are your thoughts on impactjs? I know it's not a general purpose game engine, but I'm just curious to see what people think it's missing. A lot, I'm sure, in terms of general purpose gaming, but how could it be improved for it's target games; tile-based platformers and top-downs?
I've created a couple of games with ImpactJS and have really enjoyed it. I think it's great for tile-based platformer games in particular. But (with enough programming skill), you can bend it to make virtually any type of 2D game. The code is very well thought out and organized. It's a pleasure to work with generally. Haven't used any of the other HTML5 engines though.
EaselJS is pretty good. It's not a winner yet, but, it's pretty solid and scales well.
It is still early, their day will come.
Yes, that's my impression as well.

I wanted something minimalistic and clean, without any dependencies. And I didn't want yet another "classes for JS"-pattern forced on me.

JawsJS is really picking up speed now, I know quite some ppl that used it for the last Ludum Dare.

Sigh. No sound.

I kindof understand why. If my recent forays into in-browser audio are any indication, it's kindof a mess. You need Flash fallbacks for older versions of IE, there are latency/seeking problems on browsers that do support the audio element, mobile support is even sketchier and limited to a single element, and that's just for playback of pre-generated media...

The documentation briefly mentioned supporting audio assets [1], but I haven't been able to find obvious examples of how to use them once they've been loaded. One of the provided sample games [2] had a soundtrack, so I dug through the source [3] a bit and discovered that there is an "Audio" class and some other undocumented functions that can be used with an "Assets" object to achieve playback. Looks like he's just coding to fast to keep everything written down. :)

[1] http://jawsjs.com/docs/symbols/jaws.Assets.html [2] http://ippa.se/webgames/unexpected_outcome/ [3] http://ippa.se/webgames/unexpected_outcome/game.js

HTML5 audio is kind of weaksauce atm yes. To support all major browsers I need to ship both oggs and mp3s for example.

Jaws creates instances of Audio() for each sound, loading them by setting the src-attribute and listening for the canplay event before making the asset as fully loaded.

Just google the Audio-tag, you have play(), pause() etc.

Ah, I was wondering where all the new github watchers were comming from, now I know. JawsJS is very much alive! I've had sort of a pause from development after working _A lot_ on it for a period. I'm always fixing bugs and accepting patches.

I got documentation at http://jawsjs.com/docs/index.html but I know it could be better. I've tried to make up for it with tons of examples.. I know I personally love examples when learning new stuff.

About sound, I would say it's HTML5 weakest point. I think both chrome and ff are working on new sound APIs so this might change.

JawsJS now support basic playing of sounds through the Audio()-element. Last time I checked in safari there was a delay though, making it slightly sucky for shooting-sounds and so on.

StrikeDisplay, http://strikedisplay.blogspot.com went to version 1.0 today, with a lot of capabilities, filters, multiline text justification, etc. It's not so much a game engine as an all-purpose interactivity kit/screen graph, with a display/event model based on AS3.