T:v Ai?

bartkusa said:
How can anyone be suprised by strategies in chess? It's not like the rules aren't clear as day.......

... I'm sorry, but the AI are not strategies in chess. A person playing chess is highly individual.. AI is programmed. The programmers can likely program individual AI reactions and individual personalities. One AI might favor the chaingun, or the disc, while another might love the rifle.. but it's still programmed. Game AI always (at least right now) becomes predictable. If you do something, they react in a certain way. Much the same way an experienced player might. The difference is that an experienced player might decide to change his strategy at some point.. the AI will only do so if it's programmed to. The AI in T:V is not self aware, and is only as advanced as it's programming. It's rules fit in to the programming it's given. Please, don't use that analogy again.
 
A system does not have to be self aware to be difficult to predict. As a simple example, if I program a solitaire game well, I won't know where the ace of hearts is going to be each time I shuffle.

I grant you, "surprised by their tactics" is perhaps too strong a phrase to use. I don't mean that bots should discover beacon hanging on their own. I mean that when you're going through a particular area of the single player game for the 200th time and you meet up with that duel specialist bot, it's still a unique experience. Maybe this time the heuristic that limiting my movement options offers it an advantage kicks in and it tries to force me into a corner by sending a grenade off to my left. Maybe it has even learned that it doesn't have to dodge much in the air against me while I have my disk launcher out, and that dodging closer to or further from me while falling throws me off more than dodging to the sides.

Anyway, yeah we don't have much info so its just speculation. My point was that as near as I can tell, crafting rockin AI isn't a core design goal in the same way that having a great story and having a fast-paced multiplayer game that builds on the unique movement of Tribes are.
 
You say learn.. as if a bot can learn something. I'd love to hear about any game you have played in which the game learned to predict something you would do. I doubt you can, because bots don't learn. They are programmed.

A bot being difficult to predict just means you program enough variety into it that you don't always know what it's going to do. That is far different than not knowing where the ace of hearts is in a game of solitaire, so please, again.. don't use poor analogies like that. You're saying that a random shuffle is comparable to an FPS bot, and that is simply not true. I have yet to play a game in which I could not, in some way, predict what an FPS bot was going to do. I'd love to hear of a game in which this wasn't true.

As for the AI in T:V, my point is simple.. assumptions that the AI is going to be subpar is ridiculous. A story is only going to take the single player so far. You need a challenge, and if a bot can hit you 10/10 times, that's not a challenge.. it's unrealistic. Realism might not be the focus of a game like T:V, but I assure you, the Dev team doesn't want to completely frustrate players. They want them to feel challenged, without them thinking "This feels so artificial."
 
UT2004 bots are quite good. At least they can use vehicles.
But they are rather nasty for there's no command for them to get on the same vehicle as you (Cover me sort of works)
 
Sojourn said:
You say learn.. as if a bot can learn something. I'd love to hear about any game you have played in which the game learned to predict something you would do. I doubt you can, because bots don't learn. They are programmed.

A bot being difficult to predict just means you program enough variety into it that you don't always know what it's going to do. That is far different than not knowing where the ace of hearts is in a game of solitaire, so please, again.. don't use poor analogies like that. You're saying that a random shuffle is comparable to an FPS bot, and that is simply not true. I have yet to play a game in which I could not, in some way, predict what an FPS bot was going to do. I'd love to hear of a game in which this wasn't true.

As for the AI in T:V, my point is simple.. assumptions that the AI is going to be subpar is ridiculous. A story is only going to take the single player so far. You need a challenge, and if a bot can hit you 10/10 times, that's not a challenge.. it's unrealistic. Realism might not be the focus of a game like T:V, but I assure you, the Dev team doesn't want to completely frustrate players. They want them to feel challenged, without them thinking "This feels so artificial."

Maybe you'd rather call it data collection rather than "learning", but certainly programs can be written to alter their output in response to past events. I don't know if there are FPS game bots do this, but that doesn't mean it's not feasible. As chess has been mentioned, I suspect there are chess programs that do this. Certainly many voice recognition systems have a "training" period where they "learn" to recognize your voice. I believe that many programs that deal with prediction (weather modelling for example) are "trained" by being fed a bunch of old observations and results, then asked to predict results for new observations using whatever patterns they've observed in the training data.

