Super Mario in JavaScript!

I was just reading this post on Arcade games and nostalgia on Coding Horror when I just came across this amazing implementation of the classic Super Mario game in JavaScript at nihilogic!! Everthing about the game is in JavaScript including the sound version which is supposedly base64 encoded! And to top it all, it is written in only 14KB of code! An amazing feat indeed.

Everything about the game is in JavaScript with no images or audio files used as quoted above. I tried my hand in it and the game was pretty decent enough, but the point here is not the game, but the fact that you can do so much using just a little JavaScript!

Check out the post here and the games with audio, without audio, with audio(2x size) and without audio(2x size).

But when it comes to Standards, Sorry Mario, but our Princess is in another castle!

Spry – Adobe Labs

I just came across Adobe Lab’s AJAX offering, titled Spry. Creating dynamic applications seems to be a breeze for non-programmers and time-saving for regular programmers. This is a completely client-side set of libraries with no dependency on any other downloadable or server side component.

A good set of demos are provided alongwith code samples that show how easy it would be to deploy Rich Internet Applications that can be rapidly developed by mashing up components from Spry to come up with your final RIA. Quite a few visual effects top up the icing on the cake. Spry also has pre-built widgets which you can customize out of the box. Quite a lot of other widgets that aid in form validation are also provided making it easier to validate form input too.

Just to refresh my memory, I checked out OpenLaszlo, another open source framework for RIAs, the last time I saw it, it seemed to be relying overly on Flash, but on my latest visit, found that there was rendering in DHTML too from version 4 onwards. Though I am not a critic of Macromedia Flash, er Adobe Flash, there are many things that can be achieved without going for plugins like Flash, which ultimately lies with the way the designer designs the system choosing whether or not to implement plugins for simple functionality.

Check out Spry here.