Difficulty Self-Correcting Enemies?

Started by
19 comments, last by Nice Coder 19 years, 2 months ago
I've been thinking lately (i seem to be doing it a lot, actually). Why don't they have games today which adapt to your gaming style. For eg. If you keep sneaking out at guards, won't they be a bit more alert? How about you take the players recent history, for eg. How accurity it is, how often the enemy dies unaware, ect. and you use that to change the enemies awareness. For eg. if every guard has died from behind, without knowing it, every new guard would be constantly be searching around it. This would force the player to adapt it habbits. Perhaps some sort of learning system, could learn what the player would do, and how to counteract it? From, Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Advertisement
I believe there was an article about something like this in Game Programming Gems 4. The concept was to have a self-altering AI to present a constant challenge to the player, but also dumb down when necessary.

Basically, you could simply have the AI have personality genes that all come from the same pool. If a guard dies, then his genes are removed from the pool. If a guard "survives" a certain amount of time, his genes are re-added too the pool.

Eventually, over time, the "weaker" guards would be weeded out. However, to do this at the speed at which you are talking about would be very difficult with genetics.

But I would probably still try it.
AP was me.
that'd be neat as long as you didn't end up with uber-guards halfway through the game. i would prefer them to remember things and take the situation into account personally. it always annoyed me when i'd accidentally miss when i was killing someone from behind, and i could just run around the corner and wait a moment before trying again. sometimes you can just slaughter the lot of them and turn off the alarm, and any guards not already there just stand around dumb as ever.
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
What i was htinking of is that the guards have a set of variables.

Things like alertness index. (which changes randomly, and spikes when there is an alarm, or when it sees or hears the player). It goes down, very slowly. (so, youd have to wait 1/2 an hour to get that guard nearly asleap again. assuming you didn't have knock-out gass on you).

You also have things like, probability of jumping sideways when approached, accurisy index, ect.

Now, whenever a guard dies, the preceding events changes these variables. But theyh eventually level out. it just takes some time. (quite some time, for some things).

Maybe make the variables dip slower, each time they were spiked.... the slowing down being preportinoal to how heigh they were...

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Quote:
I believe there was an article about something like this in Game Programming Gems 4. The concept was to have a self-altering AI to present a constant challenge to the player, but also dumb down when necessary.

Basically, you could simply have the AI have personality genes that all come from the same pool. If a guard dies, then his genes are removed from the pool. If a guard "survives" a certain amount of time, his genes are re-added too the pool.

Eventually, over time, the "weaker" guards would be weeded out. However, to do this at the speed at which you are talking about would be very difficult with genetics.

But I would probably still try it.


Evolution, maybe that would work. But some sort of learning system would be able to work faster, to change the variables (previously mentioned). With the learning system, you could get it to "forget" things once in a while. to stop things getting too uber, that you end up dying.

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Sorry, but I don't think that would be a good idea "gameplay-wise". If you want to produce a good game, in my opinion, enemies reactions must be predictable (to some level). Gamers need some consistency if they want to say, plan the way they'll attack a camp. They must know that they'll be able to get from behind guards A and B before trying to reach building Z...

I'd definitely prefer to have game designers tweak different enemies, and have them placed with a progression in the maps than having self modifying enemies.

Also, how would you explain that the remaining guards learn from the dead ones? Were they there to witness how the guards were killed?

I wouldn't mind self-corrections in games you fight someone over and over, without killing each other... like sports games or RTS (no learning at the unit level, but at the "commanding" level) would be a good place to start with "learning" of tactics the player uses, but I'd hardly see place for learning in FPS/action games...

My 2 cents...

Eric
I would like to see more games that learn your tactics. The thing about most games is as soon as you learn the tactic that always works, the game becomes boring. AI that learns would force you to try different tactics.

In my opinion, if done right, this would not prevent the player from learning tactics that make them effectively invincible, the tactics would just be more complicated. Say when the AI starts to respond to one tactic, you would switch to another and catch them blindsided. I think this would be fun.

[Edited by - Drethon on January 7, 2005 11:26:35 AM]
- My $0.02
Definitely a nifty idea, and one that I've thought about before but never seen done. If done properly, I can see how it would add fun to certain types of games. Of course, doing it properly may be the hard part.

One potential problem I can foresee is if you're not careful the guards (or whatever) could end up repeating the same two or three AI patterns. For example, Petra (the player) likes to sneak up on guards and backstab them. So the new guards are more aware of their immediate vicinity (and consequentially less aware of what's going on further away [you can't make these guys invincible]). So Petra learns how to use throwing knives better. So the guards start paying more attention to things farther away. Petra still knows how to sneak around and backstab, so she goes back to doing that. New guards pay more attention to their immediate area, and the cycle repeats.

Another pitfall I can see is if Jim likes to sneak up on guards and then shoot them in the head, the game may register that as a headshot, and so guards will be looking out for snipers and be less aware of someone sneaking. So Jim can more easily sneak up to guards and shoot them in the head.
I do not think that they should permenatly learn to adapt to the player but only for a cirtin amount of time. Like if three gaurds are standing around and one gets waxed in the head, the others arent just going to stand there or run over to the body to find out whats wrong. They are going to get the heck out of there and take cover while searching for an enemy and try to get backup. They shouldnt be like that for the rest of the game, hiding and searching but over time they start going back to normal.

This topic is closed to new replies.

Advertisement