Jump to content
  • Advertisement
Rockroot

R&D Looking for Related Work and feedback concerning "Approaches to Game AI under Consideration of Gameplay Mechanics"

Recommended Posts

Posted (edited)

Hello dear AI folk!
 I picked up a passion for Game AI a while ago and I wanted to join a community for a while now. This seems to be the right place to get cozy.

Now, for my bachelors degree, I am supposed to write a research essay (about 20 pages). I chose to title it "Comparing Approaches to Game AI imder Consideration of Gameplay Mechanics". In the essay I am making bold statements, concerning the state of related work in the field. I want to know, if it holds up to reality. And what better way to find out, than asking the community of said reality?   

Quote

IV. Related Work

 There are quite some sources to draw from, when entering the field of Game AI programming. “The AI Programmer’s Bookshelf“[1] is a good place to start a beginner‘s journey to this discipline of programmming. Next to the rather scientific analysis of the algorithms, there is alot of information to be collected from post mortems and anecdotal reports of AI hacks, tricks and work ethics to be found all over the internet, or comprised into books.

 On the other hand the field of game design is starting to create rules and tools for unified language. It is a requirement for research and communication of common patterns and conceptions in a way, that is re-usable as in science as in context of development. Lists of game design patterns and gameplay mechanics are yet incomplete and inhomogeneous in structure and detail. The information about any specific relation between types of gameplay and types of AI is vast, but barely exploited in form of scientific documentation.

This lack of documentation is comprehensible for two reasons: First, AI is a selling point for alot of games. Non disclosure agreements keep developers closemouthed about the details of recent or current work. Also, the player community is carefully respected for finding exploits in a game’s AI and possibly breaking the game for them and others.

Second, successful developers already do the right job and have no need for an abundant list of gameplay mechanics, game AI structures, or their correlation. Dedicated AI developers grow with experience at the hand of their productions, or by those of others in the form of post mortems. It is far more profitable for them to use their time applying the techniques, than documenting them.

Disclaimer: This is the first research paper I have ever done and it is work in progress. I feel that I suck at this.

The main question is: Does the above statement hold up to reality?
But please don't shy away from corrections or general advice.

I would also like to share the completed work as soon as it is done, if anyone is interested. I am in dear need of some feedback, that I personally can grow by.

Cheers

Edited by Rockroot

Share this post


Link to post
Share on other sites
Advertisement

I think your middle two paragraphs don't hold up.

First, saying that "lists of game design patterns and gameplay mechanics are yet incomplete" poses the question - what would it mean for a such a list to be complete? It also presumes a much greater agreement on what a 'game design mechanic' is than actually exists. Lots of the top minds in game design have debated and discussed this issue with no consensus. You see this clearly in Jesse Schell's book "The Art of Game Design" which is subtitled "A Book of Lenses" because there is no taxonomy or periodic table of game design, just a lot of different perspectives you can take - lenses through which you can look.

Second, "The information about any specific relation between types of gameplay and types of AI is vast..." - why do you believe this? Why, in fact, do you believe this central idea that there is such a relation? Perhaps that is what is in other parts of your work, but I would generally disagree with the notion that AI algorithm choices follow gameplay mechanic choices. There are some correlations that occur but that is often just down to circumstance. For example, behaviour trees were invented by someone working on a shooter game, and were presented in that context. Therefore other people making shooters could be confident that it could solve their problems. That doesn't mean they're not applicable to other games - in fact, they pretty much work in almost any game where individual agent control is needed and the number of distinct options are reasonably small.

Third: "...but barely exploited in form of scientific documentation" - game developers aren't scientists. Why is scientific documentation expected? It's not even clear how this sort of information would be empirically studied.

Fourth: "First, AI is a selling point for alot of games. Non disclosure agreements keep developers closemouthed about the details of recent or current work." Not really. Very few people are doing anything so groundbreaking with their AI that it's a major competitive advantage. For the most part AI programmers are using the same tools as all their peers. And many of them are sharing their work at GDC and other conferences every year, or publishing their techniques in the books you see listed on the link you provide.

Fifth: "the player community is carefully respected for finding exploits in a game’s AI and possibly breaking the game for them and others" - revealing which algorithm was used in a game is almost never going to affect whether it is exploitable or not. Exploits usually become possible due to bugs (which aren't part of the algorithm) or bad/incomplete data (which isn't part of the algorithm).

In my opinion, you need to question your title - why do you think there is this direct connection, and how reasonable are your expectations for gameplay mechanics to exist in list form?

 

