A nicely done remake of the old Apple II / Atari shooter game Crossfire.
The graphics are nice and fit the game well (and resemble those of the original game). This is a
canvas-based game. Everything is rendered onto one single canvas at a reasonably small resolution, but the canvas is then upscaled with CSS. As this is a WiiCade game, it has also been made with the goal making it playable on the Nintendo Wii.
An 8080 emulator capable of running the classic Taito games Space Invaders, Lunar Rescue and Balloon Bomber.
The output is a
canvas element so it only runs on canvas-enabled browsers, and even then support is limited. At the time of this writing, Firefox 3.1 or Safari 4 beta should be your best bet.
Audio output is done with the help of .ogg files and the new HTML5 audio element, it didn't work too well for me, though - it only slowed down the emulation drastically but still no sound. YMMV.
Read Bruce's blog post for more details, including links to implementations on other platforms.
A DHTML Tetris clone with multiplayer capabilities.
A nice game if you're looking for some quick head-to-head Tetris action, although I must admit I'm not a big fan of the trippy background (holy acid trip, Batman). The source code is nice and readable (with comments) should you be interested.
The old adventure games by Sierra Online were made with a tool called AGI (Adventure Game Interpreter) and this is such an interpreter written in JavaScript.
It seems António Afonso shares some of that love since he decided to make his own AGI interpreter, bringing at least one Sierra game to the browser, Leisure Suit Larry in the Land of Lounge Lizards. In the LSL series of games, the basic goal is to get the anti-hero Larry Laffer laid. Unfortunately he's followed by neverending bad luck and continuously gets himself into trouble many times resulting in pain, deaths and of course lots of laughs.
In António's version, the game graphics have been exported to PNG files, the game logic has been converted to JavaScript code and an XML format is used to bind everything together, served via Ajax. It's a few features short of being complete and stability can be a problem, but it's an impressive feat nonetheless and just seeing Larry in my browser makes me all giddy despite any problems.
A partial remake of Wolfenstein 3D, the legendary FPS game by id Software, this time created with canvas.
canvas (see Canvex and Canvascape). However, when I set out to make this demo, the goal was to test some "real" 3D code I'd been working on and so this game does use raycasting. This creates a couple of nasty artifacts in the rendering, but all in all it should be playable.The enemies are only partially implemented and don't do anything besides standing still and getting shot. There is also only the one level and no other weapons. The music is embedded MIDI, the sound effects are MP3s played via SoundManager2.
Check the blog posts for more details if you're interested.
A puzzle game similar to Bejeweled made with MooTools by Markus Inger.
As you progress, the variety of blob types will increase, making it harder and harder to find valid groups. A timer makes sure you can't relax for long. The game, which was built with MooTools, is well done and looks very professional.
A bit of Super Mario all in one JavaScript file, graphics and music included.
The game aims to recreate the Super Mario gameplay and parts of the first level of the classic NES game using only JavaScript. This means that all the sprites are created at runtime with tiny
divs or, if possible, drawn on sprite-sized canvas elements. The sprite data is included in the code as encoded strings. The (admittedly horrible) MIDI tune is stored as base64 encoded data and embedded as a data: URI. The embedded sprites were also discussed in detail by John Resig.Check the original blog post for links to a smaller version as well as music enabled versions.
And if you're looking for a not-so-tech-demoish game of Mario, be sure to also check out the more complete Super Mario clone by Guillermo Bruchmann.
A canvas experiment using "Mode 7"-like techniques to make a racing game like SMK.
The
canvas element was used heavily in this game to rotate, stretch and position slices of the map to simulate perspective. The technique is similar to the "Mode 7" graphics mode that was used on the SNES to create this and other effects. A bit of embedded MIDI music is thrown in for good measure. A few more technical details are available in this blog post.
"Shoot the angry rotating shapes before they run into you! Three exotic space themed backgrounds!" - A Geometry Wars clone by Geoff Blair of Yahoo! Games.
The page says it's a prototype, so I'm hoping Geoff will put some more work into it as it's already looking pretty good as it is. The animated sprites are made with a CSS sprite technique. I'm thinking a game with graphics like these (mostly simple shapes) could benefit from
canvas, but doing it the old-fashioned way does have the benefit of cross-browser support.The code is available on GitHub but I couldn't figure out what license he's using.
A JavaScript RPG game engine with a small demo game.
There are several pages on the website dealing with development of games using ProtoRPG, so if you've ever wanted to make your own roleplaying game, here's your head start.
The game relies heavily on the Prototype and Scriptaculous libraries (the reason for the name ProtoRPG, I presume).
Drop bombs to blow your way through the 2D maze and kill the monsters in this DHTML Bomberman clone.
The animated sprites are done with
div masks, the sound is provided by a bit of custom Flash. There is also a multiplayer mode which I have not tested, but the author says it is quite buggy, so maybe that's just the same..
Control a swarm of heroes in a battle against Digg in this mashup of social media and arcade action.
canvas graphics. The result was this unusual shooter where enemies are spawned when stories are "dugg" on Digg.com. The number of diggs the story has dictates the size and strength of the enemy and the number of points gained from blasting it to social media hell.
Along your way to internet stardom, you'll meet various obstacles ranging from simple blocking structures to electrical zappers and black holes. But don't worry, if you're so unfortunate as to lose all your heroes, you automatically get reinforcements for the low low price of 25% of your accumulated score.
With the exception of the black holes and the pre-rendered text, all graphics in the game are created with
canvas. Digg data is brought in via JSONP calls to the Digg API. There are no sound effects, but there is a music track (that you can turn off if you don't like it), made possible via SoundManager2. The music is by friend_kami and brainworks, all released under Creative Commons licenses and found at SectionZ.
The original blog post has many more details about the game.
A nice "Space Invaders" inspired game with sweet graphics.
My only complaint is that it's a bit sluggish (for me, at least). Everything seems to have been made with simple DOM elements and GIF files for the sprites. Sound effects have been made possible via SoundManager2.
Make sure you also visit Mark's blog where he talks about - among other things - the development of Invaders from Mars.
A very detailed walkthrough of how to make a Breakout clone with JavaScript and the canvas element.
canvas, starting at the very basics with simply drawing a circle on a canvas before moving to collision detection, keyboard input and everything else needed.
The game itself is not very fancy, it just has the most basic features found in games like these (ie. a paddle, a ball and bricks to destroy), but I suppose that is expected since we're dealing with a tutorial and not a full game. If you're looking for something more advanced in terms of gameplay, I suggest you check out DHTML Arkanoid.
A cute, side-scrolling racing game where you have to watch your gears and steer clear of obstacles.
RedLine uses the gameQuery library (an extension to jQuery) which also enables sound with embedded Wave audio files.
Try to stay alive while fighting off hordes of zombies in this survival game.
Nonetheless, this could become a pretty sweet zombie shooter game with a bit of work. The graphics are nice (although borrowed from various free sprite/tile sets) and there's a sound track that you may or may not like. The neatest feature of the game has to be the motor cycle that the protagonist is somehow able to pull out of his pocket. Nice!
The game powered by jQuery and uses a bit of Flash to get the sound going. You can choose between a
canvas mode and a HTML/CSS mode with varying performance depending on which browser you're using.
"There you are... stuck in space with a 4 directional firing system and LOTS of block aliens." An interesting, abstract arcade shooter.
The graphics have a wonderful pixelated, arcade look to them that I really like.
A retelling of the fable about the tortoise and the hare, this time in arcade form, Silby style.
You (a turtle) start out bound to the earth with enemies coming at you. As you shoot your way through them, you pick up upgrades that give you two-directional fire and eventually the ability to fly. You'll need these as enemies start coming from above as well and before you know it they'll be everywhere - as seen in the second screenshot.
The game was made with DHTML and CSS sprites for animations. There is no sound.
A Pong-inspired game with a cooperative twist. Rather than compete against the computer, try to see for how long you can keep the ball going.
Noah Hayes decided to recreate the old Pong, but instead of making it the usual game of trying to out-pong your opponent, you must now try to do the exact opposite and keep the ball from going past your team mate. Nice touch on an old game, implemented through good old DHTML with a touch of Prototype and Scriptaculous.
Who says there's no juice left in Pong? Throw in 4 paddles and you've got a fun and very challenging new game.
This twist on the old Pong game is brought to us by Steff Luczyn who also made the typing twitch game, Finger Fandango. The changes to the original Pong mechanics are simple yet powerful. The goal is as always to keep the ball from hitting the walls, but there are now paddles on all 4 walls and they're all controlled by you. Horizontal mouse movement controls the paddles on the top and bottom walls, vertical movement controls the left and right paddles. It takes a bit of getting used to this, at least if your eye-hand coordination is as bad as mine.
There's not much to say about the technological aspects (the code is unreadable), other than everything seems to be made out of div elements, not surprising, given the very basic visual appearance. That's not a bad thing, though.