0:04 everything is there great
0:06 great
0:08 right should i start
0:10 yes take it away okay
0:12 okay
0:14 hey everyone um i don't know how many of
0:17 you are there or where you are who you
0:19 are you're in stockholm i guess
0:22 i'm julian taglias and i
0:24 came here to talk about artificial
0:27 intelligence and games i was asked to do
0:29 a relatively broad
0:32 intro not presupposing very much so here
0:33 we go
0:35 um so first of all i'm at new york
0:37 university and missing the logo i'm also
0:40 a company called model ai in copenhagen
0:42 that's not where i'm from so let me
0:44 start by introducing myself
0:48 so i'm originally from malmo um i was
0:50 about to say the beautiful city of but
0:52 that would be a lie um i finished high
0:55 school there um even though i
0:58 very nearly
1:00 failed my mathematics classes
1:02 and i decided that i wouldn't absolutely
1:05 never be any kind of engineer or have
1:06 anything to do with mathematics i wanted
1:07 to study
1:09 philosophy and psychology in learn so
1:12 that i could understand the mind um that
1:15 i did but then um to my chagrin i
1:17 realized that i had to understand
1:19 understand
1:21 i mean really philosophy psychology
1:23 didn't really get me very far i had to
1:26 build the minds to to study them so i
1:29 did a masters in sussex england in
1:31 biological inspired ai and evolutionary
1:33 robotics and then i went to essex in england
1:34 england
1:36 and i wanted to
1:40 evolve neural networks to control robots
1:41 however what happened was that i
1:43 realized that
1:45 robots are really slow and they break
1:47 down all the time and they're noisy and
1:49 dirty and stuff like this so i decided i
1:52 could do the same thing in video games
1:55 and i discovered that well you could not
1:57 only use
1:59 uh games to sort of develop ai better
2:02 you could also use ai to make games better
2:03 better
2:05 and that's sort of these two things
2:07 became kind of my career throughout the
2:09 league the postdoc with jurgen schmidt
2:12 in lugano and i was faculty in idea at
2:14 the university of copenhagen for about
2:17 five years and now um um at new york
2:20 university for six seven something years
2:22 so i do
2:23 all kinds of things in the intersection
2:26 between ai and games i care about
2:28 using video games to make artificial
2:30 intelligence better and i care about
2:32 using um um
2:37 in in in and i care about using
2:38 artificial intelligence to make games
2:40 better so basically basically both
2:42 things so i'm basically going to do a
2:44 very sort of a
2:46 quick dip into some of these topics here
2:49 and then we can do more q a afterwards in
2:51 in
2:53 any language that i speak
2:56 it's not that many of them um
2:57 um
2:58 right i mentioned artificial
3:00 intelligence a lot uh
3:01 uh
3:03 in my intro what is artificial
3:05 intelligence you may you may or may not
3:07 have taken an artificial intelligence
3:09 class i was told that i really shouldn't
3:11 suppose that you had
3:13 so this may seem still to be a bit
3:16 mysterious here in the background is hal
3:18 from um
3:21 the 2001 a space adventure or space
3:24 odyssey story from 1964 still one of the
3:26 best movies ever made
3:28 it's a very good depiction of artificial
3:29 intelligence because we don't understand
3:31 anything about it there are lots of
3:33 definitions of them
3:35 of what artificial intelligence is
3:37 but the one i like best because it's so
3:39 dry and boring is
3:42 making computers able to do things which
3:45 currently only humans can do
3:48 which is what we do in ai we choose new problems
3:49 problems
3:51 and we think that oh we don't know how
3:53 to do this this is something mysterious
3:55 only humans can do if you can do this
3:58 you must certainly be intelligent and
4:00 then we sort of work really hard on
4:01 trying to make a computer do it and it
4:03 takes a lot of time
4:05 um and
4:08 uh then we come up with a computer
4:10 program that can sort of do it and then
4:11 people look at it and assess that
4:14 oh so now you can solve the problem that
4:17 means you don't need to be intelligent
4:19 to solve it
4:23 so what do humans do with games um i'm
4:24 not sure if i can ask questions out in
4:26 the room and have people answer miriam
4:28 can people talk back to me
4:38 can i ask questions in the room and will
4:40 people yes you can
4:42 it's going to be i can actually show
4:45 them to you as well
4:48 well actually no i can't i just realized
4:50 so i just wanted something
4:52 what do humans do with games
5:03 interact with it is one answer
5:04 that's good
5:06 that's good
5:16 yeah and one answer is playing games
5:18 exactly that's usually the first i get
5:20 almost always the first i get
5:22 and then then it's interesting how far
5:24 how how kind of like diverse the answers get
5:26 get
5:29 i guess learning learning vms
5:31 learning games yes indeed
5:33 learning to play them learning to
5:34 interact with them
5:36 having fun having
5:37 having [Music]
5:39 [Music]
5:47 we also analyze games a lot
5:48 very good
5:51 okay we get a pretty good sample here um
5:54 so i usually cluster the the different
5:56 answers i get in this play them i get
5:57 lots of variations to play them study
5:59 them let's analyze here it goes into
6:01 this i mean we have all these people who
6:03 are game studies people who study games
6:05 like you bought literature or something
6:07 um and learning is a good one someone
6:10 said learning i will let's fit this into
6:11 playing now um
6:13 um
6:14 build the content form there's lots of
6:16 games where you can build content as a
6:18 user and sort of share it with others
6:20 and play it yourself have you have the
6:22 game analyze it and so on
6:23 and of course design and develop games
6:27 it's a pretty big business
6:28 weirdly enough
6:30 it's become really big in my home town
6:32 of malmo developing games and i have
6:34 nothing to do with it maybe it's because
6:36 i left i don't know um so
6:37 so
6:39 these are things that you must do with
6:42 games now ai classically has very much
6:44 focused on playing games
6:47 so let's look a little bit about this so
6:49 video games have been ai test beds and
6:51 benchmarks for a long time so
6:56 we have a couple of games that are
6:59 um that all have been used in the main
7:01 conferences in ai games as benchmarks
7:03 and test buds
7:05 starcraft um a version of super mario
7:07 bros called the mario ai benchmark
7:10 a racing game called torx
7:12 and a um
7:13 first this is unreal tournament
7:16 first-person shooter these particular
7:18 games may be less used these days the
7:19 mario benchmark is always around some
7:21 people will still work with starcraft 1
7:23 but things have moved on there's a lot
7:25 of work with starcraft 2. there's a lot
7:27 of work and new racing games and i've
7:29 seen a bunch of interesting work on
7:31 counter-strike recently um
7:32 um
7:34 a camp strike source um
7:37 so basically the idea here is that you
7:40 come up with an ai that can play any of
7:41 these games because it is a hard
7:47 sorry
7:49 so let's look at this i i i love showing
7:52 this video um
7:54 this video here i hope you can see it
7:55 moving as well we don't know how the
7:56 screen sharing works
7:58 but um
8:01 this video here is from the first mario
8:03 ai competition that we launched back in
8:07 2009 um this was because
8:10 some dude called marcus parson later
8:12 known as notch he also later made a
8:14 famous game called minecraft and then he
8:15 became weird but
8:16 but
8:18 i don't know the temporal sequence of
8:19 this but he
8:20 he
8:22 um made this
8:25 freeware version of
8:27 super mario bros and we me and my
8:28 student adapted this into an ai
8:30 competition we thought we had a great ai competition
8:31 competition
8:33 um until
8:34 we saw that
8:37 until this guy robin vangarten from
8:39 imperial college in london
8:42 submits this bot and this spot as you
8:44 can see is an amazing mario player it's
8:47 way better than any of us could ever
8:49 play this game
8:51 it's like the pixel perfect landings and
8:54 sort of the amazing sort of optimization
8:56 of everything you sort of just like cuts through
8:57 through
8:59 scratches of enemies like it was butter
9:01 or something
9:02 um so we were both really excited
9:04 because this is really great we're also
9:08 really sad um because um the
9:09 we thought we had a really good ai
9:11 competition this guy just comes along
9:13 and crushes it
9:16 and you know what makes us even more sad
9:18 it's this is 2009. do you think that
9:21 this would be some kind of super fancy
9:23 um deep neural network algorithm that's
9:28 um that um i saw the game no
9:30 you wanna know what it is
9:32 it's a star search
9:34 i don't know if you've learned about a
9:37 star in your introductory data
9:39 data structures class
9:43 otherwise you will learn about it in
9:45 in your introductory artificial
9:46 intelligence class
9:47 it is
9:51 look it's 15 lines of code
9:53 in java it's maybe 30 months of code um
9:55 it's a simple search algorithm that's
9:58 been around since the 60s literally and
10:01 what he did was that he didn't search in
10:03 physical space of the game
10:05 searched in state space and had fast
10:07 forward models to play the game and this
10:08 is kind of shocking how do you become so
10:10 good so next year
10:12 we change the competition
10:15 to um and make the level generator
10:17 generate these overhanging ledges
10:19 and you see here mario can't really sort
10:21 of get out of this everything mario
10:23 needs to go do is just move back left
10:25 and jump up on the roof of this thing
10:27 that's stopping him but the a-star
10:31 search algorithm can't really handle it
10:33 and you see the same thing again he
10:36 never searches um back left he's just
10:37 try he keeps trying to go right then you
10:38 see this
10:41 merry dance i think there's
10:42 one later on which is really fun yeah
10:44 here is like basically dancing with a
10:45 spiky guy
10:49 amazing micro totally deficient macro um
10:52 uh so this isn't of course we did this
10:54 specifically to destroy this algorithm
10:56 so the winner next year of this modern
10:58 ai competition
11:00 was this algorithm cod realm what is
11:03 agent caldwell which is a complicated
11:05 bunch of things um
11:06 i don't know if it's happening here this
11:14 a-star agent at the bottom um that
11:16 executes a rule-based system that
11:18 decides where to go and this rule-based
11:21 system is created in real time by an
11:24 evolutionary algorithm
11:25 which is
11:27 just a lot of stuff going on you see how
11:30 the mario does really clever things here
11:32 and plays in a pretty good manner um
11:33 um
11:35 so you can learn several things about
11:37 this from this one is that the very same
11:39 game could offer very very different
11:41 challenges with small tweaks such as
11:43 what levels you play or something else
11:45 it also you can also
11:48 learn that very often hybrid systems
11:50 that are not very clean um
11:53 really do the job the best
11:55 now yet another thing you can learn is
11:57 you can start thinking about are you
11:59 really solving the right problem this is
12:02 from my former pc student a postdoc nor
12:05 shocker um
12:08 she trained a um
12:10 she trained an agent based on her
12:12 five-year-old at the time niece on her
12:16 niece's playing style um and um trained
12:18 the basin network to be they do like this
12:18 this
12:20 and what we used this for was
12:22 participating in a competition that we
12:25 organized we could we organized were
12:26 technically outside it which was called
12:29 a mario ai turing test where the
12:32 whole aim was not playing the game well
12:35 it was playing the game in a human-like
12:36 manner so that people could not tell who
12:39 was a bot and who was
12:43 right
12:45 so you've seen examples here in the
12:47 super mario bros but there's a lot of
12:49 development of artificial intelligence
12:52 to play specific games um and you know you
12:53 you
12:54 you you put all your effort into a
12:58 starcraft pod or super mario spot or a
13:00 racing game bot for twerks
13:02 the problem is that you know it can't
13:03 really play
13:05 any of these bots can't really play any
13:06 of the other games
13:09 um this is a long history this is john
13:11 mccarthy back in the 60s playing chess
13:13 he was one of the
13:14 one of the fathers of artificial intelligence
13:16 intelligence
13:18 and back then the world was black and
13:20 white people wore ties you know stuff
13:22 like this computers were the size of a
13:23 room i don't know if you wanna lost this
13:25 particular game of chess
13:28 um and people kept kept working on on
13:30 chess for a very long time until this
13:33 happened this was 1997.
13:35 um ibm's deep blue computer one over
13:38 gary kasperov and this was like one of
13:41 these big events of course ibm used this
13:43 very very cleverly for their um
13:45 for their
13:49 marketing like a computer wins over the
13:51 best human in the world um the best
13:53 chess player in the world at the game
13:55 which meant for a long time was
13:57 considered like the sort of the essence
13:59 of intelligence
14:00 um and
14:02 then uh people
14:04 were like um thinking
14:07 um well maybe we just chose the wrong um
14:08 which was the wrong game maybe chess
14:10 isn't that hard maybe we should use
14:11 another port game
14:13 so there was a lot of work and go okay
14:14 right yes we can look at what happened
14:18 here um sorry what happened here um you
14:20 you would think that you know this this
14:21 computer that one over the best human in
14:23 the world that this hard game um
14:24 um
14:25 does it have some secret source that
14:27 makes it intelligent
14:29 no it's a version of mini max search
14:31 minimax search basically means that you
14:33 try all the possible um
14:34 um
14:35 moves you can make see where they take
14:37 you try possible counter moves you
14:39 assume that you want to play the best
14:41 for you
14:43 and the ad your adversary
14:45 to play what's worse for me
14:47 so one side minimizes the other maximizers
14:48 maximizers
14:51 there's lots of tricks and
14:53 stuff on this so you know deep blue was
14:56 a huge engineering achievement but the
14:58 basic algorithm behind it wasn't any
15:00 harder than this
15:03 so people kept working on this and
15:06 people kept working in go which is a
15:08 sort of the east asian cultural
15:12 equivalent of chess it's a very old um
15:14 very old game that
15:16 board game with quite simple rules and a
15:18 lot of depth
15:20 and here we had a deepmind then part of
15:22 google their alphago bot winning of
15:23 elysee doll one of the world
15:26 championship back in 2016
15:28 um and this was another one like you
15:31 know huge cultural event like wow we
15:32 thought that this would actually be a
15:36 really really hard game um
15:38 was alphago did it have some kind of
15:42 secret source to intelligence um no it
15:44 it there is a lot of cleverness in it
15:46 but the basic principle is another
15:47 research algorithm
15:50 this one's called monte carlo research
15:54 it um basically uses statistics to
15:57 figure out which kind of possible board
15:59 state to explore
16:01 next as it simulates playing it also had
16:03 a bunch of deep neural networks that
16:05 helped it with them
16:08 suggesting interesting moves to try and
16:10 helped it evaluate board positions and
16:12 so on there was a lot of cleverness into
16:14 this and a lot of engineering but the
16:17 basic principle behind it is again that
16:19 you're simulating possible games and
16:21 making these like
16:23 trees of possible moves
16:25 in memory so
16:26 so
16:28 we see this happening again and again um
16:30 um
16:33 ai researchers
16:35 accept their minds on some problem
16:36 for example playing a particular game
16:38 really really really well
16:40 and then they work hard on it and then
16:42 they win and people say that well this
16:44 isn't ai because this is just an
16:46 algorithm wow um
16:48 um
16:52 car racing um i was part of like setting
16:54 up some of the first um cars in competitions
16:55 competitions um
16:57 um in
16:58 in
16:59 driving a car as you know is not that
17:01 easy it requires motor control
17:03 and motor control
17:05 um it requires planning and adversarial
17:08 planning sort of optimized lab times and
17:10 overtake and so on um
17:11 um
17:14 this is something for a long time
17:16 sorry for all the sound on these ones so
17:19 we had um people submitting the best car
17:22 racing bots to this um competition
17:23 server and then it would drive against
17:26 each other generally they got very good
17:29 at driving alone on a track and could do
17:31 yeah that's a question of
17:33 we could do extremely well on their own but
17:34 but
17:36 they did not learn
17:38 in general good road manners or maybe
17:39 they were not really rewarded for good
17:41 road manners
17:43 here is trying to sort of you know
17:45 use the slipstream to overtake the green
17:48 car they're doing fairly well
17:50 until we get this nasty situation here
17:52 um i learned to drive on the streets of
17:54 manhattan so i i mean i can relate to this
17:55 this
18:00 this here uses something called temporal
18:02 difference learning which is a
18:03 reinforcement learning method where you
18:06 take actions and you observe the reward
18:08 you get from the environment like um
18:10 did you get punished for driving
18:12 off-road or um did you get
18:14 rewards for driving fast and then it
18:20 in
18:22 improves the agent's
18:24 actions you take right
18:26 right so
18:27 so
18:28 this has been going on for a long time
18:30 so at some point we asked ourselves can
18:32 we construct an ai that can play many
18:34 games like the same
18:36 literal agent
18:38 could do could play more than one
18:41 um because it seems like you can go on
18:44 and construct very very good um ai for
18:46 playing a particular game without
18:48 actually making progress on the general
18:51 intelligence problem so
18:52 so
18:54 we postulated this if you have an agent
18:56 that can play all the top 100 games on
18:58 app store or steam or something like this
18:59 this
19:02 would it then be actually intelligent
19:03 actually doesn't make sense to say it's
19:05 actually intelligent
19:06 we created this general video game
19:08 playing competition
19:10 back then this is like the software for
19:12 this is a bit old-fashioned this was
19:13 originally it was originally written in
19:15 python but it was too slow we moved to java
19:16 java
19:19 um and the version that um is has been
19:21 widely used is in java which a lot of
19:25 people disagree with but hey it's fast um
19:27 um
19:30 the idea here is that we write games in
19:31 what's called the video game description language
19:32 language
19:34 and then every time we run the
19:36 competition people submit their best
19:38 agents and these agents are tested on a
19:42 number of usually 10 unseen games so you
19:44 don't know which games you're going to
19:46 play when you write to the agent so the
19:49 agent will have to be general
19:51 um and the agent the description
19:54 language as a way of describing
19:58 uh say late 70s early 80s error games
20:00 this is what it looks like this is a
20:01 game that's being
20:03 written in this language
20:06 um it's somewhat python-like in its um
20:08 in syntax it says here these are the
20:10 things that exist and the properties
20:12 they have this is how the level maps to
20:14 the memory this is um what happens like
20:18 in in the things like if an avatar
20:20 collides with diamond then the diamond
20:22 disappears and the avatar gets two
20:25 scores and so on and you get a game well
20:27 this is the old sprite set that looks
20:28 something like this
20:30 so let's look at these things happening
20:32 this is a an in visual yellow version of
20:35 the overworld of the original zelda
20:38 you run around you um well it's a game
20:40 inspired by it we call it sunda you run
20:42 around you get keys open doors and you
20:44 kill monsters
20:46 as a union nice
20:47 nice
20:50 so let's imag how would an ai play this
20:53 this is um let's look at a random player
20:54 playing this game
20:57 doing random actions
20:59 it's very bad it's a random player it
21:00 dies quite immediately
21:03 now let's look at something smarter
21:06 um so we once again go back to monte
21:09 carlo research which is the um agent
21:10 that was
21:13 the core of alphago that beatles at all
21:14 that go
21:16 it's a very versatile algorithm it can
21:18 do so many things
21:20 um and you have a version of monte carlo
21:22 research playing zelda
21:25 and you see the agent doing really well
21:26 at killing these monsters
21:29 getting the key and then they roll out
21:30 so basically how far simulates doesn't
21:32 really see the door
21:33 because there's a lot of randomness
21:35 involved but then okay and at some point
21:37 it actually sees the door and and runs there
21:39 there now
21:40 now
21:42 here is the game called boulder dash
21:44 this is very closely modeled on the
21:46 actual game called boulders which some
21:48 of you may or may not have played is an
21:49 80s classic
21:51 unlike many 80s games it really still
21:53 holds up
21:55 you have um you need to dig away the
21:57 dirt to get the diamonds
21:59 you need to avoid getting smashed in the
22:01 head with a boulder you need to also
22:03 there's a puzzle element you need to try to
22:05 to
22:07 not sort of block yourself in by the boulders
22:10 boulders and
22:11 and
22:13 because it's very easy to do that
22:15 so um and you have these monsters here
22:17 on the side and the monsters will kill
22:19 you if you um
22:21 uh reach them
22:22 there's something that looks like a bat
22:24 in a cave here to the left and we all
22:26 know it's 20 21 we all know don't
22:29 disturb the bats in the caves that's um um
22:29 um
22:32 it's bad for you bad for the world
22:33 and then when you have ten dime once you
22:36 go to the to the exit
22:37 now here's a random player playing polar
22:40 dash will he do well
22:42 he takes random actions
22:44 he does not do well
22:47 he succumbed to the classic stone in the head
22:48 head
22:50 um here is the monte carlo research
22:52 agent doing this
22:54 and it's a very sophisticated nature to
22:56 see how he gets a few diamonds
22:58 um and um
23:00 how he behaves like an idiot and gets
23:03 killed this is a very hard game um
23:04 um
23:07 so basically you see um
23:10 you see um uh
23:11 you see this agent that actually plays
23:14 many of these games fairly well um this
23:16 particular agent can win
23:18 approximately half of the
23:21 160 games in a framework um but there's
23:24 still some some that are very very hard
23:25 and this just basically goes to show
23:27 that sure you could make an agent that
23:29 plays bolder specifically
23:32 it might not even be that hard the
23:35 problem is um one that plays baldash and
23:37 all the other games we have in there
23:40 versions of uh space invaders and mario
23:42 and all kinds of things
23:44 and zelda and stuff and that's really
23:46 really really really hard so the general
23:48 game playing
23:50 problem is really hard
23:52 okay now on to something completely
23:54 different actually
23:57 closely related but still
23:59 so i don't know if any one of you dream
24:01 dreams of being a game developer um i'm
24:03 trying i'm not trying to dissuade you
24:08 but modern game game productions have
24:09 grown to some
24:12 huge size because there's just so many
24:13 things that need to be done and
24:16 programming isn't the largest post
24:18 there's so much content they didn't
24:20 need to be created however
24:22 however
24:24 there is um for a long time there's been um
24:25 um
24:26 this uh
24:29 movement trend whatever we call it of
24:30 people using procedural content
24:33 generation games so here
24:34 procedural content generation means that
24:36 some part of the game world is generated
24:42 either during development time or during runtime
24:44 runtime
24:48 um and you see here some of the um uh
24:50 some of these sort of you know um
24:52 pioneers you have elite here in the
24:56 background um and uh spelunky
24:58 and we're gonna mention some of these as
25:01 we go on and civilization which are all
25:04 based on like some part of the world is
25:05 being generated as you play the game and
25:07 this is like the core of the game in a sense
25:11 so elite here
25:13 i used to play elite on my i mean i got
25:15 my first commodore 64 when it was 11.
25:18 this was 1990 so the machine was already
25:20 outdated um
25:22 but i used to play elite in this machine
25:26 um elite is a game where you um
25:28 fly around the space there's 3d
25:30 renderings of things these graphics
25:31 might not might be from the amiga
25:33 version i'm not sure or it's from the
25:36 commodore version one of them um and
25:37 there's like um
25:39 other spaceships some are just
25:40 freighters some are friendly some are
25:42 the police some are pirates stuff like this
25:43 this
25:44 um you have lots of stats in your
25:47 spaceship um there's a huge
25:49 universe with different star system each
25:51 star system has planets and the planets
25:54 have space stations in some cases around
25:57 them um and they're the the star chart
26:00 is enormous as you can see 4096
26:02 different um
26:04 star systems if you remember right
26:06 um and each of them has space stations
26:08 and you can land at the space station
26:10 space station there's different prices
26:12 for commodities you can buy and sell and
26:13 you can trade them to different to other
26:15 space stations
26:18 um and so a lot of what happens is
26:19 trading but there's also like lots of
26:24 missions in there you need to fly and um
26:26 fly and sort of um
26:28 or you can choose to basically carry out
26:30 various missions it's enormous there's
26:32 so much going on um
26:34 and this fits in memory in a commodore
26:37 64. um a commodore 64
26:39 which you may or may not know had 64
26:41 kilobytes of memory so not gigabytes not
26:44 megabytes kilobytes of memory 64 000
26:47 characters fits in the memory of of this machine
26:48 machine
26:50 these days you can easily buy a computer
26:53 that has a million times as much memory
26:56 which is pretty insane you think about it
26:57 it
26:58 how can this possibly fit how can you
27:02 fit 4096 star systems in 64 kilobytes it
27:04 seems impossible well
27:04 well
27:06 the way it works is procedural
27:09 generation every time
27:10 basically you don't save the star system
27:13 you save a number and every time you get
27:14 to the star system and you can look at
27:17 that particular number use it as a seed
27:18 for a number of random number generators which
27:19 which
27:21 use a number of algorithms that builds
27:23 the star system up every time you get there
27:25 there
27:27 rogue is another one brook was created
27:30 in 1980 by
27:32 michael toy and glenn wickman at the
27:34 university of california santa cruz they
27:36 wanted to play dungeons and dragons on
27:37 their computer
27:41 um however they didn't want to create
27:43 the adventures themselves because that
27:45 would take a lot of time and they wanted
27:47 to and they didn't want and they wanted
27:48 to be surprised
27:50 they also didn't have the disk space to
27:52 save the adventures so they created this
27:54 game where with the state-of-the-art
27:57 graphics here like this thing here this
28:01 is this is you um this is smiley um you
28:04 move around and explore these rooms
28:06 and you'd encounter dragons and
28:08 different monsters you can get fine
28:10 treasures you can find the various
28:12 weapons and things with status effects
28:14 magic potions and stuff like this
28:17 in every time the thing is generated
28:20 every time you start the game so no two
28:22 players are the same this of course
28:24 started a whole genre of roguelikes
28:25 which um
28:28 are ever popular and more popular than
28:30 ever and i spent a lot of the spring and
28:32 summer playing hades for example which
28:34 is sort of a light to work like a rogue
28:37 light but this idea of like
28:39 the world is regenerated every time you
28:40 play it
28:42 diablo 3 is another example of roguelike
28:46 spelunky roguelike platformer
28:48 made a huge sort of um effect on the
28:51 indie gaming community back in 2008.
28:53 civilization games they also like in a
28:55 sense roguelikes
28:56 you need
28:58 in according to the whole game series
29:01 that you need to um
29:04 um you need to have a new game
29:05 a new sort of world to explore every
29:08 time you start playing
29:10 no man's sky which some of you may have played
29:11 played
29:13 some of you may have heard of probably
29:16 everyone is hugely divisive it is a
29:18 fantastic art piece um maybe not a
29:21 fantastic game but it is basically a
29:25 lead for the 21st century with um
29:27 every every planet has its own flora and
29:29 fauma and
29:31 and things like this it sort of lacks in
29:33 overall narrative structure but it has
29:36 um it's an amazing world generator in
29:38 there and it has more planets than that
29:40 than you could ever um then you could
29:45 visit in a lifetime
29:48 um the same idea everything is
29:50 you serve you store certain random seeds
29:51 and when you actually encounter that
29:54 sort of planet the planet is recreated
29:56 from those random seas so
29:57 so
29:59 i've been concerned a lot with how could
30:01 you bring procedural content generation
30:03 further could you um
30:06 cut game development time
30:08 oh i see someone in chat saying you've
30:10 seen a redemption now um uh in no man's
30:12 sky yes um
30:16 uh i i i want to actually restart it um
30:18 that's uh that's something i want to do
30:20 and sort of you know see what it's like
30:21 now in 2021
30:23 anyway so procedural gun generation
30:25 could you sort of help help creating
30:27 games making it possible to create games
30:28 with smaller um
30:29 um
30:31 smaller sort of team sizes because you
30:32 can just wave your hands and equate
30:34 things can you create games that adapt
30:36 the game worlds to the preference of the
30:38 player you can create endless games that
30:40 you never want to stop playing and that
30:42 actually meaningfully sort of you know
30:44 keep keeping different
30:46 not like the infinite words of minecraft
30:47 or something
30:50 um could you even circumvent or augment
30:53 the limits of for human creativity and
30:55 create new types of games
30:57 and another one for people who study
30:59 games is the very relevant one could you
31:02 understand game design better through
31:04 formalizing the design process so if
31:09 you know that you won't don't really
31:10 understand sorting until you've written
31:12 a sorting algorithm
31:15 so do you really understand game design
31:16 before you've written a game design algorithm
31:18 algorithm
31:20 um this is a controversial algorithm
31:22 once i repeat said this argument in a
31:25 little bit longer form in front of like
31:27 a few hundred
31:28 game studies
31:31 kind of people and
31:32 they were angry at me i think it's
31:36 fascinating um but
31:39 but but you know enlightening so
31:40 so
31:42 if we look at super mario bros that
31:44 we've used before and we looked at it before
31:45 before
31:46 and i see i need to speed up because i
31:48 need to be done in 10 minutes at the most
31:49 most um
31:50 um
31:52 um you could
31:53 generate levels in lots of different
31:55 ways one thing i've worked a lot with is
31:56 this thing called evolutionary computation
31:57 computation
32:00 where you basically mimic
32:03 artificial evolution in an algorithm so
32:05 you basically have lots of different
32:07 solutions in this case lots of different
32:10 pseudomore reverse levels and you make
32:12 mutations and crossover of these and
32:18 er
32:20 and keep the good ones discard the bad
32:21 ones in the end you get better and
32:24 better you climb the fitness landscape
32:26 so here is
32:29 some work i did watch my piece with my
32:31 my phd student back in malmo steve
32:34 dodskok miriam was actually on his phd
32:38 committee um we divided up the um um
32:40 the sort of
32:42 levels into number of different slices
32:44 or columns as we call them here here is
32:47 like slice one slice two sli no slice
32:49 one slice one again slice two slice one
32:52 again and here's slice three so you sort of
32:52 of
32:55 can can turn a level into a string
32:57 and then we evaluated this the fitness
33:00 function was how many different
33:04 design patterns are in these levels
33:05 and then you can
33:07 pretty quickly learn to generate a whole
33:09 bunch of different levels
33:10 levels
33:12 this way and you get like this infinite
33:15 level generator is really fast and it has
33:16 has
33:19 a lot of local patterns maybe not so
33:21 much in terms of global patterns but you
33:23 can control that as well
33:25 this is this idea has also been used by
33:27 others so um
33:30 this is some work by cameron brown
33:32 who is at maastricht now he was at
33:35 university queensland before and
33:36 and he
33:37 he
33:39 he generated completely new board games
33:41 so hit his population including the
33:43 rules of different board games it's like
33:47 um things like go gomoku
33:50 shakur's chinese chess
33:52 four in a row and so on we select
33:54 parents from these
33:57 cross over mutate check the rules if the
33:59 game is not well formed so for example
34:00 there's no win condition you throw it
34:02 away give it a name he had this like
34:04 name generator which was lord of rings
34:06 inspired check if it
34:08 is too slow to play if that you throw it
34:10 away otherwise you
34:13 optimize a game playing agent to play it
34:16 it's based on minimax but you evolve in
34:18 your networks if it always leaves a draw
34:20 you throw it away otherwise if it's
34:22 inbred too similar in house place to
34:25 other games it's um um you throw it away
34:27 otherwise you evaluate it in the
34:29 variation function there's a lot of
34:32 different things that are tested for
34:34 example how late in this game can you
34:36 tell who's going to win is one of the
34:41 and then it's put back in the population
34:43 and he ran this for a long time
34:45 and one of the things that came out was
34:47 his game jabalath with when you basically
34:48 basically
34:49 need to this is the description of the
34:52 avalanche you win if you have four in a
34:54 row but you lose if you have three in a
34:56 row so it's a complicated version of
34:59 four of four and a row essentially
35:01 um and this is what it looks like let me
35:04 see you can buy it boxed
35:06 cameron has actually made some money
35:11 and it says here that the avalanche is
35:13 not designed by ludi luda is the system
35:16 that not designed by cameron brown but
35:18 it's designed by cameron brown's ludi
35:20 ludi is a system he he built that
35:22 designed the game
35:23 so cameron brown did not design this
35:26 game cameron brown designed the software
35:28 that designed this game however
35:29 however
35:31 cameron is selling it cameron is getting
35:33 all the money and his software is not
35:37 discuss well
35:39 well
35:40 it's it's fun i think it's really fun
35:43 that you see um
35:44 this is a complete game that's
35:46 completely designed by an evolutionary algorithm
35:48 algorithm now
35:50 now
35:52 i'm almost done here just gonna show a
35:54 few more little things here um
35:56 there's a lot of work in designing
35:58 levels but you can also design levels
36:01 how can you collaborate with a
36:02 content generator
36:05 so this here is a game that was popular
36:07 maybe seven years ago or so on mobile
36:08 called cut the rope i guess it's still
36:10 out there you basically it's a
36:12 physics-based puzzle game where you have
36:13 to feed this little
36:16 frog monster candy by
36:18 pushing um the candy around cutting
36:21 ropes when you need to and so on
36:23 and here's the system that
36:26 we built called the raposa possum
36:28 where you which can generate new levels
36:30 for this game um
36:30 um
36:32 you press a button and it generates new
36:34 level it's based on grammatical
36:37 evolutions and evolutionary algorithm
36:39 that interacts with the grammar system
36:42 um you can also design it yourself um
36:44 you can sort of put things out here as
36:45 you would with any kind of wig
36:48 designer um here's cushions that the
36:50 candy will bounce off and then you can
36:54 put like an air cushion here and
36:55 and
36:57 a bubble that will catch the
37:02 the candy and so on and it's a rocket
37:04 and then you can check you can ask it
37:06 please system can you play it for me and
37:08 it tries to play it and it tells you you
37:10 see here as it plays around it has all
37:13 the different sort of um actions you
37:14 need to take up here
37:17 and it can help you analyze what you're
37:20 building by playing it as you sort of um
37:22 you see what's possible was not possible
37:23 it can tell you if it's
37:25 not possible you can view the actions of
37:28 what it takes this is basically what the
37:31 grammar based system produces um
37:34 and you then you can tell it that okay i
37:35 want to keep some of these things and i
37:40 want you the system to redesign rest so
37:41 here we
37:42 redecide the rest of the level it turns
37:44 out that this is a very boring level
37:46 because it basically you just cut all of
37:49 the ropes at the same time and you win
37:53 so you do another one um
37:55 and um
37:57 and you have it to optimize the design
38:00 and it gives you a pro sort of
38:02 surprising one how would you play this level
38:02 level
38:04 well it turns out that
38:06 if you um
38:07 um
38:09 if you load the rope then load the candy
38:11 onto the rocket and cut it it work at
38:14 the right time um the um
38:16 the candy will actually bounce off this
38:17 bouncy thing
38:19 so it basically the system
38:21 shows you on
38:23 um it shows you sort of you know
38:27 surprising solutions to the um
38:29 to the levels you're designing
38:30 among other
38:33 things um
38:34 last thing i want to tell you i have no
38:36 time to go into this there's also a lot
38:38 of ai work in modeling what players do
38:40 and what players feel so this is some
38:42 work that was done for a long time ago
38:43 and there's been lots of follow-up to this
38:46 this
38:47 where we tried to
38:50 this is the same good old mario ai framework
38:51 framework
38:54 we tried to um
38:56 teach neural networks
38:57 we had people play this game play
38:59 different levels and see which of these
39:01 two levels was most fun which was the
39:03 most frustrating which was most
39:06 challenging and then we could model how
39:08 a particular playing style
39:11 would think about a particular level and
39:14 then you can optimize you can search the
39:15 neural network
39:16 for levels that are maximally
39:19 frustrating and minimally fun
39:21 no no the other way around
39:23 maximally fun minimum frustrating
39:28 i'm probably way over time
39:30 so here here's what
39:32 how i think it all relates video games
39:35 are perfect aspects for ai they're very
39:37 cheap better than robots that is time to
39:38 challenge the mind i didn't even get
39:40 into that argument why games are great
39:42 for challenging minds
39:44 general video game playing is important
39:46 playing not one game but a lot of times
39:49 um but also ai is the future of game
39:51 design so basically you can use
39:52 protesting games
39:54 generating content together with humans
39:58 or on his own generating tutorials um
40:00 and so on
40:02 so um you already i wrote this popular
40:05 science book which might be a fun read
40:07 for some people and i think miriam has
40:10 already told you about this artificial
40:11 intelligence games book which is nicely
40:14 available online we also run a summer
40:16 school every summer
40:18 which is connected to this book
40:28 thank you so much julian what an expose uh
40:29 uh
40:31 thank you so much and let's uh give a
40:33 big hand to [Applause]
40:34 [Applause]
40:37 julian i'm going to
40:39 i'm going to stop the recording so that
40:41 i can turn the camera around so that you
40:43 can see the audience and and and they
40:45 can ask you questions so
40:48 uh with that i'm now stopping the
40:51 recording here um and
40:54 so to you who are looking a later
40:57 recording goodbye for now