Laiders
Posts: 123
Joined: 6/8/2020 Status: offline
|
quote:
ORIGINAL: eyegore quote:
ORIGINAL: zgrssd quote:
ORIGINAL: eyegore I reject the idea A.I. can't play by the same rules as the player but that comes with a huge "????" because it depends how much time is spent on it and how much the particular developer actually knows about A.I. It is nice for you that you reject reality. But until you figure out a way for AI to genuinly plan ahead, that is really just a "you" thing. Until that happens, the reality is that no game AI can even plan 1 Hex or 1 Game Tick ahead. And it needs some changes to rules and incomes to offset this "planing inability". The AI should be less willing to go through mountains - but only because doing so ruins the defensive effect mountains have for it. I can survive them getting free dirt roads, because I got human level planing ability. quote:
It is nice for you that you reject reality. But until you figure out a way for AI to genuinly plan ahead, that is really just a "you" thing. Until that happens, the reality is that no game AI can even plan 1 Hex or 1 Game Tick ahead. And it needs some changes to rules and incomes to offset this "planing inability". The AI should be less willing to go through mountains - but only because doing so ruins the defensive effect mountains have for it. I can survive them getting free dirt roads, because I got human level planing ability. The A.I. in an average Chess program plans several turns ahead. There's nothing impossible about it. It's really the mindset of developers and the acceptance of the players that keep game A.I. crippled. Sure the little Indy guy could develop it as he's the only one that'll ever allocate the time but he doesn't have the funds to use an engine that could pull it off. Likely he's using something that costs a couple hundred dollars. It's memory usage is basic at best, It likely relies on a scripting language which in turn makers the argument mute because the type of A.I. I suggest needs databases that are extremely fast and data can be accessed on the fly and that's something a scripting language chokes on. You end up with unacceptable turn times but the reality is that low budget engine isn't supporting C# or C++, and without such a fast language with full libaries your at best using a behavior tree and even then turn time becomes an issue. Eyegore the AI in this game definitely plans or gives the appearance of planning at least. It's not that hard to do, you're right. The actual problem for a game like this is the balance of: 1. Developer time and skill 2. CPU time and requirements 3. Player perception and tolerance of AI/ ability to vary AI performance to player skill 4. Game engine constraints 5. Systems interplay This is not a complete list of factors, just the few I could think of. What do I mean by them all? Well dev time and skill should be obvious and you have already talked about it. CPU time and requirements is one you have not mentioned but is key. Chess is a pretty easy game to get an AI to calculate. Modern systems (by this I means both CPUs and the AI software) can easily calculate all possible moves for both players several turns ahead of time. If players are willing to wait, the AI can push this further and further. This means it is easy to throttle AI to skill and it is easy to get the AI perfect, literally unbeatable (with enough CPU power) by any human. Solving this was a problem of CPU power/time and getting AIs to both simulate rounds correctly and 'understand' what those permutations mean such that it can choose the best possible course. To pick an apt metaphor, AIs can approach Chess like the Bene Gesserit of Dune approach politics. They can see all possible paths ahead of time and, from that, prune paths to their advantage. You have not mentioned the recent breakthrough regarding playing Go. This was huge news in the AI world because Go is basically not a game you can calculate, unlike Chess. Go has so many possible moves over so many turns that you must intuit. That is to say, an experienced player will know good or perfect moves not through calculation but through memory and a deep understanding of game rules and how game states evolve. Building an AI that can beat the world's best Go players means building an AI that can approximate human intuition and match the finely honed intuition of the very best Go players in the world. Subsequent generations of AlphaGo can now get to this point without the same level of training time and with smaller datasets. There is also a skill differential. Each new generation can beat the last consistently. Achieving this required big breakthroughs in implementing neural-net based learning and a metric ton of data and a huge amount of training time. Even with all of that, AlphaGo is not quick to make its moves, though it is not unusually slow for a high-level Go player. Shadow Empire is more akin to Go than Chess. I have, in trying to help other players, sometimes just had to say: 'I don't know what is wrong and I cannot explain it to you but I know I could fix it if I had your save.' Why? Because my understanding of the logistics and combat systems is learned but also starting to become intuitive. I just manage my supplies and they work. Without having access to the actual game state and all the data it provides, I cannot troubleshoot some subtle or complex problems. Often because the player asking for troubleshooting does not know what data to provide to those trying to assist. Of course, I also sometimes cannot help because I'm flummoxed too. I am by no means an expert. Getting not one but 6 AIs to handle a system this complex in turn times players will accept (players are already antsy with turns times of 2 mins BTW) on a wide range of general-purpose personal CPUs... If you really think you can do that go start working for one of the deep AI companies and bring it to gaming please. Player perception and tolerance is also crucial. I draw on RTSs here. It is relatively easy to get a RTS AI to micro perfectly. It wasn't always but you can now and you can probably do it with ordinary CPUs. The AI can click pixel-perfect thousands of times. It can and will out APM any human player every single time without fail if allowed to. Turns out players utterly, utterly hate this. It feels like the AI is cheating because no human player has truly pixel-perfect 100% of the time micro. Players f up and give opportunities to one another. So you have to get an AI to play very well but not perfectly in a way that feels like a person playing very well but not perfectly to a very skilled human player. Again this is not a trivial problem. AIs can now thrash the very best human players at SC. Players only stand a chance when they use very situational or off-meta builds that the AIs cannot train against, because they are rare, which the AIs do not always react to properly. Similar to how lower-skilled, though still very skilled players, do this in professional SC to get an advantage of a more skilled but conventional player. This brings us back to points 1 and 2. The problem with cracking SC was not mirco but rather macro. Getting the AI to understand all possible build paths for all possible factions and the relative strengths of those build paths as well as figuring out the most likely build path of its opponent using limited scouting information. Solving that problem requires deep AI development with neural nets and lots of data. Like observing every single skilled ranked game of SC on a big ladder for days or weeks levels of data. Then playing thousands upon thousands of simulated games, with the AI playing both sides, to convert that data into skill. Ordinary game developers cannot do this. They simply cannot get enough data easily enough without releasing the game. Some niche games have AIs that learn as you play or, I think in the case of AI Wars, learn as all players play. This is generally a core selling point of the game and something built around from day 1 not an incidental add-on. On to game engine constraints, the game may not be written in a way that makes it easy to plug in a neural net. I don't know enough about the technical details here but there will be technical limits to how the developer can construct the game with the available skill, time and money that will directly constrain what approaches can be taken to AI development. Systems interplay I have already covered really. It's the Go or SC macro problem. SE has so many options and ways to play of varying levels of merit given how everyone else is playing that is really hard for a bunch of intelligent and increasingly skilled humans cooperating with one another to figure out best possible plays all of the time. Some intelligent players skilled in other games still cannot beat beginner AIs because they do not understand how some key systems interact yet and others are already only playing on extreme because regular is too easy. This I think gives an idea of the complex, almost chaotic, nature of how the game systems interact. This will never be a game you can just calculate your way through.
|