But it doesn't have to be that complex. Consider a bot falling back to the ground with you nearby in the air with your spinfusor out, showing no signs of falling. A bot may be programmed to consider this a very disadvantageous position, which might trigger some evasion logic. If there is no terrain or object in the area to provide shelter, the bot is left with trying to dodge. A bot might come from the factory with, say, 70% chance to jet hard in a single direction, 20% chance to jet one way and then back the other, 10% chance to just fall and conserve energy. After duelling you a number of times, the bot might find that jetting in opposite directions most often results in a favorable outcome, so it might adjust the probability of using that action in the future upward.
 
As far as I know, there have been "variable bot AI" that changes based on how good you are in the game (single player). I think this is the kind of "leaning" that Shoddy is trying to get at. While they are certainly not based on anything close to genetic or evolutionary algorithms, I also do not feel that it's entirely inaccurate to consider them "learning AI."
 
There are bot-learning programs, where your actions are somehow encoded and it looks for patterns.

Most games with adaptive difficulty (Far Cry comes to mind) probably just having something where their enemy-recognition range and accuracy get increased until the player comes out of battles losing a certain amount of health or something.


Still, emergent systems have a way of suprising. Sim games are great for this. I heard that in the development of Black and White 2, you can amass armies. Well, this woman was following the army, fucking them. Women are programmed to try to get pregnant, and she wasn't programmed to stop fucking when pregnant. So she followed the army like a whore, which is actually what happened in many wars.
 
Apotheosis said:
As far as I know, there have been "variable bot AI" that changes based on how good you are in the game (single player). I think this is the kind of "leaning" that Shoddy is trying to get at. While they are certainly not based on anything close to genetic or evolutionary algorithms, I also do not feel that it's entirely inaccurate to consider them "learning AI."

Right. UT2K4 has this attribute. The reason I don't consider it learning is because it's not.. it's a programmed response. The bot is doing poorly against you, so it's programming alters it's reactions and increases the difficulty of the bot. This ranges from the types of responses it has in a scenario to the bot's accuracy with a weapon. To me, that's far different than learning. See, the bot isn't learning anything. It's reacting to programming that is telling it to attempt to balance it out, so the bot goes from, say.. Beginner skill level to Intermediate. In other words, the bot isn't learning that while you are on the ground it should be using a disc, and not a chaingun. It's just programmed to do that when it keeps losing. The difficulty is increased, and that is just one of the new tactics that the more difficult bot has at it's disposal.

It can certainly feel like the bot is learning your style, but that's just an illusion.
 
bartkusa said:
There are bot-learning programs, where your actions are somehow encoded and it looks for patterns.

Absolutely. I've yet to see one in a game though, because I think the programming at this point is just a little too complex and as a result, expensive, for the results.

Most games with adaptive difficulty (Far Cry comes to mind) probably just having something where their enemy-recognition range and accuracy get increased until the player comes out of battles losing a certain amount of health or something.

Exactly, and that's the point I'm trying to make. The Dev team might have an adaptive system in mind, and I hope they do, because it can add a little more depth to the single player aspect in some ways. If done right, of course. No one wants to be playing the first Single player mission and find themselves playing the most difficult level bots because they smoked the easier ones.
 
Let me assure you we're trying very hard not to have the AI suck. :cool:

The thing to keep in mind, though, is that the goals for the AI in a SP game are quite different from those of a MP game. In SP you, the player, are fighting scores of opponents at the same time. Your objectives are also generally very quite different than they would be in CtF match, for example. So the challenge becomes to make the AI interesting to play against, but not so powerful they will wipe the floor with you. Especially since we want to use the SP game to ease newbies into the Tribes franchise...

What makes an AI fun to fight against? It should present a challenge, maybe do cool things once in a while you weren't expecting, but ultimately be beatable. In particular, it *should not* act like an expert human player, because what chance would you have against 5 of those at the same time? It's also not fun to be killed by an AI because he did some superhuman thing like having perfect aim. So the approach we are taking is to:

a) Have a bunch of recognizable AI "classes" that use a particular set of weapons and employ particular tactics, so the player can anticipate what these AI's might do when encountering them and formulate a strategy to defeat them.

