Textgaem: Post 1

26 08 2008

This is going to be an exercise in making a game where wildly unexpected things happen on a fairly regular basis in a way that is actually fun to play rather than punishingly arbitrary.

There is a Bestiary, populated by an XML file, which contains all types of monsters, all possible modifiers, all abilities, items, what have you. Monsters are constructed by somewhat-randomly mashing these together, and then you are unleashed in a somewhat-randomly constructed dungeon with them.

The dungeon is going to be separated by floors which will be clustered by various dungeon archetypes. You’ll be in a mummy’s tomb, then you’ll be in a zombie-infested shopping mall, then you’ll be in a medieval castle. The source material for all of these will also be sourced from the XML, so adding content once the algorithms are all in place is going to be pretty close to “fast as you can type it”. That’s the goal, anyway.

I’m also planning on having some kind of scoring algorithm in place during the dungeon population phase that will prevent absurdly unfair things from spawning. A monster will get randomly generated, and its “score” will be compared somehow to the player’s level, and if it’s too lopsided there will be a large chance that it will be discarded. Details on this will be forthcoming.


DEBUG: Created a zombie with fireball
DEBUG: giving the zombie 'ennui' and 'boners ahoy' abilities
DEBUG: performing 5 actions from ability repertoire
The zombie is really disinterested. It sighs.
The zombie is really disinterested. It sighs.
The zombie launches a fireball past your head.
The zombie yells 'BONERS AHOY'. Perhaps you can tell him why.
The zombie launches a fireball past your head.


14 08 2008

Two weeks ago I hit a problem with the physics engine I’m using. There’s an IgnoresGravity property for each physics body, which I set for platforms. As it happens, the moment I turn on IgnoresGravity for a platform, Stick Ninja himself will also ignore gravity. Oh GOOD!

I wrestled with that for a little while on my laptop up in Mt Shasta, away from the hustle and bustle of Internet, but found that lack of in-code documentation for this thing was making me do a lot of guess work that I really did not feel like doing.

Now I am back in Seattle, to find that my desktop’s HD exploded and is no longer bootable. The often delightful Spinrite was unable to get it working again after a 30 hour run (can’t fault it for not trying, certainly), so now I’m waiting on Newegg to deliver some goods. My laptop currently has approximately 5 minutes of battery juice remaining, and its charger resides at the lost and found of a hotel in Walnut Creek, waiting for the manager to drop it off at the post office. I am updating this from school.

So I am really pissed off at Stick Ninja right now and I kind of want to throw all the code I have out the frigging window. Rather than do that, I am going to stick exclusively to design work for a while until I no longer wish death upon it.

I have also kicked off a little side project with Overkill which is a sort of text adventure roguelike that is going to be as randomly generated as we can possibly make it. I’ll start posting updates on that as well.