Share this post


Link to post
Share on other sites

First off, thank you, Kylotan, for your feedback. I'm a bit baffled by my own false assumptions. Thank you for pointing that out. I guess, one or two of your concerns can be fixed with reference to the work done in the paper: I will come back to you about this. 

You did me a great deed for the Evaluation-part of the paper aswell, thanks again.

However, that does not make me any less panicy. But holding my hand was not the point of this post anyway, or was it.

Share this post


Link to post
Share on other sites

I believe I'll be a bit nit picky throughout my answer, but bear with me, I do mean it to be a constructive feedback.

First of all, for a research essay, you got the start backwards. You don't make claims and then go check if they are true (if not for anything else, this will bias your search and, potentially, your outcome). In general, you'd first get a good grip of the current state of affairs and then make either informed question or informed speculations about Game AI (say, based on the lack of documentation, interview so and so, I expect that AI is very strategic for profits, then you go and show whether your view holds or not based on however you measure this).

Second, in a section called related work, you cannot possibly have a single reference. Whatever you claim to be the state of any aspect of Game AI, you have to back that up with a reference. It can be interviews from people from the industry, publications, magazines, books (but avoid opinion blogs and such), but whatever you state must come from somewhere or be the thing that your research will uncover.

 There are quite some sources to draw from, when entering the field of Game AI programming: you showed only one, what are the others?

Next to the rather scientific analysis of the algorithms: what do you mean by 'rather scientific'? mathematical description? 

On the other hand the field of game design is starting to create rules and tools for unified language: Such as? Who is 'the field'?

It is a requirement for research and communication of common patterns and conceptions in a way, that is re-usable as in science as in context of development: I don't get this. AI is a very well established research field and as such will very likely have well defined rules and patterns. Why do developers need something different? What do developers need? This doesn't seem to be a burden on the scientific community, but rather on developers to identify which algorithms/solutions to use.

 First, AI is a selling point for alot of games. Such as? How does AI impact profit? how many games are using AI in marketing? Can you put some numbers here?

Second, successful developers already do the right job and have no need for an abundant list of gameplay mechanics, game AI structures, or their correlation. What do you mean by 'right job'? Can you refer to something indicating that professional developers do not try to improve, or go in search of different mechanics?

It is far more profitable for them to use their time applying the techniques, than documenting them. While true, if a AI system is to be used for longer than one game, even as basis for the sequels, there is (monetary) value in documenting up to a certain degree. This brings the question, how much are those things documented? The fact the documentation remain within the company does not mean it doesn't exist.

 

 

There you have it. I've put my comments generally in form of question because this should be the mindset when writing anything academic. You must consistently ask yourself whether what you say is actually true or perhaps just some common perception. As is, this is fine for an informal work perhaps, but it needs to be more precise and grounded for anything more formal.

 

Hope this helps 

 

Share this post


Link to post
Share on other sites

Some of the major points have been listed above. A few others...

Jeff Orkin's reading/reference list hasn't been updatedWe  in years. There are plenty of other books and sites to look at in the past 5 years. In fact, that is a rapidly increasing occurrence. We share stuff. Books are almost too slow in sharing it because it changes so fast.

