Don't know how many gamedevs are here but I've always wondered if within gamedev, there's differences in how much info/best practices are propagated within the field. Graphics seems to be something that devs keep tabs on with each other. But maybe AI is more siloed off? I'm not sure what 10 years in improvement in AI looks like (as I do with graphics), but the algorithms and details [0] seem straightforward, or at least not impossible for a talented team with resources to build upon. I haven't played F.E.A.R. so maybe there's something about the game that vastly simplifies the factors?
First, remember the first principle of game AI, the goal is not to defeat the player but to entertain him. A simple way to say it is that too good AI is not what you want.
Secondly, for most games, the fun is simply not on the AI component of the game.
If you take those two points together, 1) good game AI is tricky concept, 2) that's not where the fun is anyway, then you got that not a lot of people cares about game AI.
Does the fact that people tend to spend more time on the multiplayer component of a game rather than the single player play any role in this 'not caring about AI'.
I mean, I really did not enjoy playing against AI because they are quite stupid in most cases, and the only way to make a singleplayer become harder does not seem to be to make the AI smarter, but rather have some 'modifiers' against the player.
For example in L4D, the damage you take from a hit by a common zombie on normal difficulty is 10HP (out of 100HP), but on expert the same hit is worth 20HP.
Other things to make it harder would be to spawn in more NPCs and just get the player more busy, or speed up the events in the game (like tetris).
But in all games with a decent multiplayer, it is just _way_ more fun to play against other human beings rather than shooting a bot. Because it actually poses a challenge.
I second this... the only reason I jump straight into the multiplayer when I try a new game is because the single player AI, at every difficulty level, in almost every game, is dumb as rocks. Making the AI "way too fucking smart" at insane/hard difficulty and then dumbing it down seems way, way, way better than hitpoint modifiers. I don't think smart AIs are written and then scrapped... that cannot possibly be what really happens?! Horrible if true.
>the only reason I jump straight into the multiplayer when I try a new game is because the single player AI, at every difficulty level, in almost every game, is dumb as rocks.
There's more to it than that for me. No matter how good the AI is, shooting at AI feels empty and dull compared to shooting at actual people. Not only are you assured cunning, but also someone who hates your guts and lets you know in chat! I suspect many others feel that way too, deprecating singleplayer in favor of multiplayer from the get-go.
>Making the AI "way too fucking smart" at insane/hard difficulty and then dumbing it down seems way, way, way better than hitpoint modifiers.
It sure does. Have you ever played Civilization? The AI is always dumb; the only way to make the game harder is to make the game fundamentally unfairer. In this case, making the AI smarter is a much harder problem than in a shooter game though.
> Not only are you assured cunning, but also someone who hates your guts and lets you know in chat!
Wow, this is precisely what turns me off multiplayer. I don't want to chat with someone who hates my guts, or tells me I'm a newbie, or mocks me for not playing perfectly. I remember CounterStrike 1.6 used to be toxic like this, populated by teenagers with too much time in their hands, outplaying you at every turn, and constantly insulting you.
No, thanks. Singleplayer doesn't belittle me, and is more immersive.
I completely agree! I like the "idea" of multiplayer, but, in general, the best thing about multiplayer is also the worst thing: other players.
Being punished for being new or not that good or not having as much time as the teen players (who are often the largest percentage of the game) is not my idea of fun. I remember I played an FPS a few years ago (won't say which one) and it felt like I was being punished for trying to get into the game. So I uninstalled it. As far as I can tell, the game is more or less dead now. By punishing new players, the fans killed the game. Yay for them. Instead, I moved on to some great single player games which treated me well and were much more fun for me to play.
Being punished to get into the game is annoying. I have been on both sides of it, and I actually understand the other side pretty well.
On Left4Dead(1 and 2) I was part of those people "punishing" new people in a way. There was this rule that we would kick anyone who had less than 500 hours on the game, or less than 1k if everyone of the friends we played with had more than 1k hours.
We were not insulting to the new guys in any way and usually just asked them to leave. But if they would not leave, we would kick them. But to be honest, if they would stay in the game, it would not have been fun for any of us. For us it would have made the game too easy, and for them they would just quit after a few minutes of getting dominated anyway.
When you are new to a game, I think it makes more sense to just play with friends who don't mind sticking up with you being new, or trying to find a way to play with other new people. When I got kicked from playing a game like Payday, I did not mind because I know that I am a noob and that If I end up playing against people who are far above my level, it would be fun for neither of us.
Sorry that you had that experience though, if you stick with some of the multiplayer games - through the horrible community sometimes - it actually can be quite fun. But my advice would be to find some dedicated people to play with, they really make any game more fun.
Interestingly, I did play L4D2 for a while without any problems. I also sometimes played other multiplayer games, for example league of legends (which does have some very toxic players, but for the most part wasn't too bad, although I typically played with at least one friend on my team).
I've also had games where I think the games design actually greatly influenced how much new players were being punished, for example by giving players who've played longer much better equipment. I've experienced that too and that was extremely not fun. That particular game also isn't active anymore as far as I know. So it's not just the players. My gaming time is too limited these days to play something toxic, be it players or the game itself.
But my advice would be to find some dedicated people to play with
I'd love to, but after work and other obligations, time is short and syncing up with my game-playing friends is hard. Most of them also play different games to what I enjoy so it's hard. The best I've managed is to get a friend to play dark souls 3 with me maybe one night a month... :(
I usually play through the campaign first. Not because the AI is clever, but because I want to know the story, why we play certain maps, etc. FPS games are not well known for having well written stories, but I still find them entertaining, just as I find games like The Last of Us.
The new Battlefield game was probably the first were I have only played the multiplayer (and lots of it).
"There's more to it than that for me. No matter how good the AI is, shooting at AI feels empty and dull compared to shooting at actual people."
It could be true. Making them people-like might get close to that mark, though. When I did multiplayer on COD Ghosts, I thought I was playing against actual people since they were acting like players. Then, I asked my brother which company he chose for Internet. He said he didn't have Internet. That I was playing against bots. One of few times I was speechless over an AI performance.
That might say more about the average player of modern cod games than the AI to be honest..
Most pub games on cod are too easy and thus you might as well be shooting bots. I would be truely impressed if the bots could match games in clanmatches etc.
Of course, the point would be to have AI good enough for the average player. so that is pretty neat!
You also did not have to suffer from kids shouting on the voicechat and all the bad community parts :-)
"That might say more about the average player of modern cod games than the AI to be honest.."
Lmao. You got me there. I didn't consider that. It does seem more than that, though, as the bots did things like camping, soloing, revenging, or careful groups. The CoD player knockoff might be behaviors like tea bagging. It did something goofy but I cant remember if it was that or something else. Once he said it was bots, I quicky found its weaknesses to start killing them in mass.
"You also did not have to suffer from kids shouting on the voicechat and all the bad community parts :-)"
You might be semi-joking but this is a real market. Lots of people got off Live or at least its voice features because of this. We're even talking on an invite-only, low-noise forum for similar reasons. So, AI or game developers should keep that in mind when making tradeoffs in marketing.
It was more of a sadly-but-true statement than a joke, as I completely agree with you that there is a market there.
Around the same time my friends and I started having families, most of us stopped gaming online because it was hard to coordinate all of us having time to play together, and playing with random people online was (often) a bad experience as we could not play 'on their level'.
A game with an actual good AI that feels like real players (without the annoyance of them) would be something I could see myself spend some time on.
> Making the AI "way too fucking smart" at insane/hard difficulty and then dumbing it down seems way, way, way better than hitpoint modifiers.
In principle, sure. However, taking a "way too fucking smart" AI and dumbing it down believably isn't necessarily that much easier than going the other way, taking a dumb AI and smarting it up.
Problem is you can't just slap a "dumbassness" dial onto a smart AI in a way that appears natural.
Possibly the simplest attempt could be to take a "way too fucking smart" AI and represent the dial as a probability that the AI takes a random action instead of the way too fucking smartest move. That gives you a very nice smooth continuous dial that will correlate monotonously with difficulty level.
But if you were to play against it (by which I mean you, cause I suck at videogaming, myself), you'll probably figure out soon enough that it's a strictly artificial handicap providing the difficulty, in a very similar manner to changing the monsters' HP or speed. Also it's not a lot of fun, if close to the hardest difficulty, you just luck out and the monster performs the most stupid move, and trips itself or something.
Such a dial doesn't represent cleverness. I suppose you could attempt something a bit less artificial, like limiting the search-tree depth for the planning algorithm or something. Question becomes how granular that dial would be (search-trees aren't that deep usually) and what settings correspond to what difficulty level, you'd need to playtest this. Also the question remains to what extent this artificial limitation will appear obvious or not.
I agree with you, a smart AI with programmed randomness of stupid errors would be noticably fake. But it's still way better than the dumb AI in most games that I can easily out-maneuver. At least with a smart AI, the hardest difficulty will actually be challenging and exciting. If it's too smart, I can artificially dumb it down by choosing an easier setting... but at least I, the gamer, am making the decision!
That seems backwards to me. Why not make a challanging AI for hard mode and then dumb things down for normal/easy. That's would appear to be more challenging than just upping the enemy stats for harder modes.
Tuning the difficulty of an AI in such a way that it seems natural is very difficult. In chess for example when you turn down the difficulty the AI tends to still play like a god for a couple of turns and them makes a complete blunder. That's not how weak humans play.
Interesting, and I mostly agree. My only point of disagreement is that, as a 40-something, I've no interest in multiplayer games. I don't want to play with random strangers (especially not with teenagers who are sure to beat me and trash talk me in the process), and most of my friends are busy with their families, and coordinating a time where everyone can (and wants!) to play a game such as L4D or Overwatch or Insurgency or whatever is very difficult.
Therefore, I've always enjoyed single-player games more. I fully agree that I do not want the AI to beat me every time; that's just frustrating. I want to be entertained with a good challenge that I can ultimately defeat. Surely there is an interesting game design challenge in this field?
Sure, I can answer your question. Probably the largest community of game AI devs is the Game AI Programmers Guild [1], which organizes an AI summit at the GDC every year, and has its own mailing list etc. On the European side, the Nucl.ai conference [2] fulfills a similar need for devs who don't want to travel nine time zones to California. :). Finally on the academic side, the annual AIIDE conference [3] brings both academics and devs together.
Between those three and their proceedings or conference videos, it's really easy to stay on top of developments in the industry. For an example, check out the AI Summit videos on the GDC Vault - many of them are free.
Planning approaches were a pretty new thing in games 10-15 years ago, but since then there's been a lot of work on exploring them, and people understand their benefits and limitations much better these days. For an example, there's a great study of the use of planning across many games by Eric Jacopin at GDC 2015 AI summit.
AI is like rendering in that the programmers doing that tend to cluster together at conferences, so they aren't completely siloed. The subfields that don't have that clustering effect are the ones not established enough that it's become a known specialty. Where isolation tends to be more obvious is when looking between different sectors of gaming: people working on mobile F2P have a vastly different view from AAA console devs, and both are likewise different from indie PC devs.
But AI in games does have a bit of an identity issue at times in that the obvious application of game AI(an AI opponent) doesn't represent the broader picture(FSMs appearing in every character controller and interactive element, planners employed in some forms of procedural content generation). With machine learning being the hot thing now, some AI devs are looking for angles to use it, which tends to push them towards backend data work that isn't too far removed from what other web and mobile companies are doing.
This is my understanding as well. Game AI is about "looking" intelligent (or as someone else in this thread said, about providing a fun experience to the player) and machine learning is about finding optimal solutions or predictions.
Also, nobody wants to run a google-sized deep learning network or what have you in order to train a mere game AI.
Secrecy is pervasive in the game industry, and used to be much worse. In many cases it goes as far as lawsuits over things that would be relatively minor and not worth suing over in other industries - like the look and feel of speech bubbles in multiplayer games.
Things have gotten better over the last decade or so, with game studios letting developers publish research papers or slide decks or even entire software stacks as open source. Sometimes studios pay to send developers out to give talks and do recruiting. A decade ago, it would have been a hard sell to even get permission to buy your own ticket to a developer conference at most studios. The last AAA studio I worked for had similar policies - only a few people at the studio ever went to conferences, and we all had to pay out-of-pocket. That studio's policies have changed and they now let employees give talks. In comparison, the silicon valley firms I worked for had better wages and encouraged us to both attend and give talks. I think some of the improvements in games industry culture here have probably been triggered as a result of competition from SV startups and open source.
When it comes to AI there are specific challenges: It's very hard to repurpose one game's AI for solving another game's challenges. It's very difficult to build truly general AI frameworks. Good game AI depends on knowledge of game systems, content, and mechanics - how each ability works, how the environments are laid out, the structure of level objectives, etc. All of these things can end up changing during development, and in a multiplayer game they may vary from match to match. As a result, even if you have a bunch of knowledge from other titles and you can reuse source code from the best titles in the market, you may still fail to build good AI for your game on your first few tries. It's that difficult.
General purpose machine learning frameworks have helped here though, and people using off-the-shelf engines like Unreal can take advantage of all the existing tools there to start building AI quicker. So that's nice.
Is the need to make your AI act as if they're working off of a different information and ability set than they are a factor?
For example, I remember when you turned the difficulty up to 11 on the AI from the first Black Ops game, the enemies just turned into aimbots with a half second or so delay before firing (made watching the kill cam pretty funny). On the other hand, it's not feasible to hand your AI a depth field (which is already not super cheap to produce) and have them use real computer vision methods on it. Also it would probably be too strong a nerf, and now you'd have a very expensive and laughably inept AI.
[0] https://news.ycombinator.com/item?id=14029136