Since coming to Berlin almost exactly a month ago, I have spent a large part of my time [drinking coffee][coffee]. In addition, I’ve been working on what was supposed to be a quick game. It never is. One common thread in all my previous games—besides the rough edges—is random level generation. Not a single one of the games had hand-built levels. The closest I’ve come is building blocks of levels and randomly stitching them together. I decided to change that with the recent game.
Which means building a level editor. Ever wonder why many level editors for games are obtuse, buggy, and/or confused? It’s because you didn’t build that. If you build your own level editor, it will just be buggy. All the idiosyncrasies, oddities, and user-hostileness are easier to code, and Stockholm Syndrome sets in rather quickly. Can you build a level? Then it works!
The other gotcha: the editor takes a lot of time to build. I’d estimate the work was 40% engine/game, 30% editor, 30% content. Given that I make games primarily to code, and secondarily to actually make the game, this works well. But if you just want to make a game, you can cut out the editor and at least half, if not more, of the engine/game work, by leaning something like Unity. That leaves you with <50% of the work to get a game running.
I’ve enjoyed working on the game, but I discovered halfway through two very serious problems. My goal was something like [N][n_game] but with a ninja rope. Ninja ropes are cool. The issue comes in when making a game like N without copying all the features from it. To make the game more interesting, it would be trivial to add homing missile launchers—copied straight from N. The other issue was one of scale. Given the massive mobility afforded by a ninja rope, one can swing across the screen in one motion. If each level is only the size of a screen, levels are over rather fast. As a player, this can be exciting only if the levels are varied, challenging, and quickly restart (see Wario Ware). Oh, it also requires building a lot of interesting levels. See problem one - to do that, I’d need more widgets to add.
Note both of these problems are solvable, but I want to take a break from this game. I’ve had a few ideas kicking around in my head for a long time, and I think one of them has been thought out enough to start the prototype phase. And so, I give you [Ninja Rock - A Game of Rocks and Ropes][ninja_rock]. 16 levels (plus two tutorials) of swinging fun, filled with lasers and lava. A few of the levels are greyboxed, a few of them could use various graphical tweaks, but they show a decent variety of skills. Oh, also, no sound. It would be super helpful for the single level that has a timed switch, not to mention a warning of when lasers are to shoot, but sound is a lot of work I don’t want.
So, yes, enjoy the prototype and maybe the [level editor][editor] if you want to put up with my jank. And look forward to some concept and progress posts for the new game.
: The only reason I used pre-built blocks was so I could hard-code pathing into the levels themselves, saving all the trouble of writing an AI for navigating a platformer level. If you only have 48h, you do the easy thing.↑ [coffee]: /blog/2013/09/25/third_wave_coffe_berlin.html [n_game]: http://www.thewayoftheninja.org/n.html [worms_2]: http://en.wikipedia.org/wiki/Worms_2 [ninja_rock]: /ninja_rock/ninja_rock.html [editor]: /ninja_rock/le.html