|
I like hearing about advances in AI in games. I was wondering if some people had some good examples of games with interesting AI behavior. It seems like we can't get away from the old "Occasionally pop out and shoot while occasionally switching between two pieces of cover script that governs enemies in shooting games
|
# ? Nov 23, 2018 16:01 |
|
|
# ? Apr 29, 2024 03:50 |
|
Amarcarts posted:I like hearing about advances in AI in games. I was wondering if some people had some good examples of games with interesting AI behavior. It seems like we can't get away from the old "Occasionally pop out and shoot while occasionally switching between two pieces of cover script that governs enemies in shooting games Check out openAI in dota 2 or deepmind in star craft 2 op
|
# ? Nov 23, 2018 16:26 |
|
I doubt it's anywhere near the most "advanced" but Starsector has some incredibly competent combat AI, especially impressive considering it's a one-man effort. AI advancement in big budget games feels like it's all but stagnated; you never hear devs go out on stage and brag about their bots' behaviour like you did in the early 00s, and I'd be hard pressed to think of a modern shooter with more effective enemies than FEAR, from way back in 2005. The main focus now seems to be on scale and crowd dynamics which is neat in its own way, but rarely leads to challenging fights.
|
# ? Nov 23, 2018 16:37 |
|
This might not fit the bill of "advanced" AI, but check it out if you want: Many years ago I came across a university research game called NERO 2.0 or Neuro Evolving Robotic Operatives. You basically tweak the AI to do stuff through genetic algorithms and sliders and once you have "trained" AI troops to shoot, dodge and maneuver, you pit them against other teams. It should be available online to tinker with. Probably simple stuff as far as AI goes but you since you can train the things yourself it had a certain charm to it. Edit: There is also an early access title on Steam called Gladiabots. Haven't checked it out yet but seems to have some sort of AI design as part of the gameplay. SlightlyMad fucked around with this message at 18:02 on Nov 23, 2018 |
# ? Nov 23, 2018 17:03 |
|
It's kind of died back as a thing, because there's not really a type of gamer who wants it. There are people who grudgingly learn games in order to get through the story, and having to relearn what to do as the AI figures their routines out is a turnoff for them. There are people who want to indirectly compete, score attack or time attack style, and extremely nondeterministic systems are useless for them. There are people who want to face off against an opponent of their own skill level, who you'd think it'd be perfect for, but it turns out that it's far easier to create a smart matchmaker than a smart AI. So it'll occasionally pop up in indie titles or as a research project using BW/SC2/DotA as long-lived rulesets with a lot of emergent play and variables, but that's about it.
|
# ? Nov 23, 2018 19:04 |
|
I was involved in a game released on Steam called Boss Constructor where the dev was going to run with a suggestion of mine to create enemies that evolved using a GA which you could evolve or let evolve against you as you played. That idea is of perpetual interest to me, but unfortunately it seems very few others really found it interesting and it was ultimately dropped from the game for the most part. You've got bots in a very few games that use GAs. You've got bots with neural networks in others; these typically don't actually rebalance their nodes during the actual gameplay though, from what I've seen, because such a design requires a large amount of input data to "train" (kinda boggles the mind no one has thought to drop something like this into a game like CS:GO or Fortnite where truly disgusting amounts of input could be had if only you'd share every player's inputs with every other player; would be fun to see if bots could be made to keep up with metas). Finally you've got bots that just do what they're told, perhaps with a little randomness thrown in; the "classical" AI. Not necessarily uninteresting, but usually implemented in uninteresting ways. It's a lot more fun to watch a "simple" AI engage with a complex environment emergently (think ants in Sim Ant or cells in Conway's Life) than it is to watch a complex AI break itself on unforeseen edge cases in a relatively simple environment...
|
# ? Jan 22, 2019 08:27 |
|
Alien Isolation has some pretty good AI since there's really only 1 enemy playing hide and seek with the player.
|
# ? Jan 22, 2019 09:58 |
|
I second the Alien Isolation recommendation. It's worth a look, and there's a pretty good podcast where they take a bit of a "deep dive" into the AI. I know it's an oldie now, but I have always found the AI in the original F.E.A.R. to be really great. On harder difficulties they will flank you, push things in your way and just be absolutely horrible to you. I did some work on videogame AI back in 2011, and it depends on how you define "advanced" really. The Alien Isolation AI will learn player behaviours (e.g. player keeps hiding in lockers, I will now check lockers), the F.E.A.R. AI is cool because it can be hyper aggressive and pincer-move you quickly, and the openAI in DOTA2 shows you how much those microseconds really matter. What do you mean by advanced? Do you want an AI that learns and adjusts behaviour? Or something that can beat players? How can we help you....
|
# ? Jan 22, 2019 13:30 |
|
The AI for drivatars was some complex in Forza that processing for them had to be offloaded to the cloud.
|
# ? Jan 22, 2019 13:37 |
|
Killer Instinct does some interesting things with 'learning AI'. It's like a mix of a chess computer and a ghost from a racing game like Forza. It records your ghost and lets other players fight it, and you can fight their ghosts. The more you play, the more accurate your ghost is at simulating you. It responds to whatever the opponent is doing the same way you would. If it doesn't have match-up data for a particular character, it cobbles together the best it can from your behavior against other characters. It even picks up on non-combat stuff like how you move. If you teabag people, the ghost will too. Dragon's Dogma also has a sort of AI like that. It's an action RPG where you have a companion that picks up on your behavior. You can hire other people's companions, and they can borrow yours. The AI isn't as accurate as the Killer Instinct one, but it'll still pick up on your style. I've heard of Dragon's Dogma NPCs that obsessive compulsively trash rooms full of destructable items like puts and urns, just like players would. Attack on Princess fucked around with this message at 14:00 on Jan 22, 2019 |
# ? Jan 22, 2019 13:42 |
|
Hasn't AI stagnated a bit because the PS4 and Xbone have relatively weak CPUs? Like part of the reason Assassin's Creed Unity was such a mess was because Ubisoft expected the new (at the time) consoles to have stronger CPU performance for better AI for the huge crowds of NPCs in that game.quote:"Technically we're CPU-bound," he said. "The GPUs are really powerful, obviously the graphics look pretty good, but it's the CPU [that] has to process the AI, the number of NPCs we have on screen, all these systems running in parallel. It'll be interesting to see how AI changes if the PS5 and whatever they call the next Xbox have relatively stronger CPUs as people suspect they will.
|
# ? Jan 22, 2019 14:53 |
|
Check out oblivion and its Radiant AI. Its incredible
|
# ? Jan 22, 2019 14:56 |
|
The actual best AI in any game is Darwin's Pond
|
# ? Jan 22, 2019 14:59 |
|
Donnerberg posted:Killer Instinct does some interesting things with 'learning AI'. It's like a mix of a chess computer and a ghost from a racing game like Forza. It really does and it's kind of amazing. Smash Ultimate is insane too and probably has the best AI I've ever seen in a fighting game when you crank up the difficulty. They brought in pro players to try to emulate their habits and the result is impressive. It adapts and takes advantage of your own tendencies. It's not in an unfair or cheap way either. I almost prefer fighting the computer over other people because it can pull off some crazy stuff and I end up thinking good game to the CPU fighters more than actual people.
|
# ? Jan 22, 2019 15:28 |
|
Tom Gorman posted:It really does and it's kind of amazing. Eh, a lot of it is still button-reading, and I have not seen much adaptation from the lvl 9 CPUs. Once you get used to them, they get wrecked like every other CPU from previous Smash games. They are just a bit more aggressive now with some basic pro tech.
|
# ? Jan 22, 2019 15:43 |
|
Have there been any advancements in strategy game AI? seems like a genre that would value it more than others
|
# ? Jan 28, 2019 02:19 |
|
No1 wants to get their rear end beat by a computer. Half life 1 has marines taking cover and flanking you... then half life 2 came out and the combine just make a bee line towards you
|
# ? Jan 28, 2019 02:27 |
|
Eschat0n posted:I was involved in a game released on Steam called Boss Constructor where the dev was going to run with a suggestion of mine to create enemies that evolved using a GA which you could evolve or let evolve against you as you played. That idea is of perpetual interest to me, but unfortunately it seems very few others really found it interesting and it was ultimately dropped from the game for the most part. What's GA?
|
# ? Jan 29, 2019 12:01 |
|
Calibanibal posted:Check out oblivion and its Radiant AI. Its incredible Didn't they have to turn it off for the NPCs, because they would just all end up killing each other?
|
# ? Jan 29, 2019 12:03 |
|
greententacle posted:What's GA? nm, what's GA with you? (Genetic algorithm I assume)
|
# ? Jan 29, 2019 12:13 |
|
I don't have much experiance with it, but Galactic Civilizations 2 is supposed to have incredible AI. Someone from PCGamer did a lets play starting here and the outcome is pretty amazing; he barely wins the game, and looking back realises that two AI factions were using him as a pawn in a high-level diplomatic standoff for a very, very long time.
|
# ? Jan 29, 2019 13:11 |
|
The obvious answer here is AI war. The developer put out a lot of documentation on the arcen website, about the development process and his design goals for making the titular AI. The articles are kind of hard to google but can be found on the arcen blog by going back far enough. Someone already mentioned Starsector, which has a great behavior tree. Interestingly, Starsector uses separate agents for weapons, movement and abilities, tied to a "director" AI which makes them more coherent. There is also a site called codingame.com where you can learn how to develop bots and have them compete against other bots. Use any language you want, too. Language is another consideration if you want to make very complex bots. You want Java or C# to take advantage of lists and linq. They're both much slower than C++, which is another reason you don't see a lot of elaborate AIs in games. For most small commercial tasks and for resume fodder any language is fine. Now the bad news. Games aren't a good field for AI for multiple, mostly financial reasons. Developing content doubles your investment, developing premium content quadruples your investment, and developing AI for games creates no added value whatsoever. Also most people who have the right skillset and experience to make good bots work with databases and/or for large institutions and the game industry simply cannot afford them. There is also a question of time. Game developers have to make simple, tried solutions in short timeframes, since they're working on multiple sweatshop projects in series/parallel. AI dev is the opposite, involving a lot of experimentation and patience. Ask away if you are interested in this subject, I've got time.
|
# ? Jan 29, 2019 13:51 |
|
How Disgusting posted:Now the bad news. Games aren't a good field for AI for multiple, mostly financial reasons. Developing content doubles your investment, developing premium content quadruples your investment, and developing AI for games creates no added value whatsoever. Also most people who have the right skillset and experience to make good bots work with databases and/or for large institutions and the game industry simply cannot afford them. There is also a question of time. Game developers have to make simple, tried solutions in short timeframes, since they're working on multiple sweatshop projects in series/parallel. AI dev is the opposite, involving a lot of experimentation and patience. Yeah, an important aspect of games is that in the end, the only thing that matters is what the player sees. When an enemy pops out of cover to take a shot at the player, it doesn't matter to the player whether that decision was based on a complex multifaceted decision tree taking into account things like the position of other enemies, weapon type, level geometry, etc., or if it was just a matter of "If see player -> shoot player". Making an AI that is really good at playing the game is no use if you cannot meaningfully communicate that intelligence to the player, and offer them ways to interact with it.
|
# ? Jan 29, 2019 14:29 |
|
The thing is that in most games you don't really want the computer to be good, you want it to be fun. In an FPS it's fairly trivial to make an opponent that spins around constantly while it walks and pixel perfect headshots anything in range and if you try to train an AI with winning as the condition it will always converge on a solution like that. But like, no one will see that and be wowed by the AI, by the 500 layer neural network that independently developed the strategy "spin around and aimbot headshots" and will in fact think it's a WORSE ai than a simple dumb script that tells the character to just walk forward and shoot continuously. Like we generally don't want ai that actually figures out the actual best way to play, we want a fun opponent that does lots of stuff in a way that 'feels right" and that is way harder and mushier a goal.
|
# ? Jan 29, 2019 14:39 |
|
Owlofcreamcheese posted:Like we generally don't want ai that actually figures out the actual best way to play, we want a fun opponent that does lots of stuff in a way that 'feels right" and that is way harder and mushier a goal. Thing is, once you have a human-level bot (human level for that game and level, not human level in general which is the definition of strong ai), it is almost trivially easy to increase its reaction time to human levels using a coroutine and/or a timer, and to give it a chance to make a mistake or suboptimal move (do random thing or choose a move from listOfNoob). You can even give the bot different personalities, eg. a fanatic that doesn't take sources of damage into account, a noob that doesn't account for disables and debuffs, or a hunter that prioritizes safety and terrain and makes fast, decisive strikes. It's almost like DnD, you want your bots to be interesting, but you don't want them to jump out of cover yelling SNEAK ATTACK before decapitating the player and running off into the woods laughing.
|
# ? Jan 29, 2019 15:12 |
|
It's not trivially easy to make an effective AI into a fun AI at all. EDIT: The error in this thread is really considering making 'advanced AI' as separate from the rest of the game design. It's not, not even remotely. Usually games with 'good AI' are games designed around the AI, and making a game that the AI knows how to play in a fun way, as opposed to making a game and then teaching the AI to play it. You can look at stuff like the improvement in the Total War siege battle AI going with the simplification of the siege maps as an example. And stuff like the Total War battle AI is a ton more advanced than your half life AI but it needs to be to just be vaguely competent. (Having to form battle lines, and think about facing and morale is a lot more complicated than just flanking the player.) Fangz fucked around with this message at 15:29 on Jan 29, 2019 |
# ? Jan 29, 2019 15:21 |
|
Fangz posted:It's not trivially easy to make an effective AI into a fun AI at all. It's a chance to make a random move (or do nothing) every tick the AI updates, which scales (inversely and linearly) with the bot's difficulty setting. It's literally one line of code when you run the bot. Go teach your grandma to suck eggs.
|
# ? Jan 29, 2019 17:43 |
|
|
# ? Apr 29, 2024 03:50 |
|
Owlofcreamcheese posted:The thing is that in most games you don't really want the computer to be good, you want it to be fun. In an FPS it's fairly trivial to make an opponent that spins around constantly while it walks and pixel perfect headshots anything in range and if you try to train an AI with winning as the condition it will always converge on a solution like that. Yeah if the AI is too smart & you never even have a chance to win, that's no fun. Like in all the Chess programs I've tried, even on the lowest difficulty setting, the AI is still too smart for me & I have no chance of winning against it
|
# ? Jan 30, 2019 10:26 |