I didn't see a reference to GDC and, in particular, the annual AI Summit at GDC. If AI is such a protected secret, we would have hard a much harder time filling 12 hours worth of content for the past 10 years. There's also plenty of main conference talks about AI there as well. Many companies are very open about what they do and share many details. Simply open GDCVault.com and you will have 100s of hours worth of viewing material on AI alone. (Anything older than 2 years old is free to view... anything younger is only partially free to non GDC attendees depending on what GDC has released to the public.) For example, a few years back, Mike Lewis (Apoch on here) and I did a 1 hour lecture on my utility-based architecture (and a few other notes) and how we deployed it at ArenaNet in an expansion to GuildWars 2. There are now studios around the world that are implementing my architecture based entirely on that lecture. (Oddly, since I'm a traveling AI consultant for the industry, this could be viewed as cutting into my income stream, no?)

The AI architecture is often not the big differentiator in AI. If that were the case, there would be about 6 types of AI... total. Ever. And all of the games that uses the same one would give the player a fairly similar experience. Instead, the architectures are simply tools that the designers and programmers use to create behaviors out of. While the architectures can enable or make more difficult certain types of things, it is how they are used that makes the most difference. For starters on what those architectures are, use this: http://intrinsicalgorithm.com/IAonAI/2012/11/ai-architectures-a-culinary-guide-gdmag-article/

Your premise of matching AI approaches to gameplay mechanics may hold up a little, but not in terms of architecture selection. Moreover, it is based on designer notions, their control, and how they want the agents to act in certain circumstances. Largely that has nothing to do with the actual AI architecture (although adding certain things like advanced sensory systems, spatial awareness, etc. can make some things easier than not using them).

In short, your excerpt sounds a lot like one that an academic made at AIIDE a number of years ago where he stated as his presentation's opening line, "Let's face it... AI hasn't really advanced since Pac Man." It was meant to be a ridiculous laugh line to start a lecture, but that is the view of a lot of people (and his lecture was still leaning that direction anyway). Your paper sounds like you are still an outsider who is judging game AI based on what you figure is happening in the industry and is popularized by the game media (who often has no clue) and people grousing on reddit (who almost certainly have no clue). As a base for a paper, it seems very odd.

Share this post


Link to post
Share on other sites
Posted (edited)

Thank you all for your highly regarded feedback!

First off, it was obviously a false assumption on my part, that ripping a piece of my work out of context and presenting it would be giving me the answer I, in a way, desperatly wanted: That it is perfect, and done, and I can go play with my daughter.

On the other hand, I want to grow from this, and I am doing so by the minute.

                                                                                                      

To give some context of my situation:
This work should not be considered as a scientific paper (it might be more suitable as a Gamasutra-article ... or Buzzfeed?). The professors at my university (Digital Media: Animation & Game) had the ingenious idea, that students should prove their ability in researching skills in an essay in 20 pages and 6 weeks of time. This work is to be done next to a prototype of a game (or animation) and 40 pages of documentation (12 weeks). In the years before it was common, that students just do 60 pages on the latter skipping the research part all together. I can see the rational behind it, but I would be glad to write 60 pages about the above thesis, given I had enough time.

Also, I was told to write on a level, so that other students (2nd to 3rd semester) "would bleed less by reading my work, than by rumaging through the same journey". I read the Book of Lenses (in parts) for a project at the time. It was great to work with, but it was hard to convey the ideas to my fellow shoot-from-the-hip students ("I liked playing this game, and that one; I'm gonna mash them together!!"). Game design patterns may be useless when creating a new game. I suppose, they are constraining the creative process. But they can give an anchor to a discussion, a nomenclature of what is being talked about. That's why I think they can be viable at times (and I should add that line in my paper I guess)

Next of, I am an outsider. But I want to change that. Some years back I dipped my toes in AI as an intern, working on a (kind of) AAA title (and I do dislike publishers ever since). My (rather) futile task was creating a GUI for the behavioral AI inside the map editor. To unfold the mysteries of the AI's working, I was given "Behavioral Mathematics for Game AI" (Mark). I couldn't let go of the concept and this is why I am learning about AI in progress of writing a bachelor thesis about it.

                                                                                                      

To get back to topic:

14 hours ago, IADaveMark said:

The AI architecture is often not the big differentiator in AI.

 

14 hours ago, IADaveMark said:

Your premise of matching AI approaches to gameplay mechanics may hold up a little, but not in terms of architecture selection.

Well, that was exactly the thing that I was trying to prove. Sadly, I do not have the time for a fresh start. Luckily though, it is viable to conclude the bachelor thesis with exactly that finding: it's not about the architecture selection. There is a german idiom: 

"Konsequenz heißt, auch Holzwege zu Ende zu gehen."
It roughly translats to
"Being consequent means to also walk the wrong track to finish."

So I did two things: I brutalized 200 pages of chapter 5 (Decision Making) of "Artifical Intelligence for Games" (Millington, Funge) into 8 pages of explaining said architectures. Then, I found that swedish master thesis "Game Design Patterns for Stealth Computer Games". And now I am trying to find connections from one to the other. It seems rather pointless now.

To support my statements, i chose two articles from the Game AI Pro-series: How to catch a Ninja and Modeling Perception and Awareness in Tom Clancy’s Splinter Cell Blacklist. Neither of them treats the problem the way I want them to.

And that is, what I meant with the whole "secretive developers"-thing. I see now, that it is not about secrets. Writing about the AI architecture in comparasion to the game's mechanics just isn't that interesting.
But I still wonder, why? (It seems to be a prinicpal question for newbies ...)

EDIT:
 Thinking about the all-mighty burrito, I came up with my own metaphor:
When people go on vacation, they pack certain things. On a camping trip you should pack a tent, provisions and some means of cooking device. Depending on the weather, you should pack sunglasses (camping at a lake?) or a winter coat (Himalaya?). This, of course, is different from having a vacation in a 5-starred hotel.

 All good and well, but what I am interested in is: What car did you use to pack the tent and other things, and to go there? Was it a racecar? A truck? Or a train? (Et voila, your food is now a car) There must be some kind of relation there, or does it not?

 To explain the metaphor: The vacationists reporting about their trip are, in my mind, the AI developers.
Camping is one kind of vacation, like a game can often be categorized as one kind of game type.
The tent and other things are comparable to what makes this one AI in this one game special (like the way enemies detect the player).
 The means of transportation, thereby, is the underlying AI structure.

Do you see my point? Or is my assumption about the what-is-what askew (or plain wrong) again?  

                                                                                                      

I will keep the daunting task of answering to your concerns for a little later. For now I should get back to work.

Again, I really appreciate your feedback. Even though my self-confidence is, in a way, shattered, I enjoy that I finally came out of my box and joined a community. I hope to lose the [Young]-tag soon.

Cheers

 

PS. @Dave Mark, I read your Culinary Guide before and I loved it. My favorite quote: It depends. I fear that I am trying to do the same thing as you already did, but worse (or at least less informed).

Edited by Rockroot

Share this post


Link to post
Share on other sites
On 6/2/2018 at 3:14 AM, Rockroot said:

I was given "Behavioral Mathematics for Game AI" (Mark). I couldn't let go of the concept and this is why I am learning about AI in progress of writing a bachelor thesis about it.

Heh... if you can say, what studio were you working at and who gave you my book?

 

On 6/2/2018 at 3:14 AM, Rockroot said:

To support my statements, i chose two articles from the Game AI Pro-series: How to catch a Ninja and Modeling Perception and Awareness in Tom Clancy’s Splinter Cell Blacklist. Neither of them treats the problem the way I want them to.

Part of the reason that these don't fit what you are trying to do is that they are perception models which can feed into pretty much any decision architecture. This goes back to what I was talking about... that decision architectures are only a portion of what goes into "AI" for games. Much of the rest of it is the data you use, the add-ons like perception models, knowledge representation models, etc. That's why saying "[a game] uses behavior tress" doesn't tell you much of anything at all about what the AI is like.

Regarding your camping metaphor, one thing you are missing is that people may select their next vacation based on equipment they already have from prior ones. Or, more twisted, select a new type of vacation and simply make do with what they have from prior ones. To step back out of the metaphor, many studios don't change their AI architecture very often (if at all). They stick to the same type of game because they already have the underlying tech for it. Or if they do change the type of game, they make their existing tech work. For them, it beats the hell out of rewriting everything because they are wanting to go to a new place.

Share this post


Link to post
Share on other sites
Posted (edited)

The paper is done!

 and I would like to have your feedback on it. There is not a lot of new stuff in it, so it is more informational work than actual research, i guess. But I learned new things along the way and I was hoping for you to point out, again, where I might have misconceptions. It is 28 pages strong, so I won't force anyone to read it. Also, it is not the actual Bachelor Thesis.

Sneak Peek:

Quote

Abstract:
Often it is not clear to beginner and intermediate AI developer [Artificial Intelligence] what AI architecture to pick for their game. To find indicators this research project compares approaches to Game AI under consideration of gameplay mechanics, specifically stealth games. It has a look at 21 game design patterns, as described by Mengchen Hu in his Master Thesis Game Design Patterns for Designing Stealth Computer Games[1], as well as four in the process newly created ones, while considering impact on the AI Structure. It continues to summarize four of the most common AI structures, as described in Artificial Intelligence for Games[2] by Ian Millington, namely Decision Trees, State Machines, Behavior Trees and Goal-oriented Behavior. In an attempt to connect both summeries, four indicators can be found that indicate a relationship between gameplay mechanics and AI structure. The findings are then applied to two examples, Splinter Cell Blacklist [2013, Ubisoft] and Mark of the Ninja [2012, Klei Entertainment], and suggests State Machines as the AI structure of choice. It is not able to create hard and fast rules to select an AI structure for any given game.

 

[1] Cf. Hu, Mengchen. Game Design Patterns for Designing Stealth Computer Games. Malmö Högskola, Faculty of Technology and Society, 2014

[2] Cf. Millingtion, Ian. Artificial Intelligence for Games. 2nd ed., Morgan Kaufmann Publishers, 2009

If you want to read the full paper, please do PM me. I will upload it here soonest, but at this point I will wait for my teachers to grade it, to avoid accusations of plagiarism. I was allowed to send it via PM, though.

My Bachelor thesis will be titled:
Imitation of Player Behavior in Sandbox Games using Utility-based Rational Agents
and I would be glad to have some discussion (or have someone nudge me to interessting resources) 

Doing the Scrooge McDuck-dive into the GDC Vault now,
Cheers,

Edited by Rockroot

Share this post


Link to post
Share on other sites

I'm aware that I'm responding a bit late, but just to add a few thoughts:

 

On 6/2/2018 at 9:14 AM, Rockroot said:

Writing about the AI architecture in comparasion to the game's mechanics just isn't that interesting.
But I still wonder, why?

Perhaps one thing that isn't clear to an outsider (as you call yourself) is that in game development, and indeed much of software, 'architecture' is a floaty, fluffy, abstract thing. It's not like construction where 'architect' is a specific job responsible for most of the planning and then the building is constructed according to those plans. In much software, architecture is just the word you use to describe the structure that emerged from all the other collaborating and competing parts of the program. As such it's hard to speak on it with authority because it doesn't always exist as a discrete and distinct entity separate from the various features and concepts that it holds together.

 

On 6/2/2018 at 9:14 AM, Rockroot said:

When people go on vacation, they pack certain things. [...]

 All good and well, but what I am interested in is: What car did you use to pack the tent and other things, and to go there?

This is a good analogy, but not for the reason you think. :) When people go on holiday, they typically pack their stuff into the car they already own. They don't buy a new car for the purposes of the vacation.

