so first hi everybody I'd like to remind you just to turn off uh your cell phones um well this is my first time speaking at GDC uh last time I've been here um was in San Jose actually and it was in 2001 and as a attendee so it's been a really long time um I'm really amazed at how uh how this event and the community has grown it's it's just insane it's awesome um before I begin I'd like to say that I'm really honor Ed uh of being able to share some of my my experience with you today um I hope this talk will be will really bring you useful information and insights when designing and developing systemic AI so my name is Christine Blondo I'm a game designer at Ubisoft um I've been in the video games industry for now 16 years and here are some of the games I've uh I've worked on that you may have heard of so the reason I'm here today is essentially to give you an insight about
the methods we use for Designing systemic Gro events in ACU's open World um so this talk goes from the vision we had in mind to the goals we set and um I'll finish off with how we got there and the Avenues of improvement so um in ACU uh we built um so ACU was built for Next Generation consoles um and we had to think about how we're going to bring the NextGen open world uh how to we bring AC's open world to the next level uh to answer this we first needed to inspire ourselves with what was happening in the streets of Paris during the French Revolution um that and what trans transcended for U the most from the research we did was that Paris was heavily populated and highly buzzing with life at all times so we thought par should feel as if it's living and breathing on its own that was really important for us um and you'll see why later and that our systemic AI should make the world around the player feel vibrant and create
emerging gameplay situations so for PRS to feel in living and breathing it uh on its own we first needed to create an ecosystem in which NPCs would have their own sets of behaviors and reactions uh allowing them to interact with each other so the NPC's ecosystem and crowd events were designed to be NPC Centric uh which means that the player doesn't have to get involved to for them to for things to happen around him uh he can be involved and they will will react but he doesn't have to for things to happen so uh this would create some spontaneous situations around the player without requiring his inputs we wanted crowd events to have some kind of a catalyst effect on the NPC ecosystem uh and cause emerging gameplay uh during free roam and during missions so which was was a challenge um to to achieve this we needed to review our usual ways for developing crowd events traditionally events were scripted by hand and it was very timec consuming to create and maintain individual events throughout the whole
city um not only did the explosion of content to create and maintain was unrealistic for the time we had but most importantly with the traditional ways didn't address our desire to generate events unpredictably around the player so before we dive into the crow event system uh I need to give you an overview of of our NPC ecosystem so you better understand the length together this will help understanding how both system interact together and how they can create emerging situations so uh the NPC ecosystem is composed of four factions um as you can see here uh which each have their own sets of behavior and sets of reaction um factions are aware of each other and aware of AR know and can interact together when they are interested all factions can be used as actors for creating crowd events and can be set to play as either the enemy or the victim so first off we have allies allies are armed civilians who fight to
defend the people um defend the civilians in trouble with extremist or royal guards that we'll see later so when they they see Arno in trouble they will come and fight by his side for instance um when used in crowd events allies took the role of victims their player could defend and save we have the extremist extremist faction which are violent thugs uh that are can be found on both side of the Revolution uh they will look for trouble and end up attacking anyone they feel threatened by especially uh armed citizens which includes Arno extremists were used in certain crowd events and took the RO uh the role of enemies the player could fight and kill so when seeing allies extremists will threaten them and try to pick a fight uh they do the same to Arno when attacked by allies or guards extremists will start fighting them back and if they get out outnumbered by guards they'll run away if you want to avoid
fighting them just keep your distance or blend in crowd and they will leave you alone so here's um oh did it start oh yeah so this is a random encounter I was just walking the streets um and above we could see uh extremists um and allies just just meet up and they started shooting each other that was totally a random encounter so little things like that sparkle in the city all over and it depends when factions meet and it's totally random so we have Royal Guards um these act as the police and maintain uh to try and try to maintain Law and Order In The City uh guards are neutral and will only act against those who who they see committing crimes and those who who they see suspect of doing so um when we used them In Crowd events they played a neutral role and and um they they would put the players um they would challenge the player's steal skill also um the player wasn't required to kill them to
succeed the event we rarely put the the guards in like the the the bad guys situation since they were neutral uh if Royal Guards see someone uh drawing their weapon they will send them a a warning to make them sheet it back so in this example we could see Arno just he took out his weapon so already they're watching uh they're paying attention and after a certain time they will come to you and make you sheet back your weapon and they do the same for any any NPC that uh that can unshed their weapon so if they see a fight they will join the party and fight against the troublemakers if they see somebody uh who has recently killed who has been recently killed so a body um on the floor they'll they'll start investigating and try establishing a suspect around the body so try staying away from dead bodies if Arno would be too close to the dead body they would accuse him or they couldn't even accuse allies or extremists also invinity of the bodies uh when being chased by guards you can lure them into allies so
your allies start defending you and help you escape so yeah you can see uh no been being scolded here and in this video we can see guards interrupting it extremist when threatening Arno here's another video showing the player luring extremist into into guards and guards fighting off uh fighting them off for the player and um yeah and at a moment you'll see also one of the one of the extremist playing because he's outnumbered and I can take advantage of the situations while guards are busy and just stab him
so civilians so lastly the streets of Paris are populated and animated with civilians the civilians wandering the streets can gather around points of interest to form big crowds and can look for things to do they can interact with each other and hold many different occupation and activities that we'll see later they're also aware of what is going on around them and able to react to situation situations they see happening um they have we created three different reaction packs for them which reflected different personalities so for instance we had courageous cowards and normal so let's say I'd start a fight uh the normal people uh the the normal with the the reaction pack that reaction pack would you know be curious look and maybe leave while the courageous would start cheering and encourage the fight and cowards would just like sneak away or flee in fear uh when used in crowd events they could take the role of either the victim or enemies and the player can blend through the crowd to avoid being seen by
enemies and can also use a crowd to escape so in this video we can it's a really early development but I wanted to share it with you um you can see a few behaviors we started exploring at the at the beginning of creating the ecosystem [Music] n [Music]
so in this example here you see aggressors start taunting and since uh the cops are here they'll they'll end up stopping and just going at going away they're being interrupted yeah and this is example like since there he's outnumbered the extremist he just passed and ignore the Ally he didn't want to cause trouble we could instantly spawn infections so we could you know test out the reactions and stuff so in this case they were outnumbered so he fleed immediately
[Applause] okay so um crowd life was created with many different AI features and I need to go through it uh through this with you because you're so you understand better like the the whole ecosystem um we'll see all the features uh built for for creating crowd and making the world feel really really alive and make the the streets feel vibrant so let me give you an overview of the different Technologies used uh for building the crowd life in ECU so we had Wanderers uh Wanderers are put in the streets so they they're meant to navigate um navigate the streets and just roam around um they can be SE seen stopping momentarily sometimes to interact with crowd stations so for instance you could see somebody just walk up to a shop uh being interested in looking around and then leave or just watching U dancers or entertainers uh for a while and then go back to walking in the streets um the flow can be modified by by level designers so to
increase and decrease the density of Wanderers in the streets we had object carriers object carriers uh were in olds to but we bought something forward to that we can see on the right the right side um so object carriers allow the crowd to carry objects such as boxes baskets platters uh while they're navigating in the streets so in ACU we uh we developed new types of objects um that which we could see on the right side um where people carry other civilians um we had crowd stations so crowd stations are used to animate uh this is what you you mainly see uh with Wanderers to all over the city um CR stations are used to animate the civilians in the streets and inside buildings to make them do different actions and activities uh on ACU we created over 500 unique setups so um and these stations were all hand placed by City designers everywhere through Paris here's a few examples
have this and then some artists or a merchant wanting to sell some things um we have more complex setups uh where we see musicians and people dancing in front and some couples just enjoying uh the moment in the background another view but a bit more further further away and um also what was you uh new in ACU is that we created an interior so we needed to create stations for these and to animate these spaces so here's an example and we also had massive crowd massive crowd was a new technique of AI a level of detail that allowed us to create thousands of replicated persistent and interactive NPCs to see assemble in massive groups this Tech allowed to swap from low res NPCs to high res NPCs without the player noticing um and was used to create scenes where up to 10,000 crowd uh NPCs are on the screen we have the guys that
made the system right there here's a video where we can see a massive crowd FR and anine for which are right there worked on developing this system and gave a talk last Wednesday if you didn't have the chance to see their talk you should go see it on the G GDC Vault it should be available in two weeks or so and their talk was entitled um massive crowd on Assassin's Creed Unity AI recycling uh we also developed AI interactions uh on ACU which generated spontaneous social interactions between the civilians wandering the streets um it dynamically made Wanderers get attracted to each other to perform different actions so for instance a couple of friends would walk up to each other and start a conversation or engage in a disagreement and and uh you can also see lovers meet up and walk away to together as a couple holding hands
you can see a couple here on the left side for instance and um people engaging in a disagreement on the left on the right I mean opposite um I I thought I I would share this with you here's a we can we can have a look at the at a gym an AI gym we use to test out in our many different um crowd life systems we could test out our crowd stations AI uh interactions um and I thought it'd be interesting for you to see so here's an AI interaction just Wanderers object carriers and a couple leave leaving together holding hands okay so maybe this is going to wake you up from the hard week that you have um I I wanted to share with you a little Montage that the crowd team made this summer well in early uh summer uh about um it's it's like a montaga where
we see all of these systems play out together in in Paris but just keep in mind it was still in development so so there's music also [Music] [Music] [Applause] [Applause] a
[Applause] [Music] [Music] aahah [Applause] [Applause] [Music]
crowd events so we wanted to uh we want the crowd events to represent some of the gritty Urban realities of the French Revolution challenge-wise these events were designed to be relatively easy since they were optional uh but the ecosystem could create un unpr ictable situations as well so participating in them could potentially bring trouble along the players w seen by enemy factions um uh and make the player hard uh make the event harder to succeed let's say when you had to kill somebody and you you could potentially be spotted by guards um or some factions could react to the event and make it easier for the player I'll show you some examples um along the way so Al uh and also the different scenarios would challenge the players fighting navigation stealth and man manipulation
skills in terms of gameplay uh challenges the system supported seven templates that could be broken down into a few variations and to add variations these templates um to these templates the event system allowed to change who is going to play in the event so which faction could play as the victim in the of the event or as the enemy uh the system was also able to modify the amount uh of of actors inside the event um yeah so so one of the two events we had to we had that challenge navigation was tackle the thief uh similar to previous ACS the player can W witness a thief stealing from somebody and running off with the goods this event requires the player to run after the thief and Tackle him down to complete the event just a small video where I failed
I got the same bump another one that CH challenged navigation was um catch and kill the criminal so it's a variation of Catch a Thief um the only difference is the the end where you have to uh to kill the criminal so in this event the player can W Witnesses Civ in killing an innocent person and running off and um if he has if he was far away he will need to chase the killer through the crowd and kill him to complete the event the player needs to be aware of his surroundings since killing in front of guards can be deadly so here's a little video um yeah that was funny I saw an event triggering in the back so I wanted to di uh cause a distraction to the guard so I can go kill the dude in the back so they're they're handling the the the extremist now so I can just like you know go see
them and yeah um we had uh events that child fight so every time an event challenged fight it challenged Stealth at the same time because you could you could have different factions seeing you doing so at at that time so here's the player W uh here are the player Witnesses two extremists killing a civilian the murder is too quick to be prevented in this event but the player can start a fight with them to avenge the victim here we can see it in action we had executions so this event also challenged fight um and it puts the um the event puts into staging a bunch of extremists to execute innocent people
uh the player can stop them for killing the civilians This Time Around by starting a fight with them so here's an example of an execution uh event uh taken from our E3 video and we can also see in the video a bit later that the guards intervene during the execution so it causes May some kind of a mayem um we had also uh protect civilians um which um in the event in in this event the play witnesses to extremist threatening to kill a civilian and the goal here is to intervene and prevent the civilian from being murdered we had a stealth kill the messenger so in the stealth kill the messenger event a is being uh given a message um listing a bunch of of people
um listing a bunch of people to be executed so the messenger is guarded by uh either extremist or roal guards and the player has to find ways in killing the messenger without being seen by the bodyguards and for social type of events we had um in this event this is scar scar to bully it the player will witness bullies into meeting people uh the goal here is for the player to find ways of scaring up the bullies uh to save the victim without killing them so playing playing around manipulate the the the NPCs we can see a video here in this video the setup is different we had different setups for for for these uh events we have a lady that it's a victim and just two um two thugs um threatening and somebody without a shirt that
um and last we have uh the help the beggar so in this in certain districts the player would uh would see Beggars asking for arms um in this event the player must give them money to complete the event simply so these short events place the actors in situations where they were either trou troublemakers or victims uh now that you know how factions interacted together and how they react to certain actions uh you can imagine the event the effect events have on the ecosystem here's an example of guards passing by Co coincidence while protect the the civilian event occurs the as soon as the event starts and the the extremists start threatening they will stop and the guards will stop and watch what was what is going on and then here as soon as they see the criminals killing an innocent person they engage into the fight here I have like um four video of different context so every time you did
an event it well it the situations were kind of different so earlier we saw like me chasing a thief and falling down and then you'll see another thief but something well events with different situations it never played out the same way for me when I was playing it so that's a tackle the thief and at this moment I didn't realize extremists were there so they started attacking me so I got into a fight and then oh allies just randomly uh arrived and they started helping me um take care of the extremist so uh I could just take them off easily so in this event uh in this example we can see guards intervene as they see the criminal kill a civilian so a murder was just committed and uh the guards just uh run after to do then take care of them so the event is actually
resolved by the NPCs um here again it's kind of similar we have a k a kill the criminals event triggering and guards seeing what's going on so they engage and the event gets resolved also by the ecosystem I could have intervened and still earned my reward to if I killed them but uh I didn't so I didn't get the reward oh yeah I hope you see this one but this is massive crowd and in the background there was a murderer and you see people fleeing so if I would if I would have been closer to that I would have seen like just people fleeing suddenly and screaming and stuff so sometimes it you know it caught the attention you were wondering what was going on so the goal we set from the start was to require as little level design work as possible um in order to achieve this
we used a modular approach where each event is built using logical build building blocks this allowed us to have variations around the same theme Chase and kill the murderer Chase and tackle the thief and quickly have a first iteration running in the game for instance a kill the criminal event would use a staging block that plays an animation on all characters and then a Chase block with the kill option enabled um a Chase and tackle use the same exact setup but forego the kill option and uses a tackle option instead so conceptually uh more blocks could be added to the chain to create longer or more Complex events this approach proved its worth towards the end of the project um when we wanted to add very specific crowd event to live in up the world thanks to this this modular approach we uh we could essentially assemble it and have it running in the city within minutes it was then only a matter of polishing animations and checking for bugs so the crowd event system was
divided in three modules first the intro block the challenge block and then Revolution the resolution block so in the intro block this is where the event looks for available uh events that can be played around the player uh then once it has selected the event um actors are either acquired or spawn depending on the event the needs of the event so in uh in this block actors start playing a scene and establish a context before the challenge is triggered so the challenge block here the challenge is triggered the feedbacks are displayed and the player can now participate in the event and we had the resolution block where the event has been resolved either by the player by an NPC or by itself if nobody interacts with it um if the player has uh resolved the challenge a reward is given to him obviously and the reward feedbacks are displayed the victims can also play animation as back and thank the
player race emergence while systemic gamep play is conceptually very exciting it can can sometimes become hard to embrace as a mission designer like when you're trying to craft a very precise gameplay sequence and tell a particular story during your mission and some NPCs appear out of nowhere uh ruin ruining your perfectly planned challenge or creating a walkthrough break so of course the easy answer would be just to turn off the events when the player's on a mission but in normaliz this would have defeated the vision we had set so instead we develop control tools for Miss Mission friends uh so they can control the beast when absolutely needed ideally you want your systemic gameplay to run 24/7 uh unfortunately in practice anyways in our case there was always cases where you we needed to tune it in a particular way or turn it off completely and content creators should be given these options it might create
some AOC during development but uh if anyone if everyone is uh buying into the system it will create their it will they will create their missions with the system in mind and turn it off or limit it only only when it's absolutely needed so we created two tools to help control uh crowd events during missions uh first and foremost is a master switch it could be used in our mission tree to turn off some or all events for the duration of the mission the second tool was an exclusion exclusion Zone to be placed in the world that would be uh that would deny any crowd event from starting within the volume it was used in order to prevent events from starting in interior Courtyards around uh Mission givers and generally in places where it made no sense for them to start uh this was different than simply turning the system off um it as it was a volume in space and could still activate around its edges and above so it allowed
to control really in precise areas um where you needed it it does go against the principle of minimal level design support and given more time we might have looked into um at autogenerating the the exclusion zones while it required manual placement it did work nicely and covered many different cases where events should have not started so the event controller we manage crowd events through a system which can could control and analyze many conditions before executing an event the controller could uh check the player status check the player's progression um check the district and time and day restrictions enable only the ones available for the current location and time it would manage the acquisition and spawning of the actors select the actors
available around the player uh that could be quiet or spawn or spawn the actors allowed to play in that event it could uh manage the frequency at which events are triggered and manage redundancy and try cycling to a different template if able uh to avoid playing the same event consecutively and last it could manage the events resolution and Rewards so about acquisition in blue in this image you can see these are all the actors well potential NPCs that could be uh potential actors for the crowd events so our initial vision for the crowd event system uh was that a given crowd event with pick actors wandering the streets have then meet up and perform some action we hope we could acquire existing NPCs to make the the events feel more natural so what became apparent is that picking people from the crowd was more difficult than we
expected um depending on the event we had to find up the six NPCs or of specific factions that were not only occupied within a certain distance of each other and heading in the right direction so they wouldn't you know navigate wearly to each other uh although it worked pretty well for events with two actors uh there were so many constraint to take into account that um events acquiring more than three actors was would essentially hardly ever be seen um so what we decided is that we would still use acquisition for events with two actors uh and anything above above two um would would be spawn in the right spot for for the animations to play correctly we already had a need for spawning actors because some of our crowd events had prisoners in shackles or were kneeling which would just look off if somebody suddenly in the crowd just took a pose you know uh it was therefore no big deal to use spawning more
often however uh we we had to find tricks to avoid noticing the the spawning of the actors so thankfully thankfully our dense crowd um helps to camouflage the spawning spawning also created another problem some events involve extremist and sometimes guards and by adding them randomly to our to our ecosystem uh we ran the risk of creating an imbalance by having too many enemies roaming the streets so events with with large uh with bigger groups or of enemies needed to be toned down and happen less often the other big hurdle we had to overcome was figuring out uh where to start the crowd event and have the system recognize if the spawning location is good or not so in in in this screenshot I don't know if it's clear but we can see uh some people in the front that are spawn but there's also like red bubbles inside the the building so there's other dudes inside the building spawn so yeah so the space some events required to uh to work properly
became a concern as we started to implement them in Paris so uh some would spawn half through walls or on roofs or on top of tables and carts another issue was um we had was dealing with the stairs and slopes the animations would be offset and not look all like right all the time our biggest challenge yet would be to make the system analyze and identify the best locations for event to be spawned we had to make the system capable of analyzing the navigation mesh which already defines accessible Space by NPCs I'm lagging oh yeah so uh this is a view a bird's view of the analyzer so it's here we can see a bird's ey view from the analyzer in in action the green circle represents the clearance that have um that we have at the particular
spot and you can see the player maybe um come to the frame from the bottom and you can see the spot moving around as the player navigates the environment so it always is related to the player location did it end yeah okay all right um yeah in this video so this is an in-game perspective we can see the analyzer slide in front of the player the event control uses the analyzer's computation to know which events are allowed uh to start at this particular position events that are too large to start will be discarded all right uh when we check the remaining candidates for district time of day and faction requirements and activates one randomly that was a Kill the Messenger that just
happened um okay so as we uh as you may imagine tuning emergence can be a pain in the neck uh to tune systemic gameplay we couldn't wait after the Stars to align and see uh how the ecosystem behaved when interacting with events we need ways to force things to happen so we could start tuning everything early so we created tools to make things uh happen on demand and debug display allowing us to see clearly um if the systems were behaving or working as intended uh this helped save a lot of precious production time so here's a few example of things that proved really helpful for us during development cheats we love cheats we had a cheat to enable the event system in the city this prevented breaking missions and Crea an unwan unwanted situation uh until Mission designers had tools to control the Beast we had cheats to uh cheats to
spawn any fraction on demand as we saw earlier in the video uh the one where I I killed the criminal while the guards are distracted um oh no that was another one anyways um we could spawn U any faction on demand so let's say an event would play I could spawn like guards and and see how they behave and really early and On Demand so it was it was super quick to test um we had cheats to tune the frequency at which the system tries triggering events uh we had debug display um um such as like which I love um visual display to test to test AI reaction so we could see the stimuli with a with a visual display and uh see which NPC would react to the stimuli and what type of reaction the NPC has so we had that above his head so let's say I start fighting and then there's a civilian that becomes scared and I want to know why he's scared I could see uh the stimuli that triggered um his reaction and the type of reaction he has that was
really helpful to debug when there's like a quantity incredible quantity of people on screen um we had a visual display to see the actors of an event and uh we had visual display to see um when the system is looking to trigger an event uh and visual display to understand the reason the event act activation failed so in yearly stages um we first tested events in a controlled environment uh we had an AI gy which is we we saw previously uh to see how the AI systems behave together to filter out the biggest issues uh before uh putting the Beast into the city uh once our system was solid enough to be implemented in the city we um we were still careful and used the cheat to trigger them trigger them in the world so by default at first as soon as they were like baked and ready to be put in the in in Paris we could activate them instead of just having them right away like this and having potentially walk
through brakes and stuff like that since it was a like the first week we need to be be careful so enabling them by um on on ourself make sure testing them and see how it reacts before enabling them by default in the city was very useful um so it allowed um to minimize the risk on production and prevented affecting missions and causing walkth through braks playing mission in order we we play missions in order also to find two tun the frequency of events uh between Mission missions and see how they affected missions we also took advantage of upcoming play test uh scheduled to test missions so we can have feedback from the play testers on events um and what was also very important for us was uh to set frequent play sessions with our team so we can all like see the bugs at the same time or the good stuff at the same time and identify what needs to be addressed ASAP and on all the priorities so as ask yourself early talk to your programmers about the crucial
information that could help the whole team to fine-tune your features and allow putting more time into quality so I have news of improvement so for my perspective um the most important areas to refine would be increasing the diversity of uh and challenges of events we ended up developing more uh events about fight because technically it was just easier to reuse mod modules and make variation for fight events then creating new modules uh for types of events that may may have been more exotic since it would be harder to create variations for them for instance uh challenging navigation skills uh had some limits uh the system could not guide the enemy into specific areas that would have challenged the player's navigation skills such as leading him into massive crowds water uh restricted areas the path the NPC took was totally random um and it did not allow NPCs to navigate on buildings either so we were pretty limited
here sorry events could trigger really cool and unexpected situation in in the in the ecosystem it would have been interesting if uh they would have been more connected with the crowd life during their intro block and that we would see them happen much closer to the player this would have increased significantly the variety of event stagings since we had some like more of uh over like 500 different types of crowd stations uh we would have benefited for from this Tech and all the animations being created for created for th uh those um and it would have increased the number of events using acquisition and therefore would be seen around the player often so as an example uh let's say you're you're seeing a crowd station of musicians um so you can see the musician passing the hat after playing their music and a spectator um suddenly just grabs the Hat stabs the musicians and runs off so we could reuse
we could have reused all those stations to create this the first staging block of the events it would have been interesting so as they say knowing is half to battle uh in ritual spec we now have a much deeper understanding of the systems highlights and opportunities for improvement um we we now know the particularities regarding spawning and and acquisition something that was unclear clear to us when we first started designing the system um we went into map expecting minimal limitations and afterwards had to make do with the space an uh each animations took so with knowledge in hand um we can tailor our events right from the start to fit with the constraints we have looking back we only had a handful of events that were that were small enough and quick enough to work properly with acquisition we ended up doing moap for events that were very interesting but for which the technology wasn't there uh quite there yet and some
of our events that needed to be spawned would have benefited from a more customized spawning to suit their individual needs while we did have growing pains while trying to make the system work properly um once it all came together it did create some awesome and surprising situations uh I think designing simple events with a modular approach worked really well for us uh creating more complex challenges would have been more difficult to communicate to the player and harder to maintain and F fine tune so in theory you may want to just mix the ingredients and see the emerging gameplay that comes out of it but in practice and for for ACU anyways we believe that having a a certain degree of control over emergence and being able to pull strings behind the scene uh when needed uh did go a long way towards reaching the goals we had set so that's it um thank you for letting me share this experience with you uh I hope uh you you you learned something and it maybe gave you some
ideas um before I go I just wanted to finish up by thanking uh I would like to thank the crowd team the NPC team and the systems teams which were all involved in creating ACU's ecosystem and the crowd team did an incredible incredible job at making the crowd life and crowd events uh while the NPC and the systems teams did an amazing amazing job at making the systems for NPC factions and behavior and reactions so thank you all thank you very much for coming and um that's it don't forget to give your feedback to the awesome gzc staff thank you [Applause]
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Game Developers Conference · 2026
Game Developers Conference · 2023
Comments