Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Amarcarts
Feb 21, 2007

This looks a lot like suffering.
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

Adbot
ADBOT LOVES YOU

Byolante
Mar 23, 2008

by Cyrano4747

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

Mordja
Apr 26, 2014

Hell Gem
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.

SlightlyMad
Jun 7, 2015


Gary’s Answer
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

Mandoric
Mar 15, 2003
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.

Eschat0n
Jan 16, 2019
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...

Mayheim
Jun 15, 2006
Alien Isolation has some pretty good AI since there's really only 1 enemy playing hide and seek with the player.

Old Grasshopper
Apr 7, 2011

"Patience, young grasshopper."
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.... :words:

The Grey
Mar 2, 2004

The AI for drivatars was some complex in Forza that processing for them had to be offloaded to the cloud.

Attack on Princess
Dec 15, 2008

To yolo rolls! The cause and solution to all problems!
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

grrarg
Feb 14, 2011

Don't lose your head over it.
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.

"We were quickly bottlenecked by that and it was a bit frustrating, because we thought that this was going to be a tenfold improvement over everything AI-wise, and we realised it was going to be pretty hard. It's not the number of polygons that affect the framerate. We could be running at 100fps if it was just graphics, but because of AI, we're still limited to 30 frames per second."
https://www.videogamer.com/news/assassins_creed_unity_is_900p_30fps_on_both_ps4_and_xbox_one

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.

Calibanibal
Aug 25, 2015

Check out oblivion and its Radiant AI. Its incredible

Calibanibal
Aug 25, 2015

The actual best AI in any game is Darwin's Pond

Mr. Meagles
Apr 30, 2004

Out here, everything hurts


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.

Roluth
Apr 22, 2014

Tom Gorman posted:

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.

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.

ninjewtsu
Oct 9, 2012

Have there been any advancements in strategy game AI? seems like a genre that would value it more than others

Savage For The Winjun
Jun 27, 2008


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

greententacle
Apr 28, 2007

Mr Bubbles

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.

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...

What's GA?

greententacle
Apr 28, 2007

Mr Bubbles

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?

Inexplicable Humblebrag
Sep 20, 2003


nm, what's GA with you?

(Genetic algorithm I assume)

a glitch
Jun 27, 2008

no wait stop

Soiled Meat
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.

How Disgusting
Feb 21, 2018
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.

Perestroika
Apr 8, 2010

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.

Ask away if you are interested in this subject, I've got time.

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.

Owlofcreamcheese
May 22, 2005
Probation
Can't post for 9 years!
Buglord
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.

How Disgusting
Feb 21, 2018

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.

Fangz
Jul 5, 2007

Oh I see! This must be the Bad Opinion Zone!
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

How Disgusting
Feb 21, 2018

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.

Adbot
ADBOT LOVES YOU

greententacle
Apr 28, 2007

Mr Bubbles

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.

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.

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply