jhester / DistributedGA

A distributed Genetic Algorithm simulation.
http://josiahhester.com
5 stars 0 forks source link

Player AI variables #11

Closed ghost closed 13 years ago

ghost commented 13 years ago

So we need to decide on a few variables, I'm thinking 4-8 will give us enough variety for a GA.

Any ideas on variables?

anander commented 13 years ago

We have courage and stack decided already, those are good.

How about attack and defense? High attack = deals more damage per hit and high defense = takes less damage per hit.

Evil ? Only attacks people with low health?

ghost commented 13 years ago

Affecting damage isn't really AI, and it would require server modifications.

I like the attack low health one, it might be a problem because why would they ever attack someone with high health? We don't have enough variables yet so we'll use it... If our GA works we should see that variable move toward attack low health. A good way test the GA part of our program...

anander commented 13 years ago

Maybe a variable that makes them hang around walls? I don't know what kind of advantage that would give them.

Revenge? Player wants to attack someone who just killed another?

jhester commented 13 years ago

First a question: are we going to vary hitpoints and speed at all?

Or are these variables not truly physical attributes of the player ( like health, speed, attack, defense, stamina, magic power, etc) but emotional type attributes that change his behavior (For example courage, fear, evil vs. good, opportunist) ?

I feel like attributes that are physical dont matter as much unless they tie into an emotional attribute that changes. Those attributes are usually reseved for HUMAN players that add the emotional decision making attributes.

For emotional or decision making attributes feel like there are two types, passive and active. Passive attributes influence the other players decision making. An example would be charisma. Higher charisma influences other players to not want to kill you. An active attribute would be courage, because it influences you to go for it, to not run away even when the other players health may be low (maybe we should give an attack bonus for people with high courage and low health who attack a higher health person).

So I would suggest charisma, physical attractiveness, courage, and fear, evil and good. Charisma=higher charisma charms people and they are less likely to attack, unless of course they're pure evil. Pure evil people will always try and take advantage of a situation. Evil and good=maybe evil people are opportunists like Ashley said, and good people generally fight people who are higher in health. But to even the evil out, we could say that high good people will always try and kill an evil person (if theyre courage is sufficiient). Physical attractiveness=the lower it is the higher chance you have of being attacked because your ugly. Works the other way too. BUT if someone has near the same level of attractive ness to you then you WONT attack them, think social dynamics, class society. Jocks stick with jocks, and nerds with nerds etc. Courage and Fear=Players should have both, the decision to attack should stem from whether there courage is sufficient enough to overcome their fear if the other player has a higher HP than they do. But if they do attack and theyre courage won out, then they get an attack bonus. People with high fear get a defense bonus, and maybe we could make it so that they have a small chance they can run away from a fight??? Courage and fear can also be influenced by good and evil, when good people confront evil people, they are more likely to get the courage attack bonus. When evil people see good people, they are more likely to get a fear defense bonus. Depending on how high theyre relative fear and courage is decides how much of a bonus they get.

These are just random thoughts, but I think that the attributes must influence decision making to make it interesting, and they must ALL be tied to every other one to make it more interesting. Another way, maybe we could create player profiles? Like four different types and start from there. Makes the statistics easier.

ghost commented 13 years ago

I was hoping to only have emotional type attributes in the AI so that we wouldn't have to send AI information as well as health and location to every player. Variables that effect the choices a player makes would be best just to cut network load.

If adding a couple values like charisma would give us a bunch of extra AI options then we might have to do it.

A variable that affects wall clinglyness would be interesting, the larger it is the more likely they will move to a tile that touches a wall tile. That could result in some interesting AI... 50 players running around the edges of the map lol

jhester commented 13 years ago

Haha, that would be cool, cause as the GA went along theyre would be certain types that would cling and those that would not at all.

What about camper attribute? A player that does not like to move a lot, or stays in relatively the same place. And yeah I think charisma and other attributes like it would add to the interesting ness of the GA. I think we should try to get as much coolness in as possible because they expect a alot from us.

What would be really neat, and maybe not hard to implement would be if there was another factor besides killing each other. Like maybe if we gave the players something to gather like food or coins. So in addition to killing they gather shit on their way, there could be some attack bonus or something, or maybe defense bonus actually. Also, if they had high fear they could just give some of their food / coin they cololected to get out of death. So we could have a whole nother type of player, the gatherer.

This would be interesting if we compared the evolution of players on a large map (where I bet the large majority of players would evolve into gatherers) to a small map where they would most likely not gather but just kill.

ghost commented 13 years ago

Now that would be interesting, good research idea really... but we only have so much time for this project and it is about distributed computing :( I really want to add some of that cooler stuff but first we need a strong distributed foundation to present on, extra bits if we have time. I was in the lab and someone from our class saw the graphical observer and gave props :D

I like the camper idea, that gives us Courage, Camper, Clingy 3 is not so bad for now. I'll have the server acting like a GA hopefully by the end of class and then we can speed it up a little and think about cool stuff.

anander commented 13 years ago

I agree with the wall clingy I think that would be funny to watch and good research since I have no idea how that would influence anything.

I guess we can consider this closed