Monday, 10 March 2008

Belated title edit

This blog has languished of late. Between being ill (damn colds); looking for a flat; and my native bone-idleness taking over much of my time; it's fallen by the wayside.

I must confess, over the past weekend I've also been indulging in Dwarf Fortress and DDO. It's research, damnit!

The (still un-named) roguelike does ooze forward, however.


After a great deal of deliberation, the mesoamerican theme has won out. I've got some reference material, and there are so many shiny possibilities inherent that all the other setting concepts seemed quite underdeveloped in comparison.

The first race to be constructed will be based around the Maya, Olmec and Aztec kind of area in mundane history, jazzed up a little to be generic-fantasy-race (bee-lizards!) rather than boring ol' humans.

I'm very tempted to further abuse the setting, and pull it forward to steampunk level tech. This might be poorly suited to a Roguelike, however, so I'll probably put that on hold and go for an easier tech level: primitive but with medium/high magic. The first race will have little access to metals, for example. But who needs iron when you've got a magically hardened axe of green obsidian?


This needs more focus. The basic mechanics are shaping up relatively well, but I need to find more ways to support the main themes of the game. Not sure how this is going to work, yet. Due to the desire to have lots of combat kicking around, thematic stuff may be largely present as world flavour (especially magic) rather than in the core rules. This seems a bit of a wussy approach though.


After a desperately needed refactor, the code base is a lot nicer to mess around in. I've been prowling unproductively around some rendering and world generation issues, but in the meantime the planning AI is shaping up well and the engine basics are looking a bit more coherent. Prototype modules such as the console and database wrapper are migrating into a game-worthy state. Hardly exciting stuff, but very useful.

Currently, I'm most excited about the planning module. It's quite general at the moment, manipulating any object that represents a world state. My test code uses a list of string-int tuples and has actions that do basic addition, subtraction, multiplication and division on the ints. You hand it a start state and a goal state, and it generates a list of actions that get you there (or in the case of a failed attempt, a list which get you as close as possible).

It's not admissible, and to make it more suitable for interesting responses it has a bit of random weighting, so it's not guaranteed to produce an optimal plan. But doing the optimum thing all the time's dull anyway. There are some big question marks still remaining over how the goal state is generated, but those bridges can be crossed later.

Random thoughts

I've seen a few people of late postulating that the goal of the AI should be to act out the role expected by the player, i.e. to do something interesting, fail, and die horribly. I've also heard it said that games which procedurally generate encounters will always be inferior to scripted fights because there's no designer in the background saying "Oh, what if the Foozle turned out to be the player's long-lost aunt? That'd be cool!" and pulling the strings.

Recently, I think I've decided that both these standpoints are bollocks, at least as far as my taste in games is concerned.

  • For the first, how devastatingly crap is it when the almighty villain makes schoolboy errors in executing their dastardly plan? Especially when they're supposed to be superhumanly intelligent masterminds! What is this, a Bond film? I want a nemesis who tries its damnedest to kill the player, using every last erg of its strength and every scrap of wiles I can throw at the AI. At least beating it will be a genuine achievement rather than some preordained thing. Good AI is certainly no panacea, but it seems a lot better than artificial amateur dramatics.
  • In the second case, it's more a question of taste, genre and the competence of the designer, but my main objection is that often these 'cool ideas' are forced upon the player. If in the first encounter with the Foozle you pull off an amazing feat of violence and completely slaughter it, there's little more annoying than the good old Cutscene and Badguy Escapes To Fight Again! because the designer didn't want you to kill his or her personal baby. Not yet, anyway. That wouldn't be cool enough. What's not cool about killing the Evil Overlord when you're level 2?

No comments: