Jonathan Blow - Truth In Game Design

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] [Music] everybody thanks for coming I would like to thank team fresh from HD fractals comm for making that video and for giving me the permission to show it that was a zoom into a fractal called a Mandelbrot set and there are a lot of interesting things about that kind of visualization one is that even though that movie was only a few minutes long mostly for lack of computational resources we could have gone on forever we could have made a video that keeps diving further and further and further into whatever that was and no matter how far we would go we would always see more and more detail all of it which is a little bit fresh and a little bit new not only could you go as deep as you want in that direction you could have chosen any point in that original image and Dovan to that point instead and seems something different that was yet still just as rich in detail there an infinitude of points that you could have chosen and you can dive infinitely far into every one of them and it's important to realize that even though there's a lot of self-similarity there's no copying right everything there is subtly different from everything everywhere else now if we as game designers were to design something with the same high concept I want to make a game where you can dive forever and ever into something how would we do that you know we might think of some kind of Photoshop content cheats where we make a bunch of images and as you dive we blend from one image to another to another and do some rotation and scaling to try and construct things but it would always be a little bit phased by building content we can't ever quite achieve infinite detail as we saw there to give you some idea of scale we'll talk about the observable universe right the entirety of the universe that we know how to see nobody knows quite how big that is but estimates are somewhere between 20 billion and 40 billion light years across so if you imagine that we had started that video looking at the entirety of the observable universe then by the time we're about halfway through the video we've zoomed so far that we're looking at basically the size of one hydrogen atom filling the entire screen and that was only the first half right because we kept going for another equal equally long period so if you imagine somehow there's an unimaginably large universe where each hydrogen atom in that universe is itself an unimaginably large universe that is the scale of what we just saw and that's quite a trick and what's also quite a trick is to summarize it succinctly and here's how you do that this equation tells you everything that was in that movie here's E and C are complex numbers but even though they're called complex numbers it's actually a pretty simple equation where you take Z you square it you add some number C and then you make that the new value of Z and then you can repeat this process so looking at this equation it's almost inevitable to ask where did all this indescribable complexity come from it didn't come from this equation it wasn't put into the video by the author of the video right but there are no slots in this equation for what we in the game industry call content and so instead of seeing content what we're seeing is something about the structure of the universe it's maybe one small corner of the universe having to do with the behavior of certain classes of very specific things but that's what we're seeing you know I was a youngster going on a teenager in the 1980s when fractals were first popularized and you would look in magazines and you would see images of these things and I thought they were pretty cool and I played around with them with some home computer programs back then but I feel like the past couple of decades of playing a lot of games and of learning from playing games and learning from the art of designing games I feel like I have a deeper appreciation for this now that I never had before and that's sort of what I'm here to talk about today it's very difficult to discuss when I look at something like that and like some of the other things I'll be showing today I feel like I'm looking at something that maybe beyond human understanding and not beyond understanding because it's complicated and there's lots of things to figure out and keep track of but because it's so simple it's so basic it is so much like fundamental things that we just don't have very much experience with that it's hard for us to grasp close to the basic nature of the universe we live in so that equation Z prime equals Z squared plus C did not alone generate that image there was a loop structure around it right so here we have a 4x and a 4y which is about iterating across every pixel on the screen in x and y and then we have another loop which is to repeat our equation in arbitrary number of times and what we do when we repeat this equation is we keep computing new values of Z and over time we watch what happens to Z does it go towards 0 if so we'll put the color black in that pixel does it spiral out toward infinity if so we'll put a different color in that pixel based on how quickly it went and so on the one hand we have this relatively inscrutable equation about which it's very difficult to look at that and understand very much on the face of it and yet this loop structure that we have the ability to put around the equation turns this thing into some kind of microscope like device that can show us pictures and make the phenomena described by this equation appreciable to the human senses let me talk about something else this is life a cellular automaton invented by John Conway in 1970 and the way it works is we have an field of we're cells it's infinite in all directions it's two-dimensional and each cell can be either alive or dead so in this picture the white cells are alive and everything else is dead there are simple rules that control given that now is the current time we do a step and at that next time some cells will change fate they'll go from dead - alive or alive to dead and the rules are very simple and yet the results can be sublime and surprising and we can see a quite tremendous mixture of order and chaos this here is one of the earlier constructs that was discovered in Conway's life this is called the Gosport glider gun named after Bill Gasper the mathematician who found it this is a stable structure this will keep on going forever and that piece of it there at the top is an oscillator of sorts and every time those two guys come in and bounce off each other they generate a little guy called a glider who's going to move off into infinity toward the lower right of the grid here are a few other things that you might see in life up here in the upper left is a loaf it is a stable structure it'll never move unless you disturb it externally perhaps by crashing into it with a glider which is the thing in the top center here in the top right that is called a pulsar it's like a almost like a set of animation frames it cycles through this set of frames but it's stable it will just keep repeating forever ever and this bottom one is very interesting this is a thing called an acorn on one hand you would think it would be a lot simpler than something like a pulsar because there's only seven cells right there they're close to each other you know really what could happen and I'll show you what could happen if I can handle windows alt tabbing with multiple screens right so here's a little life simulator in JavaScript and that's an acorn up there the squares are kind of small but if you squint you can see it and I'm going to hit play on this boom and a great deal of activity happens and this activity keeps happening for over 5,000 time steps or generations in the life simulation right now we're at about 1,000 so it's not even close to done now this visualization is a little different from the earlier ones because here when a cell used to be alive and then dies out we've colored it green and as for all the life rules care the green cells are indistinguishable from the white cells but I like this because it makes for an interesting visualization that tells us something about the history of the space alright it's only about half way through but it keeps going so you get the idea and now I'm going to remake that pattern if I can manage to do that looking behind myself oh I can't tell ya so that's our same basic glider pattern that we had before and if I hit run again it's going to do the same thing it's going to explode into this bunch of chaos but I feel like doing an experiment I'm going to make a little change so right here in the in the Acorn did I say glider it was an acorn we have this little row of three cells down here I'm just going to add one more because maybe that'll make it bigger maybe that'll make it cooler and let's hit run and see what happens boom not very much within a few generations it coalesces into this couple of stable states well I'm going to stop and do that again and I'm going to add an extra cell again but I'll do it in a slightly different place let's say up here the same height is that previous cell let's just see what happens and now it explodes out into something not as chaotic as the previous thing or not not as stable as the previous thing not as chaotic as the original ACORN but this interesting symmetric kind of a shape so let's look at the code that makes all that happen just like with the Mandelbrot set we've got a two-dimensional loop iterating over all the coordinates now each coordinate represents the cells in the grid rather than a pixel in a bitmap although it's pretty much the same thing and what we do at each of those cells is we count the number of neighbors that are alive and based on that we do something different if we count two neighbors then we don't change the cell if it was alive it stays alive if it was dead it stays dead but if we count three neighbors we make the cell alive so if it was dead you can imagine that that cell was nourished by its neighbors and now it's going to be alive until something else happens to it and if anything else happens if we count any other number of neighbors than the cell dies you can imagine if it had less than two neighbors and it starved and if it had more than three it suffocated now these rules are very simple but as you've already seen a very small taste of they can Harbor great complexity within them and people are still discovering this complexity if you go on the web and you search for different cool stuff in Conway's life some of the things were discovered within the past five years there's a discipline called system theory that goes to great lengths to define what a system is but because we're game designers in here I'm going to use a hand-wavy game designer definition and say that a system is a set of rules causing behavior to occur over time and what I like about systems or what I find fascinating about systems is that systems give you something back that you did not put into them right when we looked at those rules of life a second ago nothing in those said hey make a glider any time these two big structures bounce off each other and make that glider travel to the lower right corner of the grid it's just somehow what happened given certain initial conditions and in general that's an interesting attribute of systems there's more to a system than you can understand just by reading its rules and to really understand the system you have to engage in it right you have to visualize it and play with it sometimes possibly for a very long time another way that I like to think about this is to say that systems answer questions and the starting state of the system is a question in that film at the beginning of the talk of that fractal the question was pretty simple it's like what is the behavior of these numbers in a certain very small region of space in Conway's life the question is more complicated it involves asking what happens when we set up these conditions such that certain cells are alive and other ones aren't and then the system crunches on this question and outputs the answer and in general we have a visualization that makes the answer appreciable to humans when you look at an equation like this it is hard to glean much even mathematicians don't see the full consequences of this equation just by looking but when we provide a visualization of the consequences and suddenly everyone can see it everyone can recognize it as beautiful and furthermore this visualization can lead us to ask questions that we wouldn't be able to ask without it right it can serve as an avenue to further inquiry further investigation and lead us some directions that we would not have gone otherwise now in the field of games we've had examples of complexity arising from simple systems of rules for over four thousand years right this game in the picture here is go go has very simple rules yet it's considered by many to be the deepest and most beautiful game and I think that it's deep and beautiful not arbitrarily but because there's a tremendous wealth of stuff that comes out in the gameplay that wasn't put in by the rules because again the rules are extremely simple and you can't understand go by reading the rules you have to play the game and in fact you have to play it quite a lot that's a board game and most of us are here to talk about video games so let's do that now here on the screen I've drawn a very high-level picture of what a video game looks like we typically have a loop just like with those iterative systems discussed earlier and the loop is around some functionality and for a game we typically read input from the player we do some simulation based on that player input and the current world state and we do some rendering which provides the visualization and what is inside this simulate function is some set of rules governing how the world state evolves which is directly analogous to the sets of rules that we looked at for Conway's life or for the Mandelbrot set now the difference between games and those earlier things the course that those earlier things were not interactive right in games we provide interactivity by reading from the input and using that to somehow change the state that simulate looks at and so from that standpoint that systems answer questions the interesting thing about games is that we're changing the question all the time we're modifying it on the fly based on what the player does so if I just ask the question what what is answering the questions well the knee-jerk answer to that is well the simulate function is answering the questions that's where the computation takes place but suppose I'm not satisfied with that and I ask again well what about the simulate function is computing the answers and you know again at first blush the answer to that is well there's just a whole lot of there's millions of lines of code in there maybe and it all does a bunch of different things and we somehow piece together this big structure that makes the game do what we want and that's how the questions are answered but I will claim right now and I will come back to this claim a little bit later that if you manage to look closely enough at this simulate function you will always inevitably find some point actually many points where the implementation actually happens in the universe and not from the programmer and what the programmers managed to do is encapsulate a bunch of these little things that the universe does and put them together in all these tiny things until he builds up a bigger structure like I said we'll come back to that but the reason that I'm talking to you guys about this now and thinking about things in this way is that I've been the unwitting beneficiary of this kind of generosity of the universe this game braid that I released a few years ago was a really fascinating development experience because it was very clearly the case that more ideas came out of the development process and ended up in the final game then I put into it as a designer right the process of designing the gameplay for this game was more like discovering things that already exist then it was like creating something new and arbitrary and another way to say that is that there's an extent to which this game designed itself so this is a game where you travel from world to world and in each world there's different rules about how time behaves and I did have an authorial hand in building this stuff it involved picking what the worlds were what they looked like perhaps and the nuances of the rules of how time behaves but my role here was about choosing what questions to ask right so the first question that sort of started the game was well what happens when you give the player the unlimited ability to reverse time and then you can just ask that question and in some code that is sort of a programmer way of asking the question and look at what the code does you know maybe you have some ideas before you run it about what it does and those might be right and those might be wrong but if it's an interesting enough idea then when you run the code you're going to see some surprises right you did not foresee everything that was possible as an answer to this question and then of course we can refuse to be satisfied at that point we can be excited by it and say wow this stuff is cool but yet let's ask another question let's say what if all that's true but then we could make some objects immune to the players ability to reverse time how does that change the situation and we can observe that and that can be exciting too and then we look at the next thing well what what happens if that control over time isn't bound to a control as such but it was bound to your position in space and so we can come to the game with question after question after question and type in some code and get answer after answer after answer and if we're tapping into the right things then the volume of answer is available to us can actually be quite large but what's important is that those answers were not authored by meaning they were generated by a system corresponding to the questions that I asked now because there are so many answers one of the things I did is author was to curate the results and clean them up so that they can be best appreciated by the audience for the game now this is a puzzle game and the way that I got the puzzles would be to take these interesting phenomena that I observed and build a puzzle as an illustration right as a communication of that phenomenon and through the years long design process of this game as I saw the rules unfold in two compelling puzzles I felt like I was chasing a little bit of truth and an important part of the reason why it tasted like that is because that truce was something I was observing it wasn't something I was making out or concocting I don't know how to concoct truth but sometimes I get the feeling when I observe something that it is true at the start of the design process I had this idea that I wanted the levels to be pretty simple and I had a lot of game design early reasons for thinking that you know I wanted it to be relatively easy to navigate through the levels I wanted to be clear what's foreground versus backgrounds and all kinds of concerns like that but as I designed levels and pursued this design methodology I found that I always wanted to make the level simpler and simpler because the simpler that I made them the more beautiful they were and I didn't understand why that was for quite a while except that you know when you add complications to a level you're obscuring the puzzles and when you remove complications you're letting the puzzle be there and it's somehow more pure but I think in the context of this speech I have a further explanation for it and that is that when things are simple when you're down to the fewest interactive elements and you've minimized the complexity of the level geometry and whatever else you can think of to do in that regard that simplicity provides more room for truth in the design because it leaves less room for author contrivance you as the author are taking a lighter hand to construction there is always going to be contrivance in a video game and there certainly was in this one but I think we want it to be just the right amount enough to ask the question but not so much that the answer is presupposed or unduly constrained because remember that systems answer questions and if you take a little bit too heavy of a hand design wise if you start answering the questions yourself a priori then you aren't letting the system express itself and it may end up a little bit dead a little bit muted so that was then now I'm working on this game called the witness and it's a first-person 3d puzzle game and when I first had the idea for this game I was very excited about it I had a high concept it was really compelling and I knew I really want to make this game more than any of these other games on my list there are two parts to the high concept and the first part involves the touch panel interfaces like you might see on a tablet computer that are common these days but they're mounted places in the world and you walk up to them and you solve them by drawing a line from one place on the panel to the other place now I knew early on that I needed a lot of ideas for these panel puzzles because this was going to be the lead-in to the rest of the game or to this other half of the game and you know once something is big enough to serve its functionality as a lead-in like that if it once it reaches a certain size it's no longer Ansel area it's no longer the tutorial right it's the game and if this is part of the game there has to be enough there that that part of the game justifies itself right it has to be rich enough in meaning rich enough in player discovery and the other things that this game is about that it doesn't feel added on or like you know something that shouldn't really be there so I knew I had to I thought I knew that I had to create a lot of really interesting ideas to put in these panels and I had some ideas originally but upon pursuing them I realized that they just weren't that good and they weren't leading to anything very productive certainly not the quality that I envisioned for this game and so I wasn't sure what to do about this and I started to despair but fortunately this was a really big project just because it's 3d and all that so you know I had to spend some time building the engine I had to spend some time putting the team together and all that kind of thing and so some months passed and at the end of that period I came back to the design problem of these panels again but I came to it with a fresh I remembering more clearly my experience with braid and I said well I'm going to come to this with an open mind and have the intention to see it freshly and to really just listen to what's going on here and and not try to dictate too much about what the ideas are going to be and very quickly it happened without me really even having to think about it that I entered into a new investigation process with these puzzles and a huge variety of ideas became apparent that I hadn't seen before the ideas had always been there but before I hadn't been able to see them and now I could see them and there wasn't much of a difference between the two times except for my approach and these ideas that I saw now they comprised the system that was deeper and much more interesting than the system comprised by my original set of ideas that I had hypothesized and I think one of the reasons it was more interesting is because it was simpler and contained less contrivance and that was really it was really great to experience and so one question to ask myself is well how did I get these ideas you know how did I see them how can i reproduce this in the future and that's actually a really hard question that I don't exactly know the answer to but it had something to do in this case at with looking at the core activity of the game the simple scenario of tracing a path through a grid or a maze and just asking what can happen in those situations right what can happen to a path generally what could happen to a maze generally even forgetting how I want this stuff to come together later in the game just what happens if I just put these in a bag and shake it up if I let them interact in the same universe of discourse and see what comes out of that and so some of the things that came out of that didn't go into the game but a lot of them did and in fact so many of them did that now that my original situation is reversed there's so much good material in these panel puzzles that I have to edit it very heavily and keep the number of puzzles down and my big worry now is that the other half of the game the part that I used to think was the awesome part now has to somehow bulk up and get more in it to justify its placement alongside this part of the game so it's completely reversed but that's a wonderful situation to be in because then you end up with a much better game than you ever thought you would have had so once in a while I give a lecture that has some kind of idealistic framework such as this or that's not completely connected to the day-to-day realities of you know typing in lines of C++ code and somebody will say to me that's all well and good but you know if you're making some weird game right but I'm like making a regular game and and how do I apply this kind of technique but I don't really think it's that hard and the way I think I would go about it you know let's presuppose that I'm working on a relatively unimaginative game I've got some guys and the guys have rocket launchers and they run around a world and they shoot each other with the rocket launchers and once in a while one of them gets hit and explodes into wet chunks or something right and even there if I build that game and implement that game I claim that already at some level that game is based on the same stuff as the fractals in that video at the beginning and on Conway's life in fact that has to be true there is no way around it and the reason is the same thing that I was talking about before if you look at the implementation details of that simulate function and you dig deeper and deeper eventually you will always strike something that is a property of our universe and not an idea that the programmer had except in so much as he had the idea to take that aspect and incorporate it into his program now it would be very boring to sloth through pages and pages of code so I'm going to switch to designer goggles again and say that as a designer if we want to see this we can change our focus from high concepts down to details until we see things like well in this game guys chasing each other with rocket launchers it's a pretty interesting thing to observe that assuming the guys are all moving at constant speed and I'm here in the world looking around a guy farther away from me is going to parallax much more slowly than a guy really close to me right and if I'm trying to hit the guy close I have to turn really fast and if I try to hit the guy very far I turn slowly and that's an interesting way that game play is affected right and that's not a new observation I think that everybody who makes first-person shooters is aware of that however focusing on that perhaps is a little different than the way that people usually do it another thing we might observe is some kind of miracle of discontinuity you know right shoot my rocket that way and it explodes after hitting a corner of a wall but if I had aimed it just a tiny tiny hair to the right it would have missed the wall completely insane much further into the world and those are pretty interesting and if you just start brainstorming around those ideas you might have new ideas that that want to lead you somewhere but it's always a good idea to refuse to be satisfied with that first level of answers and to say okay that's cool but let's dig deeper right and if we choose to dig deeper into this we might see some things like more fundamental properties of the universe I've got a rocket sailing through the air toward a guy and there's something there that's about the fundamental way that a body with its faster speed overtakes a body with a slower speed in space right that's that's just something interesting to play with right or when I'm looking around trying to figure out who to shoot at if I just sent out for a second I can really see the way that the linear structure of space determines what I can see and what I can't see right like the way that things become occluded and unaccredited again as they move through a space from my perspective and so what happens if after making this kind of observation we strip away the fiction guys or rockets or whatever and take those low-level ideas like parallaxing and occlusion or discontinuities or whatever and then build a game back up starting from those fundamentals and the observations we make based on those fundamentals and taking them from one idea to the next to the next what do we get now we may even build it back into a game that once again has guys with rocket launchers blowing each other up but at that point it would no longer be a game about guys with rocket launch was blowing each other up right those would be an implementation detail and the game would be about something else and that's pretty interesting so what I'm getting at here is a design philosophy and it's not one that I have often seen you know you come to a conference like this and or you know you read websites on how to develop games and it's pretty easy to see things like here are my seven steps on how you design a game or here's a structure that all games conform to and if you can your game into this structure then that will tell you things about how you can make the design better what I'm talking about today really doesn't have any of that and that's part of what makes it so difficult to talk about but my best attempt is just to say that this design philosophy is about being open to what is here right in front of us seeing what the universe has made available through the very fact of existence because actually it's quite a lot of stuff there's certainly no shortage but seeing that stuff can be difficult because we're not used to it it's a design skill that we may have to build and furthermore we may have to go against what we've learned because it seems to me that contemporary game design is often about the opposite of this it's about dictating rather than listening to things and observing things right before braid my idea of what it meant to be a game designer was that the game designers job is to have some really cool idea and then the team or maybe that designer if he's independent goes off and types some code and build some assets and you try to make this construct program plus data that somehow implements that idea and makes it happen and inevitably that's very difficult so you just start you get a big sledgehammer and you start hitting the code really hard and try to bend it into the right shape that's what I used to think but braid and the witness have taught me differently than that and I think that when you approach things in that old way when you design according to some preconceived high concept and you're dictating that things conform to that result that's a process of presupposing the answers to those questions right we're not letting the system itself answer the questions and we're not we're not therefore letting the system do its job or express itself to its full potential and what's beautiful about systems is their expression so why do we want to spend so much effort muting that expression now when approaching design this way for the first time it's sort of a natural reaction to have a little bit of fear or at least strong uncertainty right if I'm not making something if my role as a designer is not to come up with really something smart or something super brilliant then who who am i and act my necessary in the world right what's my point but there's really not much reason to worry about that because you can just switch around the way that you're thinking about this it's no longer creating something from nothing but instead you can visualize it as sailing a ship going on a voyage of discovery and that ship needs a captain and there's a big difference between a good captain and a bad captain and even disregarding good and bad there's a great difference between a captain with one style and a captain with another style so we haven't gotten rid of authorship here we've just changed the idea about what authorship is it's no longer about creating things from scratch it's more about being an astute observer and being someone with an eye for what is interesting going back to that video at the very beginning the idea to investigate the behavior of fractals and the decision to draw and color them the ways that were chosen there are authorship kinds of decisions even though the actual content of the image in some sense the things generated by the fractal cannot be authored right they are part of the universe they are just there so the role of the author in this case is about building that bridge between the things that are just there and our human minds and senses that want to perceive certain kinds of things and so I think as game designers this is really a power that we have the people in other media don't necessarily have or at least it's not their home turf right we can build systems we can listen to those systems and hear fundamental truths about how they operate in what they want and then we can visualize these truths to make them appreciable to the human senses and I'm not trying to claim that this is the only way to design games obviously it is not but I do want to suggest that you can become a very effective designer this way and furthermore I want to suggest it as a design community we can get pretty far by thinking of ourselves as people who build microscopes or telescope like devices for observing the world we live in rather than just being people who make things fun or who tell stories even though we can do that stuff too and the reason all this works is that we don't really have to work hard to do any of this right the universe itself has an unlimited supply of generosity and surprise built in and as designers we only need to keep our eyes open to what is here thank you all do questions them [Applause] anyone okay slides we've got a mic in the center aisle if anyone wants it someone raising his hand back there hello I just like to ask how do you think about randomizing things and games randomizing quests randomizing levels randomizing who loves all universe um what do you think about most most people say it's it's just generic it's boring it's always the same things like that yeah randomization can be very interesting right in a number of different ways one is just that it's it's a nice way to create situations the player didn't expect right there's a long history of games that do that going back to roguelikes and sort of up to modern rogue likes like spelunky which is a free game on the pc does a really great job with randomization and creating situations that you didn't expect and that's really fun and there's another way that I like randomization Frankland's at the GDC in America this past year how to talk about how randomization actually can teach you about the universe and he you know he used poker as an example of a game that has a large random element but also a skill element and that was pretty interesting and there was another talk I saw I think it might have been a year before that really upset me it was about Sid Meier talking about how they they goosed the randomization in several of the Civ games I think he might have been talking about Civilization Revolution specifically in order to more strictly match what players expected to make the game feel more fair right this is not level randomization anymore it's more about what's the outcome of this battle given troop levels of such and such and I'm really not a big fan of that because I feel like it's the opposite it's almost like infantilization which is a bit strong of a word for that but but pandering to the player by trying to make the player think that randomness is something different than it actually is so it depends on how you use it I would say whether my fan or not yeah hello hi so thank you for your talk my question would be you spoke a bit about being a designer that creates systems by asking questions and I suppose sometimes being surprised by the answers yeah my question would be how do you make sure that the players do the same things because I suppose sometimes the players might ask different questions and get different answers and while I guess you can have some precautions taken for that by doing play testing and stuff like that how do you manage to keep your your author or creator status as you put it while at the same time not being surprised by what players do the set of questions and the set of expected answers you you put in place Wow I feel like that's a very broad question because the answer could be different for every game you know I mean it's funny the games that I make so far at least do seem to be about requiring the player to ask questions of themselves like that like what's going to happen if I do this in fact it seems to be seems to be kind of what the games are about at some level for my games but I don't think that that's true in general I think that you could make a game that I certainly you could make a game that's completely linear where the player doesn't have very much choice and yet that also has this kind of thought behind it in design so I think it's orthogonal what the designer does compared to what the player does all right thanks very much
Info
Channel: Þórður Ágúst
Views: 30,170
Rating: 4.9713945 out of 5
Keywords: Jonathan Blow, GDC, Game Design, Game Development
Id: C5FUtrmO7gI
Channel Id: undefined
Length: 48min 1sec (2881 seconds)
Published: Tue Aug 15 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.