Friday, August 20, 2010

Tsel do Bahn, Part 1

I'm in Final Project now - a team of Internal Producers, Developers, and Artists making a game over the course of five months. We've finished the documentation stage, and the group has started on making the prototype: tough work for the developers, lots of back and forth with the artists... and nothing for the internal producers to QA test yet. While there's always a need to edit documentation, that work requires only one IP, not all four that I have in my team.

Since I'm also not allowed to program alongside the developers (for good reasons, admittedly), I've resumed a personal coding project that I started almost six months ago, and have worked on on-and-off as school allows. It's a Zelda-style game, with text-file scripts creating the rooms and interesting features (people, pits, blocks, treasure chests, and enemies). I'm using sprites from The Legend of Zelda GameBoy games, as well as Final Fantasy Adventure, so don't think I did the spriting work too.


The game in action - the hero, on the left-hand side, is about to push a block into a pit in order to travel beyond it.

My original goal was to create a simple Zelda-style game with Sokoban-style puzzles, where you push a block into a pit to turn it into passable ground, and that's where the name comes from (a portmandeu of "Zelda" and "Sokoban"). I've coded that entire functionality in this month, and I'm pretty happy with it, though I can already see how I can improve it a little.

I've gotten a few other things into it, too, as our documentation phase has wound down: multiple, switchable weapons with different stats and animations; a (rudimentary but functional) pause screen where you can choose between those weapons; tons of new functions for the scripting engine, like 'place actor', 'change sprite', 'change solidity', and 'change layer'; and map-specific dungeon keys, with a HUD ticker to keep track of them.


The rudimentary pause screen, with three weapons selectable in the corner.

Mostly, Tsel do Bahn is an exercise in me programming and designing a game with no constraints - there's no due date, no budget, no documentation. It's also an effort to keep my programming skills sharp, and to learn more about a reasonably common API (PyGame - though Tsel do Bahn also uses BuzHug for its databases). But, honestly, it's also an attempt to make the kind of game I want to play - an old-school top-down action-adventure, with puzzle elements, open to others to create their own quests.

It's also something I plan to continue with - I'm hoping to have enough tools, enemies, and interesting bits to make it a viably playable experience. My ultimate pie-in-the-sky goal would be to use Tsel do Bahn to complete NaNoWriMo; instead of writing 50,000 words of fiction, maybe I'd make 50 rooms of dungeon-puzzle action.

No comments: