And also neuroscience has reaffirmed that human decisions that are complex like what you called 'high-level decisions' ARE performed in real time, just not in a way that you could say what you were going to do in real time; basically relying on your emotional decisions instead of logical.Just to make an insight into the human mind, I've noticed that the weapon I use isn't the weapon most effective against another weapon, but the weapon that I like the best.
Imperfect A.i.
#81
Posted 10 November 2009 - 07:58 PM
#82
Posted 11 November 2009 - 12:23 AM
A) They've seen allies make kills from
B ) They've seen enemies make kills from
C) They see allies congregate in
D) Spots that are popular among players of said-game
And many more factors, of course. Using a list like this, we could build a system that would weigh human notions and information from the battle that it's already gathered to decide which points on the field nearest it would be best for its success (and human-ish ly). Of course, in order to do that, the A.I. would have to store data inbetween battles to make such decisions. I recall hearing something about a learning AI from an old experts topic that mentioned saving cumulative data from it's sessions.
The emotional part you mentioned is most certainly true, Link3000. I can't recall the number of times that I've (after getting frustrated) ran pell-nell into a game situation and started blasting, where I'd usually take my time and go for efficiency or accuracy. I suppose that after so many deaths in a row, the A.I. could start becoming more aggressive? That answer seems too simple, though. I'd like to hear more on that one =P
So far we have a specialized, node-seeking and/or weapon-examining A.I. that attempts to pre commit its self to places on the playing field that it deems best to fight from, and has feelings. This is a very deep, psychological video game we're making, eh?
EDIT: smiles
Edited by Sparkz63, 11 November 2009 - 12:23 AM.
#83
Posted 11 November 2009 - 09:41 PM
No, no NO. C and D are the only plausible ones. People stick to their pre-made choices, and tend to ignore all contradictory evidence. Because of this trait, A and B are implausible. Humans aren't pure logic with a touch of emotion that is always under control. The logic we have is often derived from your emotions, and always is at least impacted by them. If we were all like Data from Star Trek, we would analyze the map and take multiple surveys of available information, but we aren't, and we never will be. I think it's time we got away from that idea. The spots a player will actually choose in a game will be dependent upon their feelings on the area, and not just a grid spot, the brain will associate areas with similar geography. So any places with large rocks to hide behind they will like if they enjoy ninja-like sniping. They may like to take the side routes or tunnels to stay low-profile, or camping just because they hate dying. Essentially, don't think of this as a linear structure, think of features that a human could pick out.I suppose that people would most likely tend to stick to spots that (without inclusion of the node system's adjustment):
A) They've seen allies make kills from
B ) They've seen enemies make kills from
C) They see allies congregate in
D) Spots that are popular among players of said-game
EDIT: smiles
#84
Posted 11 November 2009 - 10:59 PM
Some perks of the human-ish A.I.: (not set in stone, just setting ideas straight, please review)
A) Multiple simultaneous deaths would cause the A.I. to act more aggressively
B ) Tends to pick and stick to a certain playing style and weapon choice
And, in combat, they tend to fight from: (once again, feel free to review, add or subtract items)
A) Places they see allies congregating in
B ) Popular level locations
C) Whatever 'favorite' locations that match their playing style (like the ninja-sniping rocks)
D) Places that they've made a significant kill streak ( I just thought of this one; If I made 37 kills from the roof of a building, the first thing I'd do when I respawned would probably have been make a mad dash back to that roof)
I'm not a huge organization buff, but things can get complicated when making something such as this. Once our ideas are in place and we have a final list of A.I. attributes, we can make a 'skeleton' for the A.I. that can be tweaked to make it more realistic or change the 'personalities' of the differing computer players (for example, one could tend to stick to sniping while another would like shotguns. Also, one could play more aggressively quicker than other A.I. players). In this fashion, we could have a host of different virtual 'people' in the game to compete with. Maybe the player of said game could even make his own virtual 'playing buddy' that would tailor to his wants on the combat zone.
I would like to set everything up and get an example to see if the result truly will play human-ish-ly. Other than what's listed above, the only other thing I could possibly think of to make it more human would be to make it talk. =P
I'm too lazy to actually start today, and I have an APUSH test tomorrow, so I won't be able to start on it until tomorrow after school. Feel free to make suggestions.
Edit: Didn't fully finish ideas, there.
Edited by Sparkz63, 11 November 2009 - 11:07 PM.
#85
Posted 11 November 2009 - 11:21 PM
We don't need to actually make the AI 'emotional', only have it simulate emotion. As I said earlier, we can use predefined values that are slightly random and slightly dependent on each other.
I'd also like to develop something more than ideas, so maybe we should contribute code along with ideas? Not a requirement, just a suggestion.
Setting up an 'emotional' AI for the 'Blood Gulch' Halo CE map:
pa_value = random(1); //passive=0, aggressive=1 spot[0] = 1 - pa_value; //likes tunnels/holes spot[1] = (.5-abs(.5-pa_value))*2; //likes moderate hiding spots, but also likes the freedom of movement spot[2] = pa_value; //likes to be out in the open where they can (attempt to) kick everyone's arse
So, all that does is set up weighted neurons for 3 spots, holes, hills, and fields, dependent on one starting variable. Using those three values, the AI can 'choose' which area it likes best.
#86
Posted 12 November 2009 - 06:09 PM
Okay. Point made. Humans do do some high-level planning in real-time. However, acceptable results can be obtained by a single high level decision followed by slight adjustments. For example, I was playing Modern Warfare 2, and (because I'm REALLY bad with console FPS's) decided to knife everyone. I made a high-level decision to sprint around the map at all times, looking for players. I also had a plan for when I found an enemy. When an enemy was found, I would charge them and stab them. This plan worked quite well. Its stages were:I actually brought that up..
And also neuroscience has reaffirmed that human decisions that are complex like what you called 'high-level decisions' ARE performed in real time, just not in a way that you could say what you were going to do in real time; basically relying on your emotional decisions instead of logical.Just to make an insight into the human mind, I've noticed that the weapon I use isn't the weapon most effective against another weapon, but the weapon that I like the best.
A. Search (Basic pathfinding): Run forward. On encountering a wall, turn. On sighting a player, move to stage B. If no results after a long time, move to stage D.
B. Hunt (Enemy tracking): Aim toward enemy's last known position + direction. Sprint toward their last known location. When close to enemy, move to stage C. If enemy hasn't been sighted for 10 seconds, go to stage A.
C. Kill (Combat): Stab enemy. Go to stage A.
D. Plan (High-level search): Check radar for enemies. Find path to nearest. Start following path. Go to stage A.
Incidentally, this plan would only be used by an AI with a high "Stupidity factor", as it results in a rather poor kill/death ratio. It is fun though.
I suppose that people would most likely tend to stick to spots that (without inclusion of the node system's adjustment):
A) They've seen allies make kills from
B ) They've seen enemies make kills from
C) They see allies congregate in
D) Spots that are popular among players of said-game
Let's address these.
A: Yes. People do this. It's a good idea, especially for snipers, as it is a low-cost way to find good cover. Good idea to wait a while before using the spot (so people aren't wary of it).
B: Same as A.
C: Yes, but generally because there are medics or similar. People in TF2 cluster around the medic or a sentry gun/dispenser to decrease the chance of their death. This also makes the AI help players who want to defend something.
D: Already covered by A, B, and C. No use saying it.
Au contraire. Players often adapt their plans to be like an enemy's/ally's. For example, TF2 often has sentry farms (one player builds sentry, does well. Other players see and build more in the same location). Snipers also do this quite often.No, no NO. C and D are the only plausible ones. People stick to their pre-made choices, and tend to ignore all contradictory evidence. Because of this trait, A and B are implausible. Humans aren't pure logic with a touch of emotion that is always under control. The logic we have is often derived from your emotions, and always is at least impacted by them. If we were all like Data from Star Trek, we would analyze the map and take multiple surveys of available information, but we aren't, and we never will be. I think it's time we got away from that idea. The spots a player will actually choose in a game will be dependent upon their feelings on the area, and not just a grid spot, the brain will associate areas with similar geography. So any places with large rocks to hide behind they will like if they enjoy ninja-like sniping. They may like to take the side routes or tunnels to stay low-profile, or camping just because they hate dying. Essentially, don't think of this as a linear structure, think of features that a human could pick out.I suppose that people would most likely tend to stick to spots that (without inclusion of the node system's adjustment):
A) They've seen allies make kills from
B ) They've seen enemies make kills from
C) They see allies congregate in
D) Spots that are popular among players of said-game
EDIT: smiles
So how would we accomplish creating an emotional A.I.? I vote for the list method, and then implementing our ideas part by part:
Some perks of the human-ish A.I.: (not set in stone, just setting ideas straight, please review)
A) Multiple simultaneous deaths would cause the A.I. to act more aggressively
B ) Tends to pick and stick to a certain playing style and weapon choice
And, in combat, they tend to fight from: (once again, feel free to review, add or subtract items)
A) Places they see allies congregating in
B ) Popular level locations
C) Whatever 'favorite' locations that match their playing style (like the ninja-sniping rocks)
D) Places that they've made a significant kill streak ( I just thought of this one; If I made 37 kills from the roof of a building, the first thing I'd do when I respawned would probably have been make a mad dash back to that roof)
I'm not a huge organization buff, but things can get complicated when making something such as this. Once our ideas are in place and we have a final list of A.I. attributes, we can make a 'skeleton' for the A.I. that can be tweaked to make it more realistic or change the 'personalities' of the differing computer players (for example, one could tend to stick to sniping while another would like shotguns. Also, one could play more aggressively quicker than other A.I. players). In this fashion, we could have a host of different virtual 'people' in the game to compete with. Maybe the player of said game could even make his own virtual 'playing buddy' that would tailor to his wants on the combat zone.
I would like to set everything up and get an example to see if the result truly will play human-ish-ly. Other than what's listed above, the only other thing I could possibly think of to make it more human would be to make it talk. =P
I'm too lazy to actually start today, and I have an APUSH test tomorrow, so I won't be able to start on it until tomorrow after school. Feel free to make suggestions.
Edit: Didn't fully finish ideas, there.
I agree with points A and B in both categories, but not much point C. I don't often go back to a place where I had a kill streak for a while, usually at least 3-4 minutes because my enemies will be watching out for someone there.
I agree. Maybe add it as part of the afforementioned "stupidity factor". Stupid bots don't wait, smart ones do.
#87
Posted 12 November 2009 - 07:56 PM
I don't understand, you agree with me that people will be cautious about an area an enemy made a long kill streak in, yet you agree that a human player will go to an area where another player made a kill streak; this will result in their death, and many people realize that.
Also, for the sentry farm example you brought up, I believe that people make sentry farms because of the location, not because someone else did it. That impulsive decision isn't the kind I was talking about anyways, you don't go around and say 'hey, I'm not going to build a sentry there!' you think 'hey, that looks like a good spot for a sentry'.
Also, I play as a sniper in pretty much all games that allow me to, and I can tell you from experience that good snipers won't use the location of another sniper. I will always try to find a new spot before revealing myself with a shot.
#88
Posted 13 November 2009 - 07:01 AM
As I think I said, it depends on the person. Some people see a kill streak and try to mimic it. Some take note of it and don't mimic it unless they know they have a really good chance.I don't understand, you agree with me that people will be cautious about an area an enemy made a long kill streak in, yet you agree that a human player will go to an area where another player made a kill streak; this will result in their death, and many people realize that.
Perhaps true. Perhaps not. I've seen sentries in areas that are almost NEVER visited, and also sentry farms that spring up for no other reason than that someone had a sentry there. Also, seeing a sentry there indicates that the area is rather well defended, but may need more (and people assume that the first sentry was made intelligently), so someone will add a second sentry in case the first gets taken out. Repeat ad infinitum.Also, for the sentry farm example you brought up, I believe that people make sentry farms because of the location, not because someone else did it. That impulsive decision isn't the kind I was talking about anyways, you don't go around and say 'hey, I'm not going to build a sentry there!' you think 'hey, that looks like a good spot for a sentry'.
Depends on the game. In TF2, Modern Warfare 2, and Left 4 Dead, I've seen some EXCELLENT sniping spots because I killed or was killed by someone in that spot. I then remember that spot for later matches (or several minutes later).Also, I play as a sniper in pretty much all games that allow me to, and I can tell you from experience that good snipers won't use the location of another sniper. I will always try to find a new spot before revealing myself with a shot.
#89
Posted 14 November 2009 - 03:34 AM
The strays that are put in not-so-great positions, I think, are the result of newbies. Thinking this, I usually consider these outliers.
The use of changing up sniper spots is actually not very related to how good a spot is. Any actual 'sniper spot' will have a decent range for the sniper, so you can focus in on hitting your targets, while making sure they don't know where you are. Since you mentioned MW2, think of the mission 'Cliffhanger'. When you get killed, do you try the same strategy again because you almost made it, or find a spot where that guard post won't spot you, and you can finish that area?
#90
Posted 14 November 2009 - 06:42 AM
I have an old gm6 experiment of mine named 'gunner' with 2 separate A.I.'s on it that attempt to kill the player in the most efficient way. It has an 'aggressive' A.I. that tries to shotgun the player to death, and 'defensive' A.I. that attempts to snipe the player from a distance. The only real issue with the A.I. is that neither of the computer enemies can take cover. It's top down, and very very basic, but it can work as a structure for this experiment. The only controls besides movement is shooting.
As of now, my computer will not download or upload files (Vista sucks), and I'm transferring my stuff to my old P.C. so that I can perform a destructive reboot. Once that's finished, I'll upload what I've got. It should be finished tomorrow evening, at the latest (I hope).
(Postscript: If you all want to use what I've got (when I get it up),)
We can change things inside of the project once we get things running, but I only have one question: How should the A.I. change over time? For example, if the A.I.'s original intent was to snipe, and it died multiple times without making a kill while doing it (like a bunch in a row, which afterwards I'd change tactics, myself), what should it's next tactic be, and how does it decide which tactic to use?
#91
Posted 14 November 2009 - 03:16 PM
We were discussing the actions of players in various FPS games. The most efficient AIs are for specific games, not a general all-purpose one.I'm confused. Are we designing an A.I. for a specific title? I haven't played any FPS's super recently.
I have an old gm6 experiment of mine named 'gunner' with 2 separate A.I.'s on it that attempt to kill the player in the most efficient way. It has an 'aggressive' A.I. that tries to shotgun the player to death, and 'defensive' A.I. that attempts to snipe the player from a distance. The only real issue with the A.I. is that neither of the computer enemies can take cover. It's top down, and very very basic, but it can work as a structure for this experiment. The only controls besides movement is shooting.
As of now, my computer will not download or upload files (Vista sucks), and I'm transferring my stuff to my old P.C. so that I can perform a destructive reboot. Once that's finished, I'll upload what I've got. It should be finished tomorrow evening, at the latest (I hope).
(Postscript: If you all want to use what I've got (when I get it up),)
We can change things inside of the project once we get things running, but I only have one question: How should the A.I. change over time? For example, if the A.I.'s original intent was to snipe, and it died multiple times without making a kill while doing it (like a bunch in a row, which afterwards I'd change tactics, myself), what should it's next tactic be, and how does it decide which tactic to use?
The passive/agressive-ness of an AI can't be 1 or 0, but something in between, like my short code I posted earlier.
A human will have an emotion associated with each action they can take. This is why you have 'feeling' you can't explain about something, or when you know that you did something right, but it looks just like every other attempt. There's a tiny variable we can't logically explain, but it makes a big difference. Obviously, we can't incorporate the infinite variables involved in every action or thought, but we can use weighted variables to represent the main actions and sub-actions the AI could perform.
Also, yeah, Vista is fine.
#92
Posted 15 November 2009 - 10:40 PM
A fuzzy-logic AI would work well, if made right. Personally, I'd also have a separate "Mistake-finder". Store variables such as "How far away (median) from the shooter was I when I died?", "When I lived?"The passive/agressive-ness of an AI can't be 1 or 0, but something in between, like my short code I posted earlier.
A human will have an emotion associated with each action they can take. This is why you have 'feeling' you can't explain about something, or when you know that you did something right, but it looks just like every other attempt. There's a tiny variable we can't logically explain, but it makes a big difference. Obviously, we can't incorporate the infinite variables involved in every action or thought, but we can use weighted variables to represent the main actions and sub-actions the AI could perform.
Just those two could influence the tactics of the AI quite well and stop it from charging a machine-gun nest with a knife.
Vista really does suck. It's a memory hog, games run more slowly, and windows explorer removes useful data from some image files.Also, yeah, Vista is fine.
Windows 7 fixes most of those.
#93
Posted 16 November 2009 - 02:59 AM
Vista really does suck, oh no wait, my compter just sucks actually.
Fix'd?
#94
Posted 16 November 2009 - 04:34 AM
Vista really does suck, oh no wait, my compter just sucks actually.
Fix'd?
No. 2.67 GHz dual core. 2 GB memory. 300 GB HD. GeForce 8600GTS.
I can run Crysis quite well. My computer is not the problem.
"Many DirectX 9 games initially showed a drop in frame rate compared to that experienced in Windows XP."
"A study conducted by ChangeWave in March 2008 showed that the percentage of corporate users who are "very satisfied" with Vista was dramatically lower than other operating systems, with Vista at 8%, compared to the 40% who said they were "very satisfied" with Windows XP."
#95
Posted 16 November 2009 - 07:57 PM
Also, bringing us slightly back on track while not switching topics, people tend to have opinions easily swayed by the media and sources they find elsewhere. In this case, many people took a while to make the switch to Vista, and in that time, heard all the s**t talked about it from the media and such, and many ended up not getting it at all.
#96
Posted 16 November 2009 - 11:49 PM
That's because most people don't know their way around their computer. Vista fixed many things under the hood, and is actually a nice step up from XP. Everything that people hate about Vista can be shut off or turned around, turning Vista into a revamped XP.
Also, bringing us slightly back on track while not switching topics, people tend to have opinions easily swayed by the media and sources they find elsewhere. In this case, many people took a while to make the switch to Vista, and in that time, heard all the s**t talked about it from the media and such, and many ended up not getting it at all.
I only heard positive things from the media. I don't trust the media, however (Hillary Clinton as woman of the year... Whose idea was that?)
I did see the benchmarks. I saw that they were worse on Vista. I saw the memory being wasted. My friend had her image file data erased by windows explorer (Something that should NEVER happen). Everything I saw or heard of (except from the media) was worse than XP.
I also heard that Win7 fixes those concerns (same sources).
Also, we're getting off-topic.
#97
Posted 16 November 2009 - 11:54 PM
Also, I think we should make it a rule now that you must post some relevant code or at least a coding idea with every post, lest this become another Zombie Bob thread.
So, continuing off my last short code snippet, we can implement this preference system by having an object hold the map a local variable, and then store a global grid that has values for each spot, making a visual map for the AI to follow.
#98
Posted 17 November 2009 - 01:51 AM
Noone would post. Better a zombie Bob thread than an (un) dead thread.Also, I think we should make it a rule now that you must post some relevant code or at least a coding idea with every post, lest this become another Zombie Bob thread.
That could get quite complicated. For a reasonably-sized map, this preference grid would take up a lot of memory. Perhaps it would be better to store a list of regions that are effectively the same in terms of value.So, continuing off my last short code snippet, we can implement this preference system by having an object hold the map a local variable, and then store a global grid that has values for each spot, making a visual map for the AI to follow.
For example, TF2's 2fort. The two sides both have a balcony that is often the site of snipers. A grid would have devote memory to the entire map, including close-quarters areas. Instead, regions could be made.
Also, taking the subject in the same direction, criminals often choose targets a certain distance from their home. Too close, and it feels dangerous. Too far, and it does as well. Using this logic, bots could save the last 40 deaths and 40 kills (spot, weapon, luck (should the outcome have been different?), and other relevant information). It could then move toward "good" spots (spots close to the kill spots) while avoiding "bad" spots.
#99
Posted 17 November 2009 - 08:02 PM
Well, yes, a region system would be easier, and processing all the information would kill the game.That could get quite complicated. For a reasonably-sized map, this preference grid would take up a lot of memory. Perhaps it would be better to store a list of regions that are effectively the same in terms of value.So, continuing off my last short code snippet, we can implement this preference system by having an object hold the map a local variable, and then store a global grid that has values for each spot, making a visual map for the AI to follow.
For example, TF2's 2fort. The two sides both have a balcony that is often the site of snipers. A grid would have devote memory to the entire map, including close-quarters areas. Instead, regions could be made.
Also, taking the subject in the same direction, criminals often choose targets a certain distance from their home. Too close, and it feels dangerous. Too far, and it does as well. Using this logic, bots could save the last 40 deaths and 40 kills (spot, weapon, luck (should the outcome have been different?), and other relevant information). It could then move toward "good" spots (spots close to the kill spots) while avoiding "bad" spots.
The criminal example isn't the same as the one I was using, but nonetheless, the same idea stands, with that preferable area being that of th houses a certain distance away.
Another way to use the same method is to set up a system of rules that the environment must coincide with to be optimal for that AI, not complex rules, simple ones like a maximum distance to a wall in the cardinal directions to create the need of a close quarters environment.
#100
Posted 20 November 2009 - 02:09 AM
Anger- if the AI gets killed by someone multiple times, or just dies a lot, it should behave irrationally
Cockiness- if the AI kills a certain person, or lots of people in general then it will think that they are weak and play easy on them and die
-------------
Also I think certain AI bots should have certain "personalities", or a combination of personalities.
Teamplayer- the AI like to work with its teammates to complete an objective
Rambo- the AI likes to blindly run into the enemy base and try to kill everyone
Stealthy- the AI likes to hide, snipe, and creep up behind enemy's for melee kills
Fragger- the AI doesn't care about objectives, like to kill only
Hard worker- the AI doesn't care about kills, only wants to complete objectives
-----------
And there could be many more.
~Nick.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users











