A lonely ninja in alpha stage…
I’m quite satisfied how far I managed to get on day one. My game is playable online, so I encourage you to click the screenshot below and give it a swing. Or just read on!
(Note: The game is hosted at a temporary location. Eventually, I’ll make it show up somewhere on frozenfractal.com.) (Update, 18 Dec 17:45 GMT: My host seems to be down. Sorry! I’ll move it before the compo ends.) (Update, 4 Jan 2012: Updated the link to point to the final location.)
The basic idea is a platformer with a ninja rope, like you have in Worms. The objective is to collect all coins, then make it to the exit. Your rope will not hold on dark surfaces. Nasty spinning wheels will kill you when you touch them.
All this is written in 675 lines of JavaScript, using the HTML5 canvas element and a little bit of jQuery.
Getting the physics to work was somewhat tricky, and I’m aware that there are still some bugs in that area. However, I’m quite pleased with the effect, and how much fun it is to swing around on your rope.
I initially wanted to make it possible to adjust the rope’s length with the mouse, by dragging it away from the point where the rope connected to the wall. It turned out that this was hard to get right with a moving viewport, since the mouse cursor is continually moving relative to the game world. Keyboard controls work better.
The level loader loads directly from Inkscape SVG files (XML), fetched via an AJAX request. This allows me to use Inkscape to directly edit the levels, which is very time-efficient. Magic colours are used to indicate which object represents what.
It’s incredible how effective a simple circular gradient and some noisy grain is to set the overall mood of the game. I had to draw it to a separate, static canvas and overlay it on top of the game canvas, otherwise it would be slow in Firefox (and in some people’s Chrome too, I heard).
The slack rope while shooting was a happy accident resulting from a bug, so I kept it and modified it a bit.
There are currently two levels, but only level 1 is somewhat finished and functions as a brief tutorial of sorts.
To do for tomorrow:
- do more with the theme ‘alone’; develop some kind of storyline
- add more levels
- create sound effects
- tweaking, playtesting
- add better sprites and animations, also to fit in with the theme
- add transition between levels
- come up with a better name
- particle effects?
- music?
