bengreenwood
Nub
Cakes 0
Posts: 9
|
|
« Reply #4 on: October 18, 2007, 12:51:05 PM » |
|
Yeah I know what I want to do. Like I said I've learnt about social behaviour from a fundamental level so I've got a pretty good idea what I want to do with it. There are basically two main layers to the idea.
First, the bot is going to fight in a pretty similar way to other bots. As far as I'm aware this means setting up a series of points that the bot is going to use as a standard route around the level. It will make detours to pick up items/ weapons etc. If it sees other players it will shoot toward them (i.e. at points near them, but with a degree of randomness as to how near, to simulate human error). And so on.
Second is where the social behaviour comes in. Like in a lot of animals, this is going to be based around surprisingly simple instincts. Each of the bots has the same set of instincts. The differences in personality are expressed in the relative weights of these instincts.
For example, say there are 2 types of bot, one called "bully" and the other "bully follower". If one of the other players or bots drops behind the rest in terms of score, bully will identify this player as a victim. What this means is that bully will go after them more, perhaps toying with them, while saying pre-set insults like "player 7, could you be any more useless?". Now if bully follower "sees" bully doing this (it's obviously automatic because it's just a simulation of bully seeing the insult is on the screen), bully follower will also identify player 7 as a victim.
The tendency for hurling insults would also be instinctive, so that if it has a high weight, instincts are thrown with more frequency. Things get interesting when you combine such instincts with group formation instincts, such as "if another player is similar to you, be more likely to copy them & become their ally (which means stop shooting at them & start following them & start shooting at their enemy)". So obviously you would end up with little groups of bots that are allied with each other, etc. Perhaps they could say stuff like "bot 12, let's work together", etc. This could even open the door for deceptive instints, e.g. making allegiances and then splitting up when it's more beneficial.
Also obvious is that bots would need to remember shit between games. Setting the weights of the instincts would not be easy but if I start simple it should be do-able.
Obviously there are dozens of instincts to include, for example, revenge- if someone attacks you, single them out and attack them until they're dead. Again, remember that there would be a weight score so that this would be more likely to be carried out by some bots than others. Maybe the weight system would be executed differently for each instinct- for example for this revenge instinct, the higher the score, the greater the probability the bot will "decide" to keep attacking the revenge-recipient instead of breaking off and doing something more important.
There's a problem if some of the bots start teaming up with each other to win, because it's unfair and that would piss some players off. The thing is though, this is just one aspect of it. You could choose to only include bots who play more fair. Alternately, what I think would be brilliant would be a leaderboard system whereby after each game, the total scores are kept and added up. Basically, if you had some varied and cleverly designed bots, the player or bot at the top of that board would change regularly because they would each have their little group who helps them out- in other words, the skill for the player would be in figuring out how to get bots to work with you.
There could be all kinds of crazy shit, like if you offer to be a bot's ally, it's only willing to join if it's group can beat you up a bit first, like hazing rituals in the army etc.
|