Open zchaoz opened 11 years ago
Wolves must know how to get behind players. Might be better map
Learning process: Semi-online genetic algorithm.
Wolves are parameterised to modify their behaviour, and are spawned by an overarching controller object. If a wolf fails to catch any sheep for too long, it will die and be respawned by the controller. When the controller spawns a new wolf, it should take the stats of the current most successful wolf (Alpha) and apply a random modification to them according to a 'Mutation rate' variable.
Mutation rate should increase over time if no wolves are successful, to decrease the chance of genetic dead-ends. Mutation rate should decrease if more wolves are successful.
When the application closes, the controller should record the current 'best' stats, and use them as the base for the next execution. This way, the wolves get smarter every time the program gets run.
The maze needs to have more than one viable path from start to finish. Currently, all wolves are being channelled into a single path, with no way to get around the player .
I like this idea, it needs to take into account every possible variable though i.e. radius to check for sheep, how many sheep can be in that radius, path distance from player, wolves in radius, distance from target etc. At the beginning this will all be either completely randomized (or perhaps manually set to ballpark figures) I think sheep should be given a health
variable, the amount of health taken before getting stopped by the player can contribute to the fitness score of a particular wolf.
As for fixing the maze I have a few ideas how to implement multiple paths, I'm thinking randomly not placing debris could be a possible solution (but only if the other side is still in the maze).
And only if the path from start to finish doesn't drop too low.
Sorry I didn't show today, I've got the worst flu right now.
Also, about the hearing. We should decrease the range for the sheep. Wolves should move faster and has high sound sensitive. Sheep has low hearing ability respectably.
About the learning, we will do something like Keiren proposed: Evolutionary learning for Wolves. The wolves will learn if it fail to catch the sheep, its speed will be increased, etc etc. It will also learn how to move between sheep, building and stay away from the player effectively after each fail attempt.
Also, there will be an overlord system for the wolf. For example: if the wolf can't catch the sheep, its hungry meter will be decreased and it will... die. After that, the overlord will spawn another wolf in an area that most likely have a chance to stop the sheep from their track. Also, the Alpha Wolf idea is the best right now. The overlord will learn and spawn the wolves.
Steering: Like we discussed on Monday, player will have a beacon thing to chase to wolves away (SUPER EFFECTIVE) and call the sheep (ALSO SUPER EFFECTIVE).
What should we do for the assignment 2?