So it is with games. If I'm making a game in Unreal, I'm going to do all the AI in terms of their behaviour tree system because it's already there and I can extend it to do what I want. But in Unity I might make something different, and that in turn might depend on the needs of the game and what code already exists. Unity comes with a rudimentary navigation and path-following system so I will write the character code to use that, and behavioural code will naturally layer on top of it. But it's driven by the pre-existing components.

Now, onto your abstract:

3 hours ago, Rockroot said:

four of the most common AI structures, as described in Artificial Intelligence for Games[2] by Ian Millington, namely Decision Trees, State Machines, Behavior Trees and Goal-oriented Behavior

I think part of the problem here is the underlying idea that these are 4 different, competing paradigms for AI, when in fact they overlap, being neither mutually exclusive nor sufficient in themselves. Some thoughts:

  • Decision trees, [finite] state machines, and behaviour trees are fairly simple reactive systems - goal-oriented behaviour (usually 'Goal Oriented Action Planning' in games) is usually a planning system. These are hard to compare directly, especially since it's not uncommon to have a planning system to choose longer-term goals AND a reactive system to handle short-term aspects.
  • Given that the 3 reactive approaches are, given a knowledgeable enough developer and sufficient time, broadly equivalent, the choice often comes down to what tools are already available in the system. As noted above, UE4 contains a behaviour tree system built in. I've heard of people actually using that system as a glorified finite state machine because that was what they were familiar with. But the thing there is that the first concern was the tools provided by the engine, and the second concern was the knowledge of the programmer - the type of game being worked on was not really considered relevant.
  • A decision tree is so basic a concept that it exists in your AI system informally anyway. A Behaviour Tree's Selector node is, essentially, a 1-ply decision tree. Likewise, a finite state machine can be represented as a decision tree where the early decision nodes are all "If agent is in state <X>". Few people in game AI use a decision tree in a formal sense - it is, however, a useful didactic concept to explain how a set of conditions can be ordered and aggregated to produce a choice, and allows you to consider how you would choose to build on that.
  • As Dave mentioned above, rather than there being a monolithic "AI system" you usually have different parts that cooperate. I like to think in terms of the Sense/Think/Act cycle, and while some approaches cover all three, most do not. For example, I might use influence maps to help with the sensing of good or safe locations, a search/planner like A* to decide which route to take to such a location, and then a set of steering behaviours to move the agent along the chosen route. These are the aspects which do actually vary based on the kind of game you're playing, because not every environment is suited to influence maps, or steering behaviours - but it is independent of the high level activity-selection that GOAP or behaviour trees would tend to handle.

Share this post


Link to post
Share on other sites
13 hours ago, Rockroot said:

Imitation of Player Behavior in Sandbox Games using Utility-based Rational Agents
and I would be glad to have some discussion (or have someone nudge me to interessting resources) 

I know a guy who is pretty much a go-to person on utility-based rational agents in open-world games. Is that close enough? B^]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!