wdna
Chieftain
- Joined
- Dec 24, 2016
- Messages
- 1
Hey!
Me and a friend, both Civ players, thought of a new kind of AI mod for Civilization 6.
It's a new kind of AI for the game, we are planning of utilizing recent advancements in AI, ML and Artificial Neural Networks technology, and hardware capabilities.
I don't want to get into too much technical details because we haven't figured all of them yet.
However the basic idea is: since we figured out 1 PC won't be able to calculate it's moves in reasonable amount of time so we will try building an external and central computational unit on, for example, AWS infrastructure with P2 instances.
The AI will use multiple ML produced functions for different aspects of the game (we have not decided yet how much "handles" we'll have yet).
The type of commands that will be given to the AI should be pretty simple.
You have time (turns) and space (map), your goal is to win.
We will not tell it anything about winning conditions, or how the games plays, we expect after "watching" X amount of games, it will learn to play some Civ 6 (it's very simplified).
Out initial goal to for the AI to learn start a game like a player would.
But all this is quite far from us right now.
What we need right now, is collect as much game data as possible.
Basically, we need all stats available during a player move from the modding API (our data point will not be just single turn - instead, we will try recording stats each move or action player does with hope to produce thousands of data points for each player turn).
I've read some of the modding docs, I'm familiar with both XML and Lua, and have programming background. however I've never built any Civ modding before. Where should I specifically start if I want to get this kind of stats data? And do you think I should be able to collect the data I assume it's possible to collect?
And second thing, do you think the Civ community will agree to install a client mod that will collect their gaming data and send it to our servers? We will make the whole thing open source and open of course. With direct read access to this data.
Any ideas and thoughts are welcomed.
Me and a friend, both Civ players, thought of a new kind of AI mod for Civilization 6.
It's a new kind of AI for the game, we are planning of utilizing recent advancements in AI, ML and Artificial Neural Networks technology, and hardware capabilities.
I don't want to get into too much technical details because we haven't figured all of them yet.
However the basic idea is: since we figured out 1 PC won't be able to calculate it's moves in reasonable amount of time so we will try building an external and central computational unit on, for example, AWS infrastructure with P2 instances.
The AI will use multiple ML produced functions for different aspects of the game (we have not decided yet how much "handles" we'll have yet).
The type of commands that will be given to the AI should be pretty simple.
You have time (turns) and space (map), your goal is to win.
We will not tell it anything about winning conditions, or how the games plays, we expect after "watching" X amount of games, it will learn to play some Civ 6 (it's very simplified).
Out initial goal to for the AI to learn start a game like a player would.
But all this is quite far from us right now.
What we need right now, is collect as much game data as possible.
Basically, we need all stats available during a player move from the modding API (our data point will not be just single turn - instead, we will try recording stats each move or action player does with hope to produce thousands of data points for each player turn).
I've read some of the modding docs, I'm familiar with both XML and Lua, and have programming background. however I've never built any Civ modding before. Where should I specifically start if I want to get this kind of stats data? And do you think I should be able to collect the data I assume it's possible to collect?
And second thing, do you think the Civ community will agree to install a client mod that will collect their gaming data and send it to our servers? We will make the whole thing open source and open of course. With direct read access to this data.
Any ideas and thoughts are welcomed.