Friday, February 5, 2010

a-MAZE-ing

Always trying to create good looking maps to test with. But as I'm not a very good modeller/mapper/texture artist, it takes ages and the end result still often dissapoints. That leaves me no time for developing other aspects of a game... such as gameplay.

So for a change, I created a big maze. An ugly simple map made of many corridors. To hide its uglyness, I used Maybelene mascara; a thick layer of fog. The fog does more than that though, it also hides a big threat in this claustrofobic world; a big, slow wandering creature. You can hear it, but you can't see it...

To be honest, that monster model has yet to be finished. Biggest challenge is writing a proper skeleton animation system + doing the skinning somehow. For now, a not-so-impressive, non-animated, Goldeneye look-a-like dummy soldier "ice skates" through the world. Making funny sounds (Halflife2 Combine chatter). But at least he finds its way in this mess. He's even kind enough to dodge me when I walk on his path, instead of rudely bumping me away. Meet mr."dummy":

Now I got to change this polite fellow into a monster.
- Proper pathfinding, picking logical points
- Realistic behavior when being unaware of you
- Scanning for threats
- Usings its ears
- Fuzzy logic when searching you without having a visual
- Predict your path in the maze
- Hurt you
- Being hurt
- Roarr! Moawn! Gorgle! Grrrr!
AI sucks in many games. Yes they might be 'smart' or tough, but I still feel an unfair balance. Either I can heal myself thousands of times in notime with neat medkits, and bulldozer over entire armies. Or vice-versa. Russians that pop me with a Makarov pistol while I'm lying in the bushes 500 meters away, monsters with ultrasonic hearing and X-ray eyes, and most annoying, Soldiers that happily continue their path just after being shot in the knee, head and balls.

This maze is a good playground for tuning AI. Make it difficult, but not unfair. The player must sense a learning curve, and use its skills. Not sheer luck, sixty medkits, or the auto-save. But most of all, let's see if this scenario can actually scare someone. I was making a horror game remember?

void TECH()
{
For the tech geeks, AI is done for most parts into Python scripts.
That means behavior is not fixed engine code. The engine just
sends events like "threat in sight", "path blocked", "second elapsed",
or "ouch, bullet in my head". The script does the rest. Except for
heavy duty tasks such as A* pathfinding, finding tactical spots or
updating the sensors (sight, hearing).
}
To finish this week, here a sneak preview of the maze-enemy. Although this won't be his final shape (look's too much like the Doom3 Hellknight). More next week!

No comments:

Post a Comment