Hello everyone!
This is your friendly neighborhood AI developer (as many of you no doubt already knows), and we need to talk.
Even though the discussions following the recent AI dev diaries, I think we all know that it had not always been so positive.
Believe it or not, but it has not gone unnoticed that several of you have strong feelings about the AI in Hearts of Iron 4, and I am certainly the first to agree that there are both bugs and room for improvements. However, derailing threads (or indeed the general discussion) with comments along the lines of "AI is shit" is a waste of everyones time. More yours than mine, as it takes you more time to post it than it takes me time to scroll past it. And it certainly does not encourage me to talk about what I am working on.
Before you take this as an attack, I know almost all of you are really positive about the game, and even those who are less positive are still good and reasonable people even when some of you let you passion get the better of you. I get that a lot of the feelings stem from a desire for the game to be as fantastic as it should be, and I share that desire.
Bottom line is, I am starting this thread to try to drag the discussion out of the sewers it sometimes ends up in, and I would ask for help from all of you in doing so. I do welcome constructive criticism and feedback, and henceforth this should be the place to do that, with the notable exceptions for suggestions and bug reports, which both have their respective bug forums. One of the reasons I do not get involved in discussions about the AI is the toxic tone, which I will simply not encourage by giving it attention.
Not everyone is going to agree with all design decisions, and that is fine. Just remember that if I do not agree with you it does not mean I am not listening.
So, to kick things off I thought I would give you all some points about the status of the AI work on HoI4. And even more insight can be gained by reading the AI dev diaries preceding the Together for Victory launch.
First of all I would like to point out that HoI is one of the more complex strategy games out there, and we are a relatively small team developing it. I am, and will continue to be for a foreseeable future, full time on AI. We are also working on getting more developers involved and capable to work with the AI.
Given the complexity of the game, writing general purpose AI is not like making any of the features of the game, which have clearly defined limits. The AI is more like a work of art in this sense.
The hardest part of building the AI is not making the reactions to situations, but detecting the situations to begin with. Typically due to that it often comes down to pattern recognition with more variables than it usually appears to a person. Humans are extremely good at pattern recognition.
There are a ton of issues on my list relating to almost every part of the AI, and aside from those I ave a ton of ideas for future potentially interesting and advanced improvements.
I will not be giving tons of details about the inner workings of the AI, or exactly how I am solving problems, mostly because that would take too much time for me which would otherwise be spent working on the AI.
Oh, and lastly: No, self learning AI is not a viable approach. Googles success with AI playing Go does not mean the problem has been solved as such. First of all it was trained on a supercomputer, and second; in terms of complexity, primarily number of parameters and potential decisions in any given situation and the fact that HoI is not turn based in the way Go is; makes Go look like tic tac toe in comparison.
Tl;dr: Post your constructive AI criticism and feedback in this thread. Discuss what frustrates you about it in a civil manner, please
So, if you have something you want to lift in this thread, I would like you to include the following information:
- What the AI is doing wrong
- What you think it should be doing instead.
- Any potentially relevant context, as many things when are crazy in one situation is a perfectly reasonable thing to do in another. For example, if Japan does not invade USA it may simply be because they are getting their ass handed to them by Soviet.