[Music] okay so in case you guys are in the wrong place this is the talk title called super time force solving the time travel paradox okay so it's a little bit about myself first Who am I my name is Kenneth young I'm the technical director at Cappy games and I'm also the lead programmer on super time force before super time force I worked on titles like white magic Clash heroes critter crunch and before that I worked on a mod called Max Payne kung-fu if any of you are familiar with that okay it's this computer is laggy it's it's not me waiting for applause okay quick show hands how many people here are quantum physicists okay please leave because I am NOT a quantum physicist so
I'm a butcher things that you study all the time okay so what does this talk not about first of all well it's not about the technical implementation of time rewinding although that is an interesting thing that could probably take an entire talk on by itself john blow did an amazing talk about his time rewinding mechanic and braid in 2010 so check that out on the GDC vault it's also not about building real time machines if you wanted to do that talk to John Carmack because as we all know he is a robot from the future so what is this talk about actually it's about the game design problems of time manipulation because to me those are the more interesting things as opposed to the very pragmatic you know technical programming kind of things and how we tackle that using science and I put science in quotations because I'm not actually scientist but you know maybe I can pretend to be one in front of hundreds of people so solving the time
travel paradox in a video game to be exact okay so what is super time force well if you're not familiar with it I'll give you a quick video of what it's about so super time force is a 2d run-and-gun shooter in the vein of like contra or Metal Slug but it has a time-travelling twist so at any moment in time you can stop time and rewind and in doing that you can sort of alter the past and every time you rewind you also add a new iteration of yourself so as you're rewinding you're sort of building up an army of yourself to sort of fight alongside and there's something that we call single-player co-op so you're sort of playing with yourself as we like to say ok so that is super time force so the vision of super time force
was we wanted to make something simple easy just like a fun quirky action game but in reality when you're talking about time-bending you're doing really complicated paradox filled craziness that is not that easy to communicate so the challenge for us was to make this complicated paradox filled mess feel simple and fun so what's so bad about time travel you think okay yeah just rewind time it's pretty easy well there's there's a few issues with it first of all altering the past and preventing vital events from happening that's bad thing nullifying any challenge by knowing the future that's also a bad thing accidentally dating your mom depends how hot your mom is I guess so in other words time paradoxes sorry about that okay so when we were building this game we we realized there was two main components to building a sort of time
manipulation game the first component is build an engine capable timer winding or as I like to call that's the easy part the second part is building the systems to deal with time paradoxes and I call those the fun parts now I say easy not because it's actually easy but because it's easy compared to the fun parts so we're what we realized was that you can have a solid engine and you can have a solid idea but without these sort of fun systems in place to handle the time paradoxes your game will for sure break down when we first finished our first prototype you know we had a really solid rewind mechanic and oh yeah this is cool is the greatest idea we'll finish the game in six months and you know it'll be the best thing ever and we realized the game itself the mechanics just sort of collapse under the weight of all these paradoxes that that bring everything down so why do I call it fun well I
guess this short form that I use for facilitating the unintuitive nosov non-linearity so essentially what that means is that would make your making systems to sort of make all the weirdnesses of time paradoxes transparent to the player so that you know they can just focus on playing a fun game also because it's effed up nonsense that you're constantly having to deal with when all you want to do is you know make make a simple game but you have to deal with all the stuff all the time so how do you create fun well we broke it down we broke down the problem with paradoxes into three things number one causality violation sounds kind of fancy number two butterfly effect management okay and number three the quantum measurement problem which I will explain all these things okay so we'll
start with causality violation first of all what is causality it could be defined as the fundamental one-way relationship between cause and effect essentially what that's saying is it's the reason why time moves forward it's sort of the underlying principle of deterministic systems progressing forward so that's that's pretty important it's pretty fundamental what if we just don't worry about that what does that mean well it means allow an effect to occur even if the original cause no longer occurs okay what does that mean well let's talk about quantum mechanics so in quantum mechanics there's a phenomenon called quantum entanglement it's where you can have two particles set up in such a way that changing the state of one of them will instantaneously change the state of the other even if that other particle is
somewhere on the other side of the universe it's a very strange phenomenon that caused quite a controversy when it was first discovered so yeah it's counterintuitive but it is actually how reality works so how does that affect us so we came up with the idea of entity entanglement so it's sort of along the same lines except that what happens is that two entities can become entangled as we say from certain important time line events that are happening so that brings us to our entanglement system so what does this integument system do first of all it entangles entities together at key timeline events things like you know something spawns a powerup or something if player collects a collectible or if an explosion propels a player forward those are key timeline events then we store all of these entanglement events
from all past timelines and the last thing it does is that it forcibly reinsert those outcomes back into the current timeline it's a little hard to explain so I will show you a little demo video of this in action so here we see Zack asaurus he's skateboarding around as the dinosaur does he sees this red enemy and he decides to head stomp on him he reaches this blue enemy kills him grabs the collectible which opens up the door which lets him through okay pretty straightforward now let's rewind and changed the past and introduce some paradoxes so what happens now so let's say Amy McQuillen decides to come and kill that blue enemies sooner so she kills it spawns the collectible and it crashes into the ground so now Zack horse has nothing to kill no collectible to collect which
means the door doesn't open which means he falls to his death and that's a bad thing and we we could even take it a step further so let's say you spawn another Amy and you decide to kill that red enemy right away so now as you can see Zack asaurus will immediately fall to his death and everything is screwed up and all the work that you just did is for nothing so let's see the same situation with entity entanglement so again we see Amy killed the red enemy and the blue enemy but as you can see Zack still is propelled by the enemy still kills an imaginary blue version still collects the collectible which as a result opens the door and everything is fine so that is how the entanglement system sort of handles handles the the way the world works so you may think things may not make temporal sense anymore and that's true they do not what the game will feel more correct which is
kind of weird so the next thing we'll talk about is the butterfly effect okay so what is the butterfly effect well it can be described as when a small change in the initial state of a system can result in a large change in the final state of that system it's also a 2004 psychological thriller starring Ashton Kutcher I actually enjoy that movie so anyways the butterfly effect essentially is saying that when you change something earlier on the effects will cascade and it will result in a really large change later on so how does this affect our game why does this matter well we can alter the past so when you alter the past you'll cause pretty much everything in the future to play out differently and when you say differently that can either be in a helpful way or
in a detrimental way and you realize that pretty much 99% of the time it's going to be detrimental so what does that mean does that mean time travel is completely useless as a gameplay mechanic so what can we do about this so the idea is to somehow manage all of these negative timelines effects to prevent this sort of cascading effect from happening so we came up with this idea of level entropy as we call it so first of all what is entropy well again this is a concept from quantum mechanics it's defined as the measure of how a thermodynamic system progresses towards equilibrium okay what does that mean essentially it means that energy and the system will tend to sort of spread out for example like you have a hot mug sitting on a table the hot mug will cool down the air around it will heat up and it will reach in equilibrium which is called the highest entropy it's also so
important that they call it the second law of thermodynamics which they said entropy must always increase so that's entropy what is level entropy well we take the same idea but we redefine what equilibrium means so for level entropy equilibrium is the state when all players are alive and all enemies are dead and we must enforce that levels must always progressed towards this equilibrium or in other words the eat the entropy must always increase like the second laughter there are no thermodynamic states so what does it mean exactly to the game it just means that any modifications to the timeline must follow these two things a it must never cause past enemies to be better off than they were before and it must never cause past players to be worse off so that brings us to our level entropy
system which has three three jobs number one monitor all events happening across all timelines know the entropy of each of those events and disallow any events which would decrease level entropy in a past timeline so essentially it's just saying don't allow things to happen that will mess up your your previous versions of yourself so again there's a video example showing this in action so once again we have Zachos or skateboarding around scoping things out so he moves forward sees that a door closes behind him and an enemy appears but he's safe so he decides to jump on some crates and get out of there simple enough so let's start introducing some paradoxes so let's say Amy once again decides to run ahead and say hey I like those boxes boom shoots them now
what's gonna happen Balzac's source has nothing to jump on he falls to his death you know same old thing with Zach so let's take it one step further so let's say John Rambo you know he's he doesn't want to wait around so he runs ahead closes the door door the door early now Zach and Amy are stuck they get shot they're killed and now John is standing there by himself wondering what's happening so now we have the level entropy system so you'll see again John run about wandering and running ahead closes the door but you'll notice that both the Zach and Amy are able to run through the door and Zach is even able to jump on crates which existed in his time but not the current time anymore so that is the level entropy system in action and again you may think things may not make physical sense anymore but again you'll realize that this makes the
game feel more correct which again seems counterintuitive okay so the third thing is something called the quantum measurement problem and this one is kind of a bit more difficult to explain an easy way to explain it is sort of the adage you know if a tree falls in a forest and no one is around does it still make a sound most people would think yeah why wouldn't it make a sound but in actuality the answer is no it does not well according to quantum mechanics at least so we're back to quantum mechanics again so what is this quantum measurement problem essentially it states that particles do not exist in a definite state until they're actually measured by an observer what does that mean well normally you think of particles as things that you know have a definite position and state but according to quantum mechanics that is not the case particles don't actually have a definite position and exist sort
of in this weird spread out region like a like a wave and strangely the moment someone tries to observe it that's them that's the one that they spontaneously decide to have a specific position so that's really weird it caused quite a stir again because there's this weird connection between how something exists and something actually observing it so a famous sort of a thought experiment to illustrate how weird this is Schrodinger's cat so how this works is that say you have some kind of box inside the box you can't see what's inside the box but you put a cat in the box and you also put a weird device which can poison the cat based on the state of a specific atom now according to quantum mechanics that atom hasn't decided what state to be in which means the poison has or has not killed kath and actuality you have to say that the cat is both alive and dead until someone observes it then the cat will
finally decide to be dead or alive okay cool so what what does that have to do with our game well this concept actually helps solves a major problem in in in our game so what is this major problem well first of all since you can rewind and sort of run anywhere in the level that means that players can exist anywhere and at any time and because of that that means everything in the world must be persistently active so no matter what when you are in the level all enemies may be on the other end of the level they still have to be doing the thing because players could be there and because of that you can have unintentional interactions happening all over the place and what's wrong with that well you lose the ability to control the flow of a level so players will be interacting with things that they haven't seen yet they'll be doing things in areas that they're about to reach and it sort of is a level design nightmare so again think about quantum
mechanics so our idea was to sort of treat enemies or treat entities like quantum particles so what does that mean so it means that entities are actually only allowed to interact if they have an observer in the same way that particles only decide on their state if they have an observer so that leads us to the Schrodinger system as I like to call it so it has three jobs number one calculate the sum of all regions of the world observable by any player so that just means it has to be able to know where in the level a player may be looking and that includes all players in all of the previous timelines combined so number two store all of these observable regions for every moment in time and the last thing it does is that
it only allows entities deemed observable to be able to interact ok so once again I will show a video showing this in action ok so here we have a simple set up we have a bunch of Time Force members fighting these two brown BOTS and it's pretty crazy bullets are flying everywhere but eventually Jeff Leppard survives and he runs forward and sees this door and say hey what's wrong what's going on there's nothing here there's nothing you can do any sort of stuck so let's see what happens when we do in introduced the short inter system and you'll see what is supposed to happen so once again they're fighting off the two Blair BOTS bullets are flying everywhere and once again Jeff survives and decides to run ahead oh hey this is what was supposed to be there they're supposed to be enemies and destructible crates so finally he's able to kill the enemy grab
the coin which opens the door and as you'll notice bullets from off-screen are actually now interacting with these crates because they have an observer so once again things may not seem physically consistent but it will make the game feel more correct which once again you know sort of counterintuitive okay so in summary number one making a time manipulation game fun is hard it's not trivial it's not straightforward counterintuitive nough scan sometimes feel right so it goes against your instincts you know to do something that may not be consistent that may not be logical but in some cases feel is more important than that something being logical and last but not least science rules and that's it so does anybody have any
heydo kind of curious how you implement your entropy management system because that seems kind of like a really difficult problem it's not like what if you know things cause secondary effects that in the in the first step might cause like a player to survive but then later on actually causes two players to die something like that so the question was how does the level entropy system work well it's actually not as complicated as it sounds it's pretty much as things are happening in the world you're creating events and these events sort of relations between two entities and you can pretty much know ahead of time whether these events have positive entropy or negative entropy so you pretty much never want to allow a player to die before you know he was
defined to die originally you want to make sure that players who walked a certain distance are still able to walk that that distance and players that didn't fall do not fall when they didn't before so those things are usually enough to handle most of the situations but yeah it's not as complicated as it sounds so do you kind of like run through all the possibilities through some certain death essentially yes but we sort of simplified the problem a little bit with with game design so in our game the only interactions a player can have is either he can die on something or he can shoot something and kill it we don't have the ability to use things or you know to push and pull things because those things would make this system a lot more complicated if we have to deal with those things but you still have to like run the simulation yeah yeah essentially we're rerunning
the simulation for all the players and sort of fixing it as and as it needs to be fixed hi I was wondering just how do you guys avoid players from taking advantage of the entanglement system and start breaking the game you know trying to get infinite power-ups if it in health and all that kind of stuff so the question is how do we prevent players from sort of exploiting the system yeah so yeah that was a big problem but fortunately because of resource limits we had you have to put limits on the ability to rewind so there's a certain amount of time that you can exist and there's a certain number of times that you can rewind so that sort of naturally puts a cap on these things but also for any events such as grabbing a powerup or grabbing collectible those things cannot be stacked so as soon as they've been done by one person then timeline then only that person will do it and that powerup becomes unavailable to all of the
propagates across all timelines in yeah cool thanks problem your video examples it seem like the difference after you applied your systems was that your previous cells played out exactly as they did when they played in in the first place regardless of whether there were things they depended on no longer existed are there any examples where that's not the case I how is your system different to just making all previous cells play out identically to how they originally played out essentially that is what we want to do we want players to play out exactly what they did before but it's not just simply a matter of putting them in the correct position with the correct velocity because they could be doing things like spawning a powerup or grabbing a powerup and you know going into slow motion or yeah so it's not just about position and velocity it's about how they they change the world around them right so all the situations where you would be helping a
part self so their life would actually play out differently because the change you made to their situation is actually positive rather than negative yeah okay all right I guess this will be the last question just how do you do the survivor problem so if you if you if you died and then you then a later version of you helps that person survive and there's no recording for that past your debt past your original death how do you how do you solve that so the question is what happens when somebody dies and then you rewind and prevent that different happening well that's actually one of the key gameplay mechanics in the game so you can sort of save yourself and when you do that we don't do anything crazy we don't sort of give you AI that player that you say it becomes a powerup and you can go and collect them and take their powers and now you're essentially two people at once cool cool no problem all right thank
Auto-generated captions from YouTube — names and numbers may be misheard.
Game Developers Conference · 2026
Game Developers Conference · 2017
Comments