Hey folks, let's start with a wee heads-up: this video is a reproduction of talk held
at the GameCity festival in Nottingham UK back in October of 2015.
So we've put the original talk back together along with some cool new stuff in there too.
It's sort of like a director's cut: except I'm not fleecing you for more money given
we're delivering slightly more content to you in a more prestige format.
*Ahem*, anyway, on with the show.
It was previously thought back in the early 2000's that the internet was built for people
to discuss movies in a highly negative fashion and share explicit material with each other,
but man were those kids wrong.
If anything, the internet now thrives on the ability to discuss, market, complain, distribute
and complain some more about all sorts of digital media, but especially games.
Now the discussions on games can range from publishers, to developers, creators, critics
and more, but let's focus on something specific: we love talking about design.
People go on the social network thingies to discuss games they love and games they hate.
Sometimes the reasoning behind this is really subtle, painfully specific or deeply personal.
But the thing is that we, personally, know 'good' video game design when we see it.
Now the idea of something being 'good' is really hard to determine and we'll come back
to that, but it's really the brunt of where our discussions are focussed.
This makes for all the more interesting discussion, given that creating good games isn't exactly
easy.
While defining something as good or bad is can prove controversial (since one persons
idea of good might be anothers idea of bad), there's also the issue that there's no guidebook,
no recipe, for making well-designed games.
It's a very time consuming process and often requires a lot of attention to detail, extensive
playtesting, gathering feedback from your testers, and scrutinising even the tiniest
of aspects behind it.
So returning to our earlier point, we're often quick to identify a 'good' game when it's
placed in front of us, but trying to explain in detail why that game is well designed can
prove really taxing.
Even when much of the technical challenge is removed, building fun and interesting games
is still immensely difficult.
A fun contemporary example is that found in Nintendo's 2015 release Super Mario Maker:
which allows you to build Mario levels using a remarkably flexbile set of tools.
If you were to peruse the millions of levels now built in Super Mario Maker, you'd quickly
realise that a lot of them are not that interesting or even good.
We don't mean to discourage or upset anyone who has made a level in Mario Maker, but let's
be honest, most of them are pretty terrible Mario levels.
Now, note that little distinction I just made
"TERRIBLE MARIO LEVELS"
... meaning levels akin to the design principles of Mario games.
Sure, there are plenty of interesting levels doing some really amazing things: ranging
from playing music to completely automating the gameplay experience (and don't get me
started on Kaizo Mario: seriously, just look it up), but how many are good Mario levels?
In my opinion there is a rather interesting phenomenon happening in Mario Maker, in that
now we have the tools to make our own Mario games, we've decided to completely mix it
up and do things that are subversive or simply anarchic.
But thing is... is anyone making levels designed to replicate or instil the design principles
of classic Mario games?
Given the nature of how the community bubbles to the top the more sensationalist and crazy
levels, would you even know they existed?
Now the real 'problem' if you will that exists underneath all of this is that we don't really
know what Mario levels are: like I said earlier there's no recipe for well-designed games
and as-far-as-we-know, there is no recipe for good Mario levels that Nintendo themselves
have publicly expressed.
But Tommy - I hear you cry - what's this got to do with AI?
WELL, I AM GLAD YOU ASKED!
See, everything I've just been talking about is highly subjective - in other words, what
I might think is a terrible game or level you might love and indeed vice versa.
There are means by which we can express our opinions, but there are no formal metrics
for determining whether a game is good or not (and if anyone says there, they should
be shot out of a cannon, preferably into the sun).
So this proves really difficult (or a more appropriate term would be interesting) for
AI research.
Why is that?
Well, for one thing, we're used to dealing with metrics, or really just any means by
which to quantify progress or success in a given problem (if you go and watch the AI
101 series, I talk a lot about rewards and how they influence decision making).
So building AI systems that solve specific tasks requires means by which to quantify
whether or not we are going to succeed at that problem.
If we were to program a navigation system, we would need means to express how close we
are to our destination and also thinks like resources (such as energy or cost) needed
to reach that location.
That way, we can ensure the AI crosses that distance as fast as possible.
This is all of particular relevance for what we call PCG: procedural content generation.
PCG is, in broad academic speak, the study of software algorithms that create content
with respect to a particular problem domain using some form of intelligent process with
potential some pseduo random number generation thrown in for good measure.
In more laymans terms it is an algorithm that makes something: that something could be a
level, a non-player character (NPC), a weapon, a piece of armor, a storyline or quest within
the game.
Making intelligent decisions with respect to the game state, these systems craft new
content that is expected to operate within and adhere to the rules of the game world.
But herein lies the more interesting problem in PCG research: ensuring that procedurally
generated content is well designed.
How do we know if a generated weapon is cool, or if the level I made was fun?
I simply don't know that.
I can perhaps quantify whether that object is functional: in that the player can navigate
the level without dying or the weapon can actually be used to defeat enemies.
But the quality of those items is subjective: this is where many games that adopt PCG adopt
different approaches to resolving the issue of quality.
In cases such as level creation (see Minecraft and the like), the game constrains the types
of levels that can be made.
Meanwhile in Borderlands, the guns are designed to be disposable: if the gun I just found
is rubbish, that's fine: I can either throw it away, trade it, or sell it in the knowledge
that I'm bound to find another one soon.
So bringing this back to point: AI-driven game design is an excellent problem space
for researchers and developers to explore, because it's one of a handful of interesting
problems that exist where we can't formally define the quality of the systems answers.
We can have this super intelligent level-creating AI algorithm, but unlike most problem areas
where we are emrely interested in whether the answers are functionally correct, we have
to consider whether they will illicit emotional reactions with players.
As a result, there is a growing body of research focussed on procedural content generation.
This takes a number of interesting avenues in ensuring that the content that is being
created is well designed.
In academic literature we typically consider whether the generative system is adopting
a theory or data-driven approach.
In the former, we're making assumptions beforehand of how our content should be crafted.
This is quite a common method given that we typically want procedurally generated content
to adhere to specific rules of the world.
However, it can often be quite limiting, since we are injecting bias before any content is
crafted about what is 'good' or 'bad'.
The alterative, the data-driven method is more reliant upon player modelling, given
we gather data while players are playing the game about how they interact with the content
being built.
There is also the issue of whether we allow players to be aware of - and interact with
- the generator while it is active.
As we'll see shortly, this can lead to some interesting results.
Furthermore, the means by which we *build* the content varies wildly throughout the field,
with a lot of work still adhering to what we would call a constructivist approach - whereby
content is made and potentially tested before unleashed upon players.
Despite this, there is a growing body of work now adopting machine learning algorithms that
evolve and build as a continuous and adaptive system.
Now many people will be familiar with exampls of PCG from both AAA and indie video games,
but it is an increasingly popular area of academic research.
Perhaps the most popular example would be the Mario AI competition, something we've
talked about before on AI and Games (and it's a pretty popular video of ours).
The competition ran for a couple of years and was focussed on creating
'INTERESTING'
Mario levels in the eyes of judges.
This resulted in a variety of different approaches that relied on either established chunks of
gameplay being stitched together in an intelligent fashion, or through the use of metrics and
heuristics that were defined by the person who created the system.
An example of this is Ben Weber's submission, which built each level in a multi-stage process
working through backgrounds, platforms, bricks, coins and enemies individually.
While the competition has since ended, the work continues on in various forms: with most
recent work by Steve Dahlskog experimenting in design patterns to build levels up in through
the creation of individual slices, to work by Matthew Guzdial who is using YouTube long
plays to learn about Mario level construction.
In many respects, the focus is less on whether a Mario level can be made, but whether AI
can tap into that secret, unspoken 'Mario formula'.
Another well known area of research was the indie game Galactic Arms Race developed by
researchers and students at the University of Central Florida.
In GAR, particle weapons for a space combat game are procedurally generated using a learning
algorithm tailored to player tastes (in other words, if you keep firing the gun, we think
you not only like it, but would like new guns based upon it).
We have a full video already on AI and Games that goes into this in a lot more detail.
But there is SO MUCH MOAR happening in the field now that we don't even mention here
in much detail, ranging from:
- generating text adventure puzzles using open world data.
- the creation of dungeons and their mazes complete with monsters and treasures.
- procedurally crafting enemy AI using modular components.
- building fully playable Legend of Zelda dungeons.
Much of this work is still ongoing and is still being developed at academic institutions
around the world.
No doubt we will come back to talk about some of these in future videos.
Now in all of these cases, we are looking at the creation of content within an established
game, such as the levels of Spelunky or No Man's Sky, or the weapons of Borderlands and
Destiny, some research spans far beyond just creating just parts of a game.
Instead, it looks to build the entire game itself.
Automated game design is a form of computational creativity research: a field of study that's
part computer science and part psychology, as AI systems are built designed either to
adopt or be influenced by the creative processes of humans.
A popular example is the ANGELINA system developed by Mike Cook.
ANGELINA is a continually developing project focussed on automated design.
It can create a variety of different games in the Unity game engine.
One of its most famous games created is To That Sect: a game made for the Ludum Dare
game jam.
The games that ANGELINA create are arguably not as rich as many similar games on the market,
but hey cut it some slack, there is SCIENCE happening up in here.
This thing makes video games entirely by itself don't you know!
Indeed much of the discussion around ANGELINA is focussed not just on what it can create,
but whether it could be deemed to having any form of artistic license.
All in all, this is just a brief overview of just SOME of the PCG research that's been
going on in the last 10 years.
This video could easily be 4, 5 10x it's current length if I wanted to talk about everything
happening out there.
But this video is really just focussed on explaining what the fuss is all about for
us researcher types.
With that, we'll wrap it up for this video.
Thanks for watching and don't forget to like and subscribe for more AI and games goodness!