Thesis: machine learning AI for spring 1944?
Posted: 13 Nov 2015, 13:21
Hi guys,
I'm new to forums, I'm here looking for some advices from you AI programmer veterans for my thesis project :)
I'm currently at the end of a university 2nd degree in industrial engineery, planning to write my thesis on a ML implementation in rts games.
It's not strictly "my business", but working on a game IA is something i really would like to do if i get the possibility in the future.
Moreover I know it's not the best technique to be used on a videogame but that's the setting of my thesis so results will follow :D
I would like to implement some reinforced learning in the spring 1944 game.
The idea is: put the AI in a game of which it doesn't know rules, and see if it can learn some good "tactical behaviour" by trial and error.
To clarify i'm skipping the economy part to focus only on the tactical (eg. creating a setting who pseudo-randomly spawns units at start).
For each unit type we would like to obtain the tactical elements that create the most favourable combat situation.
A tactical situation for a single unit is composed by a mix of more tactical elements, like current unit stats, enemy type and distances, distance to allied unit, etc. Every time a unit has a positive or negative result (hit or being hit) the current tactical situation is rewarded or punished, in all of its components.
By the end we could do a statistic on which tactical elements have been more frequent in winning situations, and adopt them as unit's "preferences".
To simplify we might end up noticing that a light tank is often damaged or destroyed when the parameter "distance to infantry" is "very close", and then this preference is used in the future to improve his AI behaviour.
In this sense the main part would be optimizing the state's space by creating a definition of state who:
- represents "well enough" the tactical situation for the current unit.
- is "light" -> use distance instead of coords (thats what we care about tactically), discretize distance (not floating point), etc
- map indipendent -> obtained unit behaviour should be less possible linked to that map
- is "modular", meaning we can extract for each single component the unit type preference, and then mix them again to obtain a general behaviour model for the AI for the unit type.
A direct consequence of this "per unit" approach is that we are not creating any "upper level strategy" who coordinate multiple units, but i expect instead some coordination to emerge from individual unit behaviour.
Really thanks for your attention, please give let me know if this project makes sense, what are main drawbacks, and how difficult it would be.
In particular i don't know (not having exp with spring) how difficult it would be to extract game data to be used by the AI, for example unit elevation, enemy distance, to know if i get shot and by who, etc.
I have reasonable programming skills and 3-4 months for completion.
Thank you all guys :)
I'm new to forums, I'm here looking for some advices from you AI programmer veterans for my thesis project :)
I'm currently at the end of a university 2nd degree in industrial engineery, planning to write my thesis on a ML implementation in rts games.
It's not strictly "my business", but working on a game IA is something i really would like to do if i get the possibility in the future.
Moreover I know it's not the best technique to be used on a videogame but that's the setting of my thesis so results will follow :D
I would like to implement some reinforced learning in the spring 1944 game.
The idea is: put the AI in a game of which it doesn't know rules, and see if it can learn some good "tactical behaviour" by trial and error.
To clarify i'm skipping the economy part to focus only on the tactical (eg. creating a setting who pseudo-randomly spawns units at start).
For each unit type we would like to obtain the tactical elements that create the most favourable combat situation.
A tactical situation for a single unit is composed by a mix of more tactical elements, like current unit stats, enemy type and distances, distance to allied unit, etc. Every time a unit has a positive or negative result (hit or being hit) the current tactical situation is rewarded or punished, in all of its components.
By the end we could do a statistic on which tactical elements have been more frequent in winning situations, and adopt them as unit's "preferences".
To simplify we might end up noticing that a light tank is often damaged or destroyed when the parameter "distance to infantry" is "very close", and then this preference is used in the future to improve his AI behaviour.
In this sense the main part would be optimizing the state's space by creating a definition of state who:
- represents "well enough" the tactical situation for the current unit.
- is "light" -> use distance instead of coords (thats what we care about tactically), discretize distance (not floating point), etc
- map indipendent -> obtained unit behaviour should be less possible linked to that map
- is "modular", meaning we can extract for each single component the unit type preference, and then mix them again to obtain a general behaviour model for the AI for the unit type.
A direct consequence of this "per unit" approach is that we are not creating any "upper level strategy" who coordinate multiple units, but i expect instead some coordination to emerge from individual unit behaviour.
Really thanks for your attention, please give let me know if this project makes sense, what are main drawbacks, and how difficult it would be.
In particular i don't know (not having exp with spring) how difficult it would be to extract game data to be used by the AI, for example unit elevation, enemy distance, to know if i get shot and by who, etc.
I have reasonable programming skills and 3-4 months for completion.
Thank you all guys :)