[Music] um right i'm john engold i'm the narrative director at uh inkle uh we're most famous for our game 80 days which i'm sure you have at least heard of but i'm not actually going to be talking about 80 days particularly today so um sid meier's still available i'm going to be talking about our other big game which was called sorcery hopefully you've heard of it hopefully you've played it so this talk will make some kind of sense to you uh if you haven't i'll try to be clear and rock paper shotgun called it their rpg of the year last year so at least somebody thinks that it's vaguely worthwhile and worth talking about so um yeah in particular i'm going to be talking about the last two parts of it which were sort of open world games but only sort of and kinder and that sort of and kinder is really what i want to get into because i
think that's the most interesting bit okay so sorcery is actually four games um adapted from a set of paper game books written by a uk game designer called steve jackson in the early 80s now it's a really interesting series i read it when i was a kid i read it when i was about 10 and the first one is an absolutely straightforward normal paper game book so you read a paragraph there are some choices you pick one it tells you what paragraph for the book to go to you go to that paragraph and so you go it had a kind of cunning spell casting system but broadly it was a very straightforward book but steve is not that kind of designer he's the kind of designer who likes to break things and confuse people and create puzzles and tricks and traps and so as the series went on the books had more and more weird twists to them so maybe in one place you had to reverse the numbers on the paragraph to find a special secret or maybe in another every time it ended in a seven there was
a rule you could apply and so you'd be learning information and breaking the format of the game book as a kid reading that that totally blew my mind it was incredible it was magic and our series which we started about 30 years later has also evolved but in a slightly different way um so i'll in case you haven't played it and in case you have i'll just sort of take you through that evolution very quickly so sorcery is played out on a map like a nice fancy map and you kind of journey across it having adventures and part one which looked like this was very linear but quite branching now linear is one of those words that's massively overused and no one ever really knows what it means so i'll be clear i don't mean linear as opposed to non-linear you didn't get bashed on the head and have crazy memories coming in weird orders i mean linear as opposed to circular you always go forward you don't walk
around in circles you can never go back on yourself that's a defining feature of this particular of this particular book but as you walk forward you're always seeing specific content you're always seeing detailed content you're meeting people you're talking to people you're having adventures having interesting encounters along the way but what i do and what you do might be very different because of that branching so as you can see there's a rough sketch of what our journeys might be like we hit some beats we miss we share other beats we don't share other beats but in general when players played it they kind of didn't like it they found it was a bit too short i i guess basically what they said was we felt like the missed content was wasted content okay fair enough so for part two we wanted more people to see more stuff while still allowing people to just charge from beginning to end if that's what they wanted so we kept that linearity for players who wanted that linear experience but because it was set in a city we added a little bit of an ability to loop
around revisit streets sort of case the city block and really farm out all the content in that game if you've played it you'll know there's one other mechanic to help with that but that's beyond the scope of this but those loops were handcrafted they were added really late on in development we had written most of sorcery 2 while still coding sorcery one so the way that we built it was extremely fragile you'd be in a street corner and it would literally say well if you haven't been over here you can go over there if you haven't been over here you can go over there you haven't been over here you can go over there so we had quite a few places where an odd number of piles would collect at a point and it was possible to loop around and get stuck if you know the bridges of konersberg problem and i'm pretty sure there's at least one of those still in the shipped game but it doesn't matter because it's got a rewind mechanic but it's not properly built we hadn't actually solved any problems at this point so then we went off and we did this 80 days
thingy and that was fine and it was great and it gave us a bit more freedom to muck around which was cool so when we came back to sorcery 3 we wanted to solve that problem properly now sorcery 3 is set in a wilderness and the story is you're searching for these serpents all over the map so it really doesn't make sense at this point to disallow backtracking if you've got all the way over here and you've missed one and it's there then saying sorry you can't go and find it that that's the fighting against every aspect of what the story is telling you to do um so we built this one in a completely different way from the ground up we built it to make every single location infinitely revisitable and ensure that the player could never get trapped because they'd been in and out so many times there was nothing else they could do the paths go all over the place the heat map is essentially irrelevant that diagram is a total fake um actually players just scribbled around and did whatever the hell they wanted to and there's even a fast travel system in
there so this structurally looks like the heat map of an open world game right so when we shipped it we said hey it's an open world game but we felt kind of wrong about that because it isn't an open world game and i'll come to that in a moment in terms of actually making this thing we relied on a trick that we stole from 80 days which was the what happens in vegas stays in vegas rule this is a wilderness full of isolated villages so if you happen to burn that one to the ground or make that one get eaten by a dragon or set well whatever else you might do the people here don't really tell the people there look out for this guy he's a maniac so that makes us have less to deal with in term of consequence but for part four we bunged all of that together and put you in a city so um it's very clockwork park four there's this little citadel and you're running around inside it and the characters that you meet have memories
they talk to each other they generally remember everything that's going on so this really is the most complicated game we've ever made even though it looks substantially smaller than sorcery three and a lot of the reviews said it's not as interesting as sorcery three that's not true it really is but maybe maybe it's a more refined kind of taste i don't know um anyway so over the course of 35 years take that sid meier we've been on a journey from uh straight choose your own adventure what i'm calling authored branching narrative because it's branching and crucially everything in it has been put there deliberately via this circular narrative that we had in sorcery 2 that support loops it's not quite linear through to this open world free exploration game and so we've been moving forward along this spectrum and this spectrum that it has one big problem with it which i hope at least
some of you are already thinking i hope i haven't charmed you sufficiently that you're not thinking it the problem with this spectrum or slide is it's a complete load of nonsense there is no spectrum from authored branching narrative to open world games author branching narratives are nothing like open world games open world games are completely different and that was why we didn't want to call part three an open world game because it breaks every single rule of a traditional open world game in case you don't believe me i made a little list of differences um i don't really want to read it all out because you'll get the joke quite quickly but um open world games infinitely revisitable locations but they're largely empty or generic it's another hut it's another riverbank it's another town it's another blacksmith authored branching narrative every single location is detailed specific individual there's no generic content in there at all the same applies to characters characters repeat themselves in open
world games they never repeat themselves in authored branching narrative games the last two points are really important um in an open world game you can stumble and discover on things you can find things out of order uh you can't do that in an authored branching narrative game and crucially grind grind is a standard component of any open world um grind in an authored branching narrative is a meaningless concept it doesn't make any sense you cannot have grind in a game book like what would you do it would say right stop reading now go away and jump on the spot for 20 seconds and then come back and carry on reading the book there is no mechanic for that so when we came to design part three and then carried over into part four what we were really trying to do was make an authored branching narrative just like we've done before that survived despite being located
in what was superficially an open world well that's too much actually what we really did was a narrative which copes in an author um in an open world you can still break it quite happily if you enter the little wilderness portion go here go back go here go back go here go back go here go back it won't look like an authored branching narrative anymore but um i don't think anyone's going to do that and if they do i think it's your fault not mine so this is why i think it's a sort of open world but i also think it's a better open world because i'm very happy with it i'm very proud of it so i'm going to tell you how we did it and if you work for ubisoft you can give it a try um or not up to you um so and it kind of relies on two core components which are sort of complementary so the first one is this now okay i just had a crack at ubisoft but i'm actually not really talking about ubisoft games because
there are two kinds of open world out there anyway there are mission based games with sandboxes which are utterly linear and the sandbox element doesn't really feed into that linear at all really except via vogue upgrading and then there's open world skyrim witcher type games where there's a morass of quests and subquests that sort of you can drop in and out of at any time and that's the kind that i'm talking about and this is our first rule we don't use quests we use encounters so what do i mean by that right the traditional spine of an open world game as far as i know i haven't worked on one directly and i've been out of the mainstream industry for about five years so maybe you guys are doing crazy amazing stuff now but i don't think you are i think this is what you're doing you meet someone you go somewhere you get something you go back to the person you met and you get a reward amazing brilliant um so for example because we
need an example um so i wrote this talk and i sent it to the gdc supervisors and they said you need to use examples from sorcery because you know people will like that so i went through the whole of sorcery that's a million and a half words of content and i looked for a quest that had that shape and i couldn't find one so then i played the witcher for about 10 minutes and i found one and i nicked it so i'm going to be really mean to the witcher because actually it was really well written and i did enjoy it but i'm going to make it look stupid so there we go um so here's a quest which is roughly a quest from the witcher you meet someone you meet a peasant and they say there's a wolf in the woods it's probably a werewolf because it's the witcher but whatever so you go to the woods and it turns out there's a wolf in the woods so you get the wolf's head because we're gritty and you take it back to the peasant and you drop it on his table and he says okay um am i supposed to cook that and you go knock yourself out um and he said well if i'm gonna eat a wolf's head you can have my chicken have
my chicken i say thank you very much we've told a little story fantastic um okay so obviously this is highly problematic from a narrative point of view the first problem being it's it's kind of dumb um but there are some proper problems there are some actual design problems here firstly why is this peasant not doing anything about this why is he sitting in a corner of his house looking miserable waiting for me to show up and help him out if i go hear about the wolf do nothing bugger around buy lots of stuff from the local blacksmith play gwent for three hours why doesn't the peasant care why is he still sitting in the corner looking miserable about this well okay as a player i know why it's because the quest structure is waiting for me to activate step two of the quest but from the narrative point of view i've got no options here as a player i just have to suspend my disbelief i have to say yeah that guy's a character but only when i need him to be a character when i don't want him to be a character he's a rock
and that seems like a shame and if you do that in a text game everyone says you guys are rubbish that's a bug this is useless nobody forgives you in a text game it's not fair in the witcher they do and fair enough they you know it's a beautiful world and they have lovely horse and sunshine and things and that's fine but um well let's try and do better um thirdly why are the woods empty if i go to the woods before the peasant and that sounds kind of petty in a big game but i did do this in the witcher i went to the bog of prickly marsh or whatever it is and there was nothing there and so i thought okay fine i went there because it had a fun name then a bit later people get dropping little hints that i might want to go to the bog of prickly marsh and i thought no i don't need to go there there's nothing there and then eventually i didn't know what to do so i went there and there were these three witches with baskets on their heads and all this crazy stuff and i thought oh i was actually confused i was as confused as when i first played
assassin's creed and i got my first mission and they said do you want to do this thing yes or no and i said no i don't want to do that. and they said we'll come back later when you do and i was like no you and finally the most important one really from a narrative point of view that stuff is all forgivable really but why does no one else in this world care about the flippin werewolf because the problem with the quest structure is it starts with this peasant it has to because it ends with that peasant but that means that nobody else can tell me that there's a wolf in the woods they're not allowed to the game rules deny it completely the only thing they can say and they'd say this in the witcher is oh there's something dark and strange somewhere nearby to kind of give me a sense that maybe they know but then after i kill the wolf they're still saying this and frankly that just describes the world of the witcher anyway so we kind of thought about these problems but the fact is that sorcery
one the one that no one liked that much that was too short actually solves all of these problems anyway with what we call an encounter so that's a term that comes from game book design but it also comes from basically from d and d and the idea is what you'll run a branching narrative they reconverge so maybe you come from the left path maybe you come from the right path you hit this encounter whatever it is it it deals with it it does it and then off you go so specifically i i'm going to the woods i come from a path where i know about the wolf i come from the path where i don't know about the wolf either way there's a wolf i do that thing with the wolf that i'm probably gonna do um and then there's no wolf anymore hi that's an encounter that that resolves the wolf problem now obviously that doesn't give us our quest narrative so how do we do that well we make two encounters so if i was building this storyline in
sorcery here is what i would do and i'll take you through the thought process the design process that we use to build every narrative beat in that whole game so there are two encounters there is the peasant's house and there is the woods so what can i do in the peasant's house well i can meet the peasant and he'll tell me about the wolf fine i can go to the woods i can encounter the wolf i can kill it fine okay what else might i do well i might go and meet the peasant but i've already seen the wolf because i might have done these things in the other order i might have gone to the woods first so if i meet the peasant and he says there's a wolf in the woods i might say i know i've seen it i might say i know i've killed it i might say do you mean this wolf here's its head and he goes well that's a bit sudden but thank you very much equally i might go to the woods and encounter a wolf and i might run away that's a pretty reasonable thing to do
if you're in a woods and you see a wolf and you haven't been promised a chicken for killing it you might think i'll leave that behind so the player is already able to bounce between these two scenes maybe the peasant tells you about the wolf you go to the woods you choose to run away you go back to the peasant oh we should probably catch that okay so um i revisit the peasant and i say sorry saw your wolf didn't kill it haven't really helped you yet the peasant might say well this isn't very good you're supposed to be a witcher so all right i'll encounter the wolf again um so maybe i kill it we've covered that fine otherwise maybe i run away again because i don't know maybe the wolf's really big actually so i go back to the peasant house but we need to close this narrative arc off because it's turning into a bit of a farce at this point so um okay maybe the peasant has disappeared he's given up on me that's good because that means this house has no longer got peasant in it and i don't need to worry about him
anymore as a narrative designer and i go back to the woods there's no sign of the wolf he's curled up in his hole happy and i just find the peasants chewed hat lying on the ground and there we have another ending for our narrative arc wolf's head or peasants hat those are our two outcomes and maybe i can sell the peasant hut for like three gold pieces in the market fine and this is how we build sorcery basically you start with a basic quest and you start just sort of chucking the plot backwards and forwards between the two filling in the sort of possibility space and finding endpoints so is this mega complicated to do are we like super geniuses for pulling off this incredible feat of narrative design well look it's not as easy as building a quest i knocked out what the peasant's house encounter looks like in a flow chart if you've ever heard me talk about narrative design before you'll know i think that flowcharts are for office managers so if you enjoy this i think there's something wrong with you
but broadly the red boxes are content the blue boxes are conditions and it just kind of drops through from top to bottom okay so i go in is it my first visit am i revisiting is my patient is my patient is my peasant impatient is the peasant gone whatever and then either i leave empty-handed perhaps having increased his level of impatience or i get his chicken remember if if he goes off to kill the wolf in the woods then he's left his chicken behind so i can just snaff it anyway so if the chicken is important i still win how do we actually build this thing well we don't use flowcharts at inkl we use code there's no point calling it anything else this is inc this is actually inc one not which is the version before the version that we open sourced which you can play with yourself but that's um taken from sorcery 4 where we have a bottleneck outside the chamber where the archmage the super villain of the series is and you can arrive here
on your own you can arrive here on your own with only one arm which is significant because then you can't cast magic you can arrive in the company of a a black-clad ninja who may or may not be your lover with a girl who can turn invisible when she closes her eyes because she's grown up drinking the milk of the snatter cat with a small little demon thing that also stops you casting spells which is a convenient confluence of logic or nobody or a combination of the two and possibly with the body of a person that you accidentally killed on the floor here as well and all of those states are handled by the green things the green things are little logical conditionals and they sit on every line of text and pretty much every option the options are the red star things at the bottom saying if this logic thing is true this is allowed if it's not true it's not allowed so we just switch things on and off depending on the context the interesting thing that i want to point out as well is at the very very bottom of the slide there's one option
with no green things one option with no logic which is ready myself now as speaking as a writer to a room of people who may be writers ready myself is a rubbish option i'm at the end of a four-part adventure i'm outside the the the mount doom location of the whole story and i choose ready myself well that's nice so there's a little bit above brush my teeth as a thing to do before preparing for a final battle but we have to have it because i have no idea what circumstance you're arriving in this location in i've got no idea what combination of factors you've got switched on or off and i need to make sure you've got something you can do so that's a kind of fallback option for players who have had the most dull experience in the world who have just wandered into this location no idea what's going on haven't prepared well at least they get to ready themselves that's nice isn't it that is in the game as well so to to describe what this principle really
is uh we call it defensive logic that's that's our in-house name for it so the idea is we build every encounter in a completely ad hoc way every single scene is written to cope regardless of the game state we make no assumptions about what you know or what you don't know when you get to the peasant house when you get to the woods when you get to the archmage whatever we will cope with things like the player not knowing that the archmage is in that room even if that's probably impossible to generate because it's much harder for us to work out what states are possible and impossible than it is to just cover the case anyway and generally speaking as the game expands you start to hook things back together and things that were impossible become possible and then finally you ship the game and your players find that things that you were sure were impossible are in fact possible and if you've caught it they think your magic and if they haven't caught it you patch
it because they're right and you're wrong the way that we do defensive logic is just with preconditions we shove logic those little green things on pretty much every line of text on every action we just constantly guard the story against going the wrong way so if you're going to talk to flanker the assassin every single time you do that it'll say have you got flanker are you sure you've got flanker have you still got flanker it's like my mum when i go out the house when she's staying with us and she's saying have you got your keys have you still got your keys you really need your keys now it's defensive logic it's making sure that absolutely definitely you don't lock yourself out and then finally we have a fallback that's the ready myself option it's the what happens when nothing can happen and in general our principle is that fullbacks should be competent but they shouldn't be interesting um the main use for a fullback in in reality is for when a player does that thing of going backwards and forwards and backwards and forwards and backwards and forwards and
backwards and forwards and you don't actually want to reward that player you want to just get out the way as fast as possible whatever reason they're doing that for is their business the story should just shut up for a while interestingly that's probably less important for a game like the witcher in sorcery we cannot have a blank location if you're walking from here to here across a path or something we have to narrate every step of that journey because text is all we've got in the witcher you can probably just travel in silence for a while you may not even need fallbacks if you enter an empty hut in the witcher it's just an empty heart you don't need to have gerald say i looked around the empty heart and thought oh nothing here so that's how we build our encounters now encounters are critical and breaking away from the quest structure and moving towards the encounter structure allows us to tell narratives which the quest structure sort of implied like the peasant and his hat but didn't actually support or allow so
our system has already beaten the witcher system in that we can give you multiple ways to play the same plot and get the chicken at the end so when i said that i thought it was better it's because i think it's better but there are still problems to solve and that's why we need the second thing which is state modeling so in a normal open world game the player's knowledge of the world and the state of the plot are both outputs of the quest system so that means if you want to know does the player know something you just look at the relevant quest and say have you got to this stage yet like should i put the witches in crinkly bog manor marsh well has the player hit this that stage the quest do they know about them if so yes otherwise no and that's very robust it's very simple it's very clear you know where all the information is it's in the quest system we can't do that actually querying encounters to work out what you've seen and what you haven't seen what you've done where you've been is horrendously complicated
and kind of breaks the point of ad hoc design anyway because you want to make your encounters like your peasant encounter in such a way that you can come back to them three weeks later having completely forgotten how they fit into the rest of the game and add more fiddly stuff or cope with another consequence or handle the fact that you might actually have a companion with you now or all of this sort of stuff and you don't want to break queries being used elsewhere in the game by adding that complexity so what we do is we model all the plot and all the player knowledge outside of that with a separate system and hopefully you will enjoy what the system looks like because it looks like a state machine and again hopefully some of you are saying ah that's a quest isn't it you've just said you don't do quests and you put quest right back in again so my job for the next 30 seconds will be to convince you that this is not a quest but it looks a bit like the quest so here's our state machine for the wolf and it tracks the wolf plot so to start with i know
nothing about a wolf then i know about a wolf and i've seen a wolf and i've killed a wolf and finally i've cut a wolf's head off the peasant being a human being is a worthy of two state charts uh mapping the two things that the peasant can sort of move through i can meet him i can hear about the wolf and he can be grateful that i've killed a wolf fine or he can get impatient he can go and then i can find him dead okay but i'm asserting that these are definitely not quests in disguise and the reason for that is really simple um the trees are not player targets i'm not presenting these to the player in fact the player will never see them and i'm not saying you're supposed to max out every single one of these trees in fact they're probably mutually exclusive they are not quests they're not there to provide the player with a goal they're there for me as the narrative designer to work out what the bloody hell is going on
from moment to moment so how do we use them well we have one particular thing which makes them super useful and i think is quite clever and that's that the way we design the state machines is one there's one important rule which is that states always imply their previous states so if your current position in the game is this i've seen the wolf i've been told about the wolf and the patients getting impatient with me what that really means is this i know about the wolf and i've seen it i've met the peasant and i've been told about it and the peasant's getting impatient with me so every state in our state tree is a high water mark it says you've got this high and everything below it is also true and that's really powerful because it means that if you want to set a state you just set a state and all of this stuff comes in for free and if you edit that state chart to add a bit more granularity perhaps the peasant has hinted about the wolf and then the peasant has told you
about the wolf you can do that without breaking a single query in your game because if you're testing well have i heard about the wolf i'm still covered because i'm just adding stuff into the detail of the high water mark if you imagine i'm just adding another division between where what i want to test what i don't want to test so in practice what that kind of means is we we query states we say have you reached this state do i know about the wolf yeah have i seen the wolf yeah have i killed the wolf no fine easy and more often we test between states so we say am i between having been told of the wolf and having killed the wolf if so that means the player is expecting there to be a wolf in the woods and i can use that to change the way the narrative says uh you know how you enter the woods you're expecting a wolf to be there similarly if is the state between having met the peasant and the peasant having gone if so it
doesn't matter what the exact state setup is at all if i've met him and he hasn't left i think he's at home it doesn't matter if he's impatient or not impatient it doesn't matter if he's happy or sad it doesn't matter how many times i've tried to steal his chicken from him under his nose if i've met him and he hasn't gone then i know he he should be at home and so this gives us a really quick really light touch way of assessing logical situations but we still have lots and lots of granularity so i can test for exact combinations that i want um and i'll demonstrate that in just a moment one more point just to really get this idea in when you're changing state we use this command in ink which we've made which is called move to state and it doesn't do anything if you've already hit the state that's kind of the high water mark idea so if i move to know about wolf in this example nothing happens because i already know
about the wolf i don't edit the sort of higher states because i've just earned the lowest state it wouldn't make sense to but if i move to the state peasant found dead then it whoops through this state tree and now i'm expecting the peasant to be gone as well so if somewhere else in the story it says do you think the peasant should be gone the story will still report true because hell yeah i just found him dead of course i expect him to be gone so i get that state for free so what these really are is they're not quests they're state trees that depict the causality in your game the thing that caused the thing that caused the thing that caused the thing and that can be player knowledge or it can be plot events and they let us capture an enormous amount of complexity for example i've been playing the game for a while and this is my state tree so the question that i put to you is what's the current state of the story what has happened to the player to achieve this
so the wolf's head has been cut off the peasant has told me about the wolf and the peasant has been found dead so what's happened well the peasant told me about the wolf but i didn't do anything he became impatient he went out to go and kill it i found his body and i killed the wolf in revenge that's a narrative that did not exist in the original quest example that i started with it just wasn't there it wasn't possible is that emergent procedural storytelling i don't know it's made out of little pieces that fit themselves together but it is a unique narrative to me based on exactly what i did and you don't get that in any open world games so i think that's incredibly exciting and i also think that diagram is incredibly simple there are what 10 states there 13 if you count the null states at the beginning of the tree that is not a lot of information to keep track of
but the subtlety that it stores is i think quite quite exciting and if you've played sorcery and ever had those moments of sort of wow it's really listening to me magic that's what's going on there's just lots of little state machines fussing around in the background cool so i've raved about how we make our things and that's all very well and good um and uh i want to talk a bit more about the benefits and a bit more about the costs because of course this approach has both but i won't bore you with repetition so i'll talk about some of the unexpected benefits the important thing to remember is we didn't do this because we're super clever and we had a big idea we didn't theorize this we built sorcery one we built sorcery two and then we built sorcery three as close to the previous books as we could possibly manage we used encounters because we'd use them before because we didn't want to make a completely different game and surprise
everybody we wanted everyone to think oh it's just sorcery one but with backtracking which is kind of what they thought but having built it that way we saw a few things emerge from that design the first is my favorite it's the most important it's the one that i think that really elevates this which is plots can start in different ways that's impossible in the witcher to my knowledge anyway i haven't seen their tool set um in particular anyone in the world can tell you about the wolf in the woods anyone any single individual in that village can say there's a wolf in the woods we move your state to now you know about the wolf okay well what if you then go and talk to the peasant with the chicken well fine we've covered that already you walk in he says there's a wolf in the woods will you say i already know i haven't been there i haven't seen it yet we've actually covered that eventuality already because we're tracking the players knowledge separately from the um encounter itself
the encounter just copes because we did it in an ad hoc defensive way so that it would cope so i can add in during the writing process at any point warnings about the wolf i can put this near the beginning of the game if i want to for some people who find a certain thing and i can do that freely i can do that in the beta testing stage and it's utterly robust well not utterly robust but it's quite robust secondly i kind of to develop that idea we use our state trees to drive the plot forward so in sorcery 4 on your way to the arc mage the big barrier are these things called the throban doors and to start with you've never heard of them and this is their state tree so firstly i've heard of them great then i know that they're locked oh what a surprise then i learned that only sorcerers can open them luckily guess what my job is then i learned that they're locked by spells intriguing okay and then i learned that
they require counter spells to open them and then the player goes off and finds out what those counter spells are and we've got a lock and key system brilliant go me but as i wander around the world several characters in this world pretty much all of them actually can give me a clue towards the puzzle of the thrombin doors and whatever i do whoever i help they will always give me the next clue along no one will ever just tell me the answer no one will ever repeat a clue i've heard before they'll look at what i've got and they'll give me a nudge along fine really simple um you might say that's cheating how does this guy here know that they're locked by counter spells how does this one know that there are doors shouldn't people know what they know if the player rewinds and goes a different way shouldn't they get the same dialogue from that character no obviously not that's a stupid idea to be a little less glib it's necessary
in an ad hoc game when you get to any given point we have absolutely no idea where you've been what you've seen who you've talked to there might be someone with a critical piece of clue information who you accidentally blew up from the outside of his house without thinking about it and you never even met we support that kind of thing so we cannot put key piece of evidence in only one place or if we do we have to do that incredibly carefully um and i'll mention that again in a moment uh so okay cool well um the other thing that it gave us was simulationist gameplay-ish sort of thing um we're obviously not a sandbox game and we don't pretend to be but there's a couple of places where we've managed to do sandbox elements which has been really exciting so in sorcery 3 there's this guy who is the sun serpent water is his kryptonite once you learn that you can look at the map and any river lake or pool if you go there there'll be an option to
drop the orb that he's trapped in into the water and it runs the fight a wet sun serpent encounter i think i said earlier that encounters are often locations but they don't have to be locations in this case that particular fight is an encounter that we just plug in wherever we need it to be it's got a precondition that says do you actually have the orb with the sun serpent if so here's the option to drop it in do the fight and then come back if any of you've been using ink that is a tunnel it just uses a tunnel it blobs off and does it and then it comes back again a beta tester also pointed out that they wanted to be able to throw it into the mouth of the water serpent because the sun serpent and the water serpent are like these star-crossed lovers who can never be together isn't that oh isn't that tragic doesn't that make you well up inside so we added that and that was a lot of fun that isn't really an example of simulation it's gameplay though because we wrote a bespoke little piece for that whatever i just like it another example along the same
lines um there's a section of sorcery three's map it's actually a third of the entire map is a lake it's actually just one location in the game um with a coordinate the player moves from an identical lake location to an identical lake location to an identical lake location obviously that would get quite dull quite fast so what we do is we have a big bag of encounters and we just pull from it to give them content and by doing it that way we can balance it we can balance the drama against the quiet moments if they're really tanking on stamina we can give them a rest if they're doing well we can give them a monster we give them a fight with the water serpent but we make sure we do it when they're far away from land so it's a bit more dramatic even better we have a bag of content for when they're swimming a bag of content for when they're rowing and a bag of content for when they're in a boat with a grumpy ferryman and because we have that that means that the player can jump overboard at any given time we just
switch them to the swimming content but they can also push the ferryman out of the boat and then end up in the rowing state and row off and we can do that anywhere on the map because we just flip from one encounter to the other using our system we just say what state you in now okay have some swimming content cool so simulationist gameplay if you think about it means that we can start to have strategic gameplay so in sorcery three and four we started to add new mechanics adding a level of strategy now strategy you don't normally get strategy in choose your own adventure type games because the player has no way of predicting what's going to happen later based on what's going on now normally strategy is reserved for the other talk that i've mentioned too many times already but we do have some strategy in sorcery three if you've played it you'll know that there are time beacons that's what they look like it's
like a beam of light and in the light the wilderness wasteland reverts to how it was a thousand years in the past when it was lush and green and full of villages and things and these beams there's seven of them on the map the player can position them in an entirely analog way so you can push them around wherever you like lay them across the map then you go down onto the map you walk and you walk along and if you cross the boundary you change into the other period of time so if you point your light at a village you can go down and you can walk there the narration of the game handles the boundary transition by looking at what kind of environment you were in before and where you are now so it might say something if you are walking along the top of the map there it might say the dusty plane sort of breaks with a few blades of grass which push up between the stones and suddenly you're in a field of flowers in the sunshine and you get this liminal transition but that's basically procedurally generated we can transition from any environment
to any environment and i wrote a transition for all of those and i don't know if all of them are possible because i didn't bother to check because it was pointless to bother to check it's an analog system maybe there's a time you can go from the forest to the marsh maybe there isn't it took about 20 seconds to write it doesn't matter strategically that means that the player can do some quite cool things they can say that area of the map looks dangerous i'll put a time beacon on top of it and then i don't need to walk across it i can use it as a bridge we have several repair the bridge type puzzles as well and if you shine it across the lake the ferryman that i mentioned earlier he's in the past but if you go outside the beam of light well he's there a thousand years in the past he vanishes so you from fall into the water which is a great platform that the player set up for themselves i'm not sure that counts as strategy in sorcery 4 we implemented disguises we had a small number of them you can be a a monk a merchant a guard or a guard
captain we hid them in a couple of places but we didn't really think too hard about where we put them they change how all of the characters in the game relate to you so merchants give better prices to other merchants guards will let guards into the guards hall everyone's scared of monks that kind of thing the game just copes with everything and we didn't need then to balance or check the logic and we put it out in the world and players started to form strategies optimization strategies they'd say well i'll go over here and get the monk uniform which lets me scare that guy but then i get this one and i change into a merchant and i go over there and i buy the thing and then i go back here and i get the guard uniform and then that gets me into the mess and we go knock yourselves out fantastic whatever is there a better strategy i don't know i design this game but i don't know i don't care um it allows for interesting strategic thought in a narrative context it's good enough for me
which if you think about it leads on to the next unexpected benefit which is emergent solutions what i described with the disguises is just an emergent solution we ended up with more of those than i would have liked both in sorcery three the first one was the the no beacons all serpents run so it's really important for the narrative that the player uses these time beacons because it turns out that they have a cost but you don't know it at the time but some players managed to get all the way across the map without using them and killing all the seven serpents along the way we didn't think it was possible um i've never even done it myself we had to patch in a new ending to cover it and then sort of give those people a reward into book four but those players weren't done they then found ibran the god of gods so in sorcery you can have a god the gods are a bit weird they tend to comment commentate slightly on what you do we put in ibran
simply as a joke about brian henderson from curiosity he was supposed to turn up moan about the fact that he had no power over anything at all and then go away get on with his life and he was supposed to disappear but some players got ibran managed to get to the end of the game before he left and had him in book four which i didn't even know until we'd written most of book four and then one of the beta testers quietly asked about it and i thought oh no so we added ibran as a proper companion character who unlocks some special some particularly fun easter egg special content towards the end of the game so costs we've got this wonderful new system for building open world games we're going to revolutionize narrative in a fully authored yet procedural way the future is our oyster bob's your uncle um what are the problems firstly okay it's a benefit in disguise but
unpredictability you really don't know what the player has done at any point you can't know you can't really guarantee anything for example do players know enough of the plot in 80 days do you know why you're going around the world with villius fog it is possible to get through the entire of 80 days and never be told why you're doing this and i must admit i break my own rules here about halfway through we just stop testing this flag because i'm sick of dealing with it and about halfway through it's assumed that fogg might have just mentioned it idly off camera to pass pattern because of course players know why they're going around the world even if folk hasn't explicitly told them but there is a nice kind of point in venice when passport can still be bumbling around in the state of some confusion or thinking his master might actually be a spy or a drug dealer or something you can get around that you can of course still use bottlenecks in your map 80days
doesn't have any sorcery 4 has quite a lot more plot points we want to hit so we did use bottlenecks a nice trick is often to use um like pairs of bottlenecks so in sorcery for when you go into the citadel there are two doors and then to the inner citadel there were three ways in and then to the higher encampment there are two ways of doing that so there's still choice there's still variation there's still strategy and then you just trap both of those bottlenecks with whatever it is you want the player to know so um when you get into the citadel in source before there's this crazy old beggar who catches you for plot reasons that's sort of a running joke there's always a crazy old beggar in sorcery all the time um and so he will catch you whatever you do although again towards the end of development we found that if you get stung by bees and rescued by monks you can dodge the crazy old beggar so we added that as a plot thread as well so you can't actually complete the game without a crazy old beggar which is kind
of a feature for a sorcery game but not very many people have found it it's just fine in general the major encounters can still be forced to happen but interestingly often with varying causes so players might say well this thing happened but it happened for a different reason to me that's quite exciting that's quite interesting as the direction so that's and it's very different than what the witcher is doing right the witcher has the same cause but you often choose the ending so this is kind of the other way up the second big cost and if you're working in any kind of big studio this is almost certainly the most significant cost to you um is redundancy uh you just have to accept this if you're going to go down this kind of design almost all of the content you make will go unseen by any given player someone who plays 80 days once we'll see about three percent of the game's text and not see any of
the rest of it and if that hurts you inside go write it twine game sorry [Laughter] but but it all of your content will be seen by someone even the most obscure content will be seen by someone everything will be found by someone and that person will appreciate it and the fact that there is content that people don't find makes the content that they do find more precious to them because they know that it's special so again i don't see this as a cost but if then again i don't do voice recording for every line of dialogue in my game i don't do motion capture for every argument that people have for us variant dialogue is very cheap which is convenient um and that i don't know if you can read the tiny stripe in quiet but i'll let you read that for yourselves um finally bugs obviously there's no dodging it if you use this kind of system you have
more logic you will have more bugs um you'll have to find them they are harder to find because you can play in more ways the flip side is they're actually a lot easier to fix almost always by the time you've found a bug it's completely obvious what the problem is you just forgot to put a precondition on an option 99 of our bugs are someone says flanker's just appeared he i wasn't traveling with flanker but now i can talk to him well we drop in we add a condition the problem goes away not all bugs are like that as it says sorcery 3 we shipped with about 15 serious game stopper fatal bugs which destroyed people's adventures luckily sorcery has a rewind mechanic so you can actually ship a patch rewind back and play on but not all problems get caught that way one of them was that the the water serpent only appeared once there was a bug with the way that the bag of lake content
was offering up encounters the water circuit wasn't visible so various people saw it ran away from it and then spent days and days and days and weeks of game time scouring the whole map trying to find this serpent which could never appear again and that's a bit awkward and a bit unfortunate the good news is for sorcery 4 we got some more testers and we had fewer bugs so that was nice and obscure bugs aren't really hit by that many players anyway so i think there's probably a trade-off there but then again i don't have to answer to any shareholders or for the moment to any external qa departments and that's it i can't think of any other costs i think it's great um so for our next iteration inkle we announced this the other day we're moving on to a game called heaven's vault it's a graphical game it's an open world game it's not quite a witcher game in that as you travel the open world you go down into locations which are their own little hubs and then come back again
so it's structured more like mass effect than like the witcher that solves a few problems you can't be halfway through a scene and then just leg it out the door but you do have quite a lot of freedom to explore around the actual construction is a mixture of content you can only do once and content you can do in any order and places that you can revisit that expand over time so hopefully we don't have to do too much logic everywhere but we'll have a few places which are very very clever and responsive and then a few places which are kind of set pieces we're doing it with graphics not prose which means procedural events like the sun serpent orb example that i gave are basically impossible because we need to ensure that they fit with the geometry and that's harder to ensure but procedural dialogue is well in our two sidekick characters have an enormous bag of things they can talk about they're all guarded by preconditions which say
things like is this relevant to what you've been talking about before is it something you saw recently is it something you're thinking about whatever and they'll drag up these conversations as you move around go through them so we're using a lot of again if you're ink users we're using a lot of threads to sort of pull in content from different places and finally it's all about player knowledge the whole construction of the game the whole unlock tree of the game we don't really have an inventory it's all what do you know where do you think you need to go so there will be hundreds of thousands i don't know paths through the game's various discoveries but i'm pretty confident that because we have our high watermark knowledge system that as long as every thing you do pushes something forwards everyone will eventually reach the end that i need them to reach and hopefully i don't even need to worry about that too much i just need to make sure if there are any questions in every talk if there are any mathematicians in the audience it's basically an inductive
structure so long as everywhere has the ability to add one you will eventually reach any number you need well in our case as long as every scene has the ability to push something along somehow you will eventually move forward and reach the end of the game you might go a long way you might go a short way and as they say in film we'll fix that in post and that's it thank you very much for coming i really appreciate it i know i was up against firewatch as well um thank you for listening and we've probably got a couple of times for questions cheers hey hi i can reach this um with the stuff you're saying about bugs and like uh hardly found paths and stuff have you guys looked into doing some kind of programmable travel or like algorithmic traverse of the thing so you can find the edge cases by
just like iterating through every single possible combination sure so the question is basically have we built what they call a pad basher like an automatic player yeah so um for sorcery we didn't and i wish we had and mainly it was because the code base was quite old and the map traversal was hard to automate and we were up against deadlines we're doing a lot more of that for heaven's vault um i already have in my prototype one of the first things i've built with something that just bashes through content it's been invaluable in finding places where the flow dies what it can't find is places where the flow contradicts itself um one of our biggest issues is always continuity errors so somebody will um we've been showing a demo to the press in the last couple of days and one of our wonderful journalists walked up to the outside of a great beautiful tomb and she pressed the conversation button and our archaeologist said i think the tomb is buried underground that kind of thing and a pad basher can't catch that but any automation you can do is obviously helpful so yeah we are definitely definitely interested in that hi yep hi
uh does your system uh use probability at all like you'd go to a place and you have like a 90 chance you'd get this state and a 10 10 chance to get some other state right so the question is do we use probability in our designs like that classic d and d roll for whatever actually we don't and that's kind of stylistic i think i'm i guess i always feel as a writer that at any given moment when the player makes any kind of choice i know what i think the best thing to happen at this point is and i'm more interested in that and i think my audience is more interested in that than one option which is okay and one option which is less fun so i would always rather make sure that every action has a good response rather than try to come up with multiple responses all of which are kind of okay i understand the attraction of probabilistic games but i think they're probably better suited to things with repetitive or generic or repurposable content rather than
things where i have specific encounters that i wish to give you so our equivalent of it is really that when you say something to someone and it says do you know this fact if so talk about this do you know this fact if you talk about this because although that's totally deterministic in practice it's random because i have no idea how many players will know be in this state how many players will be in that state how many players will see this stuff so that's that's our take on it but um probability doing a property just feels like you need to write more for no actual extra gain but whatever your view may differ thank you it's probably time sorry actually that's bang on 11 so we better stop i'll go to the wrap-up space upstairs if people want to still ask questions otherwise yeah thank you very very much for listening cheers [Applause]
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Game Developers Conference · 2026
Thomas Brush · 2025
Comments