b) Use these classes to gradually familiarize the player with the different weapons and tactics.

c) Have AI's do sensible things (i.e. not "look stupid"), but not be perfect. It's fun when you have the feeling you are fighting a fairly smart opponent, but the opponent makes a mistake once in a while you can exploit to gain the upper hand. What can also be fun is when the AI sometimes does something really cool and kills you, but you don't mind because you're thinking "hey that was cool, I wonder if I could do that next time?".

One should also not underestimate the importance of giving the player the feeling he's l33t and powerful when playing the SP game, so having some unsuspecting simple AI's standing around that the player can eliminate with a well placed mortar round is a valid design mechanic as well. Or having some AI's that can't jetpack whereas you can. The important thing is that not all encounters be that easy. :)
 
Irrational Marc said:
One should also not underestimate the importance of giving the player the feeling he's l33t and powerful when playing the SP game, so having some unsuspecting simple AI's standing around that the player can eliminate with a well placed mortar round is a valid design mechanic as well. Or having some AI's that can't jetpack whereas you can. The important thing is that not all encounters be that easy. :)

Great strategy. So when the l33t player joins the multiplayer, he gets his ass handed to him. ;) Just kidding.

Thanks for the update. Don't forget to name one of them Sojourn. Of course, he'll be one of the guys standing around for that well-placed mortar.
 
Apotheosis said:
As far as I know, there have been "variable bot AI" that changes based on how good you are in the game (single player). I think this is the kind of "leaning" that Shoddy is trying to get at. While they are certainly not based on anything close to genetic or evolutionary algorithms, I also do not feel that it's entirely inaccurate to consider them "learning AI."

In Artificial Intelligence research, "learning" is usually defined as the ability of program/machine to improve its performance based on previous experiences. So strictly speaking, even a simple AI that just improves its aim if it dies a lot is an AI that "learns". Of course, it's not a very interesting type of learning because the AI didn't discover the aiming skill improvement itself nor did it come up with the rule of when to apply it....

People often don't consider programs intelligent because when they discover how the programs work, they say "oh, that program is just doing search (or whatever) - it's not truly understanding what's going on". Chess programs are a good example of this. And it's fair to say that human intelligence is probably rooted more in parallel pattern matching than simple linear search. Nevertheless, maybe if we ever fully understand how human intelligence works, we'll wonder how we could ever have considered that "real intelligence"... It's all based on millions of neurons processing data under a set of rules, after all....

Oh, by the way, I did my Masters in genetic programming, and until computers are a whole lot faster than they are now, I wouldn't want to use genetic algorithms to adapt game AI... :roller:
 
Can you show off that Masters and explain this genetic shit? I can understand that sort of thing being expensive continually, but is there any way you could have it adapt, say, between levels?
 
bartkusa said:
Can you show off that Masters and explain this genetic shit? I can understand that sort of thing being expensive continually, but is there any way you could have it adapt, say, between levels?

Sure - it would be theoretically possible. It all depends on how hard the thing is that you want the AI to learn. Let's say the AI has no idea about where to aim a weapon in order to hit someone. You give the AI a bunch of parameters like "inherited velocity, "my current speed", "the opponent's current speed", etc. and given enough experience, it could figure out a formula that would let it hit things. And the more practice it got, the better its aim would be. This is the kind of problem that would be doable, probably even as the game is running.

BUT: We already have a mathematical solution to this problem, so why have the AI learn it? Why not just code it in? The kinds of problems that would be a lot more interesting would be having the AI learn completely new tactics and strategies - and that's hard (and incredibly time-consuming computation-wise.)

And even if we had a super-fast computer that actually learned a new strategy after a few games, would we want to use this ability? It makes the game incredibly hard to balance - the AI is constantly changing. It also makes it a lot harder to debug because every time you run the game, the AI might do something different. And lastly: does it really make the game more fun to play? Or is better when you know (approximately) what an AI is capable of and how to defeat it?

I personally think it's more these issues and less the difficulty of the learning problem itself that has prevented game developers from putting more adaptive AI in their games...
 
This thread has increased the volume of irrelevant information I retain.

I guess I'm posting to say thanks to Marc for some of the explanations.
 
Back
Top