Quest, the roguelike game

This is the development diary of the roguelike game Quest: a quite simple game written in Python, mainly for learning purposes.

Thursday, January 12, 2006

Smarter AI, module requirements

So, besides some more bug-fixing, two little new features put in today:

Monsters are smarter. Not very smart, mind you, but at least they react to more than just what they see. I'll explain with an example. Before, if an ogre saw a yummy player (interest rating: 5) and a torch (interest rating: 1), it would obviously start going for the yummy player. But if the player goes around a corner and disappears - the ogre would look around, see the torch, and go for it. Now, though, the ogre remembers the player. He thinks he was indeed much, much nicer than the crappy torch. And then, the ogre walks up to the last place where he saw the player - and many times, from that position he will be able to see the player running along a corridor...which means he will keep going for his @-snack. On the other hand, if the ogre reaches the place where he saw the player and he can't see anything, he will forget about the player, focus on what he can see, and go back for the torch.

You might make some smartass comment like "Ok, but the ogre forgets about the player once he gets to the last place where he saw him. Not very good at following, is he?". You know, you're right. But I'm adding a system that will make the ogre be able to follow (if you're not very stealthy, and/or the ogre is very good at tracking you). And that system might actually make the Stealth attribute useful too! Yay! You'll be able to "cover your tracks" and also to follow monster's tracks (if one is fleeing from you). Hobbits might be a little beefier then - but still underbalanced. On the other hand, the next step will be to make Stealth lock/unlock doors without the key - which will make hobbitses very hard to catch indeed (they will be able to run, cover their tracks, leave locked doors behind them...)

The second change: modules now have requirements to join. Before, all you needed to play a module is to not have played it before with that character. But now, modules can have minimum/maximum fame requirements. This way, I can make a "tutorial" module that requires that you have fame 0 (that is, you suck), or an "advanced" module that requires that you're a kickass adventurer (say, fame 20). I plan to add more requirements, but not for this version - like having completed specific modules before, being of a specific race, having certain attributes to a certain level, etc.

Even though I've added quite a few things lately, I'm hesitant to make a release. On one hand, I've fixed bugs that made the previous nasty, but on the other I'd like each release to have enough meat that you can notice the difference pretty fast. I'm not sure what to do.

0 Comments:

Post a Comment

<< Home