Untitled
unknown
plain_text
a year ago
38 kB
4
Indexable
Never
okay so dynamics um so this really as a game designer i think in terms of i've got this big set of legos you know and i applaud the legos and i can pull them together and stick them you know uh into each other to make game designs or interactive systems um and they're actually they're like kind of two types of people they're the people that have all their legos in a box unsorted and there's people that have their logos perfectly sorted in like a fishing tackle box um and normally i'm the person that has the legos unsorted in the box but you know when i started thinking about dynamics and how i could talk about that you know really came to taking them out unsorting them saying okay yeah this is something i use and that's this and this is something else i use so really i'm going to talk about three things here kind of three intersecting dimensions number one of the topologies which i mentioned kind of in passing a little bit earlier the idea that we have agents networks and layers i'm stating a little bit differently here but these are kind of the way things relate to each other in a structural sense both you know through time or spatial then we have what i'm calling dynamics themselves these are the ways in which these structures change through time and the last thing here are the paradigms these are kind of different ways of looking at the world and parsing it into some model this you know i'm going to kind of do last and going to go kind of through a historical approach and this has to do with like simulation method methodologies so um topology first or just kind of we've talked about this briefly but one thing you can do is you can look at a game topologically um you know some games are very linear like missed you know you kind of go through and it has you know pretty much a set of puzzles you have to unlock in order um some games are a bit more open-ended like chess where there's a definite starting point and you know many millions of ending possible ending points a lot of games like first person shooters in fact are like this bottom thing where you have kind of a web between nodes when you're on a level you can run around do whatever you want but basically you have to eventually get the red key to open the door to get to the next level at which point the whole state starts over so you have this kind of collapsing little webs connected through nodes um open-ended simulations like simcity are a little bit more web-like um and so you know i think in games that's the trend is getting more open-ended more web-like um even with in-games and i think i showed you the slide already each one of these topologies is roughly represented um agents and games are you know agent-based simulations are becoming uh much more interesting because of their flexibility uh the sims the actual little people in the game the sims are kind of agents they make autonomous little decisions um players in the sims online form these social connections and these kind of groups of households or clubs and in some sense those are like networks you have this kind of social networks and layers you know you typically find in any game you know the uh basically the dimension here is from rigid to flexible agents have the most flexible kind of interactions they can kind of reform themselves very rapidly over short periods of time whereas a layer you know your neighbor today is going to be your neighbor tomorrow generally you don't have you know the components of a layer moving around so that's the chief kind of definition between these now these dynamics can occur through all these topologies um we can experience growth you know either in agents you know either in size or number maybe a population model networks can expand or the links can expand and then on these layers we can have kind of expansion through space a lot of times we use a lot of dispersion algorithms for things like pollution um you know in network things really building up a structure and it might be a social structure or it might be some more technical it might be even a tech tree where the topology of the thing is changing over time propagation is the movement of something through these networks or primarily through networks it can be material it can be information or it can even just be patterns typically it's happening through networks a lot of times you know there's propagation happening you know between your user base this is a lot this is outside the game the way we think about it we propagate you know ideas like we might have a new sheet for a game and we tell them you know the fan sites about it and then they tell the player sites and then it propagates amongst them that's kind of a top-down global propagation um a lot of things propagate from you know horizontally through one of these layers a lot of cheats that players discover they then you know pass on to other players and at some point that there's you know kind of a currency involved here between the players and there's a friction involved too so certain directions through this topology have higher friction than others um sometimes that friction has to do with how hardcore the people are in the game uh sometimes when you drop information into a game or into a player base the hardcore players get it very early on they're the early adopters and they get the highest value out of that information and they burn through it very fast the same thing is true with content when we add new objects to games typically the hardcore people download it first and they'll sit there and play for five hours straight and then they're done with it you know and the more casual players might come across it a week later and they might play with it for a week and so it's almost like this wave that is very steep you know the initial hardcore targeted group and then gets wider as it disperses further and further out um viral marketing very much follows this kind of example too you really want to kind of target the group that's going to have the highest amplitude of that wave to give the wave you know the longest eventual distance grouping is something that we use a lot generally we think of grouping and games a lot of time as it's driven by competition you know a group of things comes together to then out compete a larger group um or other individuals uh usually there are economies of scales involved the reason you're grouping is because you know two of them are more than twice as strong as one this could be like a military unit where you bring together military guys or it could be an economic thing where you're bringing together factories um it involves some amount of communication and control between the components now i realize i'm kind of talking through all of this in very abstract terms but i'll get a little more specific later but um think about these things as parts that you can recombine for different purposes one thing that grouping tends to do is it tends to drive specialization when you have a group coming together or maybe it's just a tribe coming to form a city at that point once you get a critical mass you can have people start to specialize and become craftsmen or warriors hunters farmers when that happens a lot of times there's what we call jumping of levels a higher level of abstraction the coordination between a group when you have members of a group coming together there's an inefficiency that they have going alone and when the coordination when the communication is high enough they can out-compete the individuals as a group in other words a group is more efficient than the individuals competing on their own this drives specialization um in fact the communication enables specialization in a lot of networks a lot of systems for instance uh the um when multicellular creatures started evolving on earth the development of the neuron was a communications technology that then enabled these different types of neurons to then communicate and kind of coordinate and specialize and it was that specialization that allowed multicellular creatures to start out competing some of the single solid creatures around them um in some sense specialization breeds networks there are network structures that are built on top of specialization that basically further it you know they tend to push specialization further out a lot of games in this i'm trying a little more specific here we try to take things like tech trees or relationships between components and they can be basically specialized networks that are slowly growing over time where you have a few base units that eventually can start making more and more specialized units this is a view through time of a typical typical game like civilization at any point in time you can draw a slice through this and say okay the units i can now build i can now build 10 units instead of two which is a much more specialized more efficient kind of grouping we see this a lot in our fan communities we see special roles that people take up this is kind of one view of our sims fan community where we have certain people building tools um that our content artists use to build like new skins and objects for the game that feed websites that are now you know putting up sites for other casual players to download where they might just be collecting objects or even telling stories each one of these has kind of a critical mass and a dependency in this network um there are allocation decisions that are going on in these networks and these you know specialized groups you're making decisions on you know where to spend your time where to move materials um in a lot of games this is the primary player model uh you have a certain number of things that you can allocate you have a certain amount of money to spend building your buildings in simcity and each building is a specialized component of this group effort competing with other cities and so a lot of games are kind of built around many of these components put together mapping is another one where these are temporary associations between units usually to improve the functional performance of something you know a very simple example is maybe connecting the road networks in simcity what am i going to connect to what else a more elaborate game might be something like the sims online with who am i going to make a friend maybe you know and it's a very kind of group competition thing there was a thing in the sims online actually where we had a mafia up here and it was these players that were grouped together very tightly and coordinating basically grief playing the other players and uh if they decided somebody was doing something in the game they didn't like they would actually kind of send people over to make them enemies and just generally kind of bother them and harass them in the game and these things were reforming all the time in fact we were kind of attacking these groups and you know very quickly they would kind of dissolve and reform then you know after the mafia was dissolved it became the sim shadow government and so these things are very uh you know the mapping that the players can do between each other and even within a game is pretty amazing um there's also a mapping that you do um in a game sometimes in more of an early setup phase a lot of fighting games this is one of my favorite games it's godzilla destroy all monsters it's kind of a godzilla fighting game like mortal kombat with you know super monsters but um every monster has kind of certain superpowers and it's kind of a paper rock scissors thing where if he's picking mechagodzilla oh i know godzilla can kick his butt and so you're kind of mapping almost like that example i gave with some more you know every player is making a different mapping trying to guess what the other player is going to do and you're mapping to abilities also mapping your skill i'm very good at playing this guy but i'm very bad at playing that guy there's behavioral mapping that happens in our game you know a lot of our the behavior in our game is very simple we call state machine behavior so given you know a given environmental situation out of a range of different actions that an agent can perform you know it picks the appropriate one for that situation and that's the behavioral response and so that's basically as complica complex as a lot of game behavior gets is a simple mapping exercise um in online games one thing that we're finding is that the primary experience that people have in playing an online game really is the other players that they're playing with um you know the game is very important kind of what they're doing in the game and what their you know the environment but really it's the other players they meet and spend their time with that long term become either the biggest kind of attraction or um you know problem with the game and so it's generally when people come to these games they kind of meet each other haphazardly and randomly and that's kind of one of the things that we're trying to look into now is how can we measure a player's profile how can we decide what type of stuff they like to do what type of environments they like to play in and figure out how to match make them with the right other player almost like kind of a dating service an online match making thing if we can do that in online games automatically to where you're automatically somehow routed or connected with other players that match your interests i think the retention will be much much higher now basically what's interesting i've kind of gone through these things very haphazardly but what's interesting is kind of the way these things all kind of then work together and nest and the emergence and really in games when i say emergency this is kind of back to what i was talking about with go where you have a very simple game very simple rules that come together and somehow magically emerge into a much larger possibility space than you might imagine giving the small set and that's kind of you know for me that's the aesthetic of games that you know for me that is a very uh elegant game compared to a very clunky game is a game that has a high ratio there so um again kind of back into abstract land we have little units here competing you know whatever it is these could be little cells competing in a you know petri dish this could be people competing in a market um at some point uh some of the little units decided to cooperate for whatever reason they realize that when they cooperate they can now compete the other individuals they're competing with so they form in essence a unit once they form that unit they can actually start to specialize their function and you know even further out-compete the individuals and so at some point the only things that can compete with this unit now this grouping are other groupings and then basically that same process keeps happening so now that once we have these little groups competing you know at some point you know some of them start cooperating and you get kind of a larger union and this is kind of a very uh almost abstract view of what i consider immersions is how these little components can come together and become kind of a larger unit in a larger scheme you can look at a game like um we have levels here uh we have of course agents we know which of these things competing and we have networks which is kind of the hierarchy here this is kind of one way of understanding just kind of typical science you know physics kind of leads to chemistry leads to biology et cetera um but also with games you know i think at the lowest level a game like the sims has interactions you know the kind of rough object interactions that are the basis of the sims the you know the lowest possible verb on top of that we can build more elaborate behaviors which are stringing together these actions these verbs then we can start building goals and situations scenarios on top of that and even eventually with certain games have a story arc or the whole game you know goal so in some sense we want to be building games like this rather than having to build the entire thing at the bottom level so we're having to program every possible possibility basically you want a larger possibility space at each level so every time you jump a level like this and the solution space as well you want the players experience to feel like it's gone up in order of magnitude when you manage to do this so to kind of recap and i realize this is getting a little kind of spaghetti-like but uh in a lot of systems we have a situation where there's competition occurring at some level that drives growth um because of the growth of the competition there's grouping you know to a local advantage that involves some control structures where you know they're having to communicate and cooperate to form the group they're probably boundaries involved around that group saying that we know we're in the group you're outside the group um specialization starts happening inside the group um for different reasons there's propagation of information and material between these members of the group there are also networks that are being mapped out between the members of the group um which kind of feed back into the control there's also allocation decisions being made about what's being propagated and mapping on the networks um and then at some point there's a jumping up to the next level and then it starts the whole cycle over again and so this is kind of one cycle of what i call emergence um now the last thing i want to talk about here fairly briefly is uh the paradigms and this is more kind of a historical view of the way we've looked at using computers primarily to model reality you know the different kind of grids that we've tried to apply um you know we build models in science that's kind of what science does you know we've got different models of the world some of them work very well relativity theory you know does a great job of explaining the way the universe works at very large scales quantum mechanic does a great job of explaining the way the universe works at very small scales i mean they're both kind of remarkable in how accurate they are you know within their domain what's interesting is that these two theories are totally incompatible they just they don't talk they don't plug into each other um they're both very good at explaining you know these extreme ends from the very small to the very large but neither one of these can explain a duck at all i mean and this is and this kind of drives home to the point i think that these models are not reality you know they are models you know reality is something different you know and so these models you have to be careful not to confuse them with the way reality actually is um way back in the day we had um well one thing let me say this first that a lot of times the kind of primary modeling metaphor that's been in vogue has always been based upon our current understanding of the world and the way the world was changing you know in the most recent history really influenced the way we attempted the model of the rest of the world so you know after world war ii nuclear power was around and we started making kind of of course these wild extrapolations about where nuclear power would go nuclear-powered airplanes this was actually a ford design at the bottom the nucleon this is going to be a nuclear-powered passenger car and thoughtfully they put the reactor way back the back trunk there um yeah they've got that with the pinto later um you know around the uh the space race the space age you know we saw 2001 and of course our view of the future then was oh of course we'll have moon colonies and giant you know space stations by 2001. we always kind of overestimate the short-term technical progress um the uh back around world war ii this field started called cybernetics which is based on a very simple idea that you have a system with an input and an output and with a little bit of feedback loop between the two you can actually build a control system you can either have negative feedback or positive feedback you know depending on the system you're building this is basically you know modeled on biology they were trying to figure out and this is originally done for things like autopilots on planes you know at that point they had machines that were complicated enough to require a very simple nervous system um and so you get behavior that's very similar to you know a thermostat you know it's very you know kind of good at hunting behavior but uh it does you know you can use it for certain automatic mechanisms um so this idea of cybernetics kind of uh got extrapolated a little bit more elaborately in analog electronics and you know kind of the basis of a lot of analog electronics is the op amp which is very much you know pretty much the same thing except in electronics where you have an input signal and output in a little way to kind of adjust the feedback between the two um so this actually this kind of paradigm got uh became the almost the starting point for what's called system dynamics which was started by a guy named jay forrester back in the 50s he's a guy that actually invented the magnetic core memory and in system dynamics basically you've got everything is either a stock or a flow and so a stock might be like population a flow might be death rate or birth rate and you basically can model almost anything using those two uh little devices um so in this case we've got stocks flows this is the way it's actually drawn they actually have kind of uh very fixed ways that they draw this stuff and another way it was almost kind of based on the idea of a refinery model you know you end up with these models that look like little refineries with flows of values of stocks from place to place they can get very elaborate like this um also you can model almost anything and you know when people first uh came upon this there was almost this kind of trendy oh let's do a system dynamics model of everything and in fact there was a very influential book written back then in the early 60s called limits to growth in which they took the world and made a model of it it was called the world dynamic model and they modeled things like the agricultural production the population explosion technology economy and they predicted the world out to like 1990 and um they were really worried because that model predicted the world was going to collapse the whole world economy was going to collapse in like 1981. um and this is before we really understood anything about chaos theory it turned out they were off on just a few values by a few percent and it was amplified over time and they thought the world was going to starve they didn't foresee the green revolution and a few other things but so system dynamics um for a while it was people just kind of going hog wild with it this in fact was a model that i found this was somebody's system dynamics model of how they achieved enlightenment if you actually look at the little nodes here you know it's got like their tension trueness of mind prayer intensity and these are actually graphs from his runs and you can see how his fear of death is kind of oscillating up and down but his trueness of mind is slowly increasing so i guess that's good but um so you can you can model anything you know with these systems um this is the world dynamics model that they uh you know some graphs from it um something that was actually a little bit older but it didn't really come into its own until digital computers came around is the idea of cellular autonoma how many of you have heard this you've with the wolfram's talk you've probably heard a lot about this um because he you know has pretty much been the pioneer of the field in this and this is the idea that once we have you know very fast cheap computers we can model a lot of things from a more emergent level and basically what you've got here is a grid with little cells on it and you have a very simple rule that determines when a cell is going to appear or disappear there's a very famous game called the game of life that was invented by john conway and he's got like three simple little rules you know which have to do like if a cell has um four neighbors there's a new one created if it has less than three or more than four it dies and actually that's about it but when you turn it on you get these amazingly elaborate patterns going and whole little ecosystems evolving in this and you get true emergence out of this system von neumann was actually the guy who came up with this idea way back and he in fact designed a lot of cellular automata before he had the ability to even run them and after his death you know once we had computers i started running some of these things he had designed on paper and was running in his mind and they worked flawlessly i mean it was just like one of the most amazing things in science including ones that would self-replicate you know he designed some ca's where a pattern could actually reproduce itself totally through emergent rules we use this a lot in our game simcity very much is kind of a three-dimensional ca of layers you know some object-based stuff on top so when you put down a building it has it's actually injecting into the ca layers traffic and pollution and land value and then those layers can actually interact with each other um on top of that we actually have a more traditional system dynamics model where we have like large valves on the system where we're turning up the residential or commercial those sorts of things so simcity really is a hybrid model kind of a hybrid between system dynamics and cellular autonomous and then i'm wondering are you able to combine multiple models to apply to the same situation and if so how do you decide when to apply this model that's very much like the black oh she's asking how do you apply which model to a given situation and that really at this point is more of an intuitive process if you've worked with these different models and you get a sense that um you know certain things kind of want to you know it's more going with the grain to make let's say you know dispersion of an airborne you know pollutant in a ca than it is as an object-based system in fact you could simulate anything in any one of these systems but um certain ones are just much more elegant much more with the grain and usually it's fairly obvious you know if you want to simulate you know crowd behavior or swarming you know an object model is obviously kind of more appropriate than a ca model um but there are also efficiency concerns you know a lot of times you can do it you know using the wrong system and it's vastly inefficient compared to doing a much more simpler underlying model and a lot of times we'll cheat a lot of times we'll do it let's say something in a ca here that in fact we then go and visualize as objects but it's only statistical so when you go there all of a sudden we look at the ca and say what's the average density oh it's five people per square meter let's you know also instantiate them and bring them into existence until you turn the camera away a game like grand theft auto actually uses that trick quite a bit if you're in that game and you're turning and then also look back you'll notice the cars and people are like totally different just because you turned away it's very much a world it only exists where you're looking and partially you know what they're doing is they're jumping back and forth between agent-based techniques and you know more distributed uh statistical techniques like that um chaos theory you probably all are sick of this stuff by now by chaos theory right um i'll just run through this really quick but chaos theory um was a more recent thing that kind of got more popular in the 80s and the really interesting thing about chaos theory is it put a real firm limit to um how far we could go both with prediction and modeling what it says basically is that there are some systems that are chaotic that if you change the starting position so in this case i drop a ball on this little dome and it rolls off in some direction if i move that ball over just a little tiny bit in that one region it can roll off in a totally different direction so what it's saying is that by changing the initial conditions just by trivial amounts you might end up with wildly different states and unfortunately it turns out that most of the world is chaotic what's the interesting parts of the world you know social systems weather a lot of things that we would love to be able to predict you know deep in advance um this puts a very firm cap on kind of how far we can predict things with these systems um this is kind of you know the the opposite would be a stable system where it doesn't matter you know where i drop the ball it always ends up in the same spot you can actually characterize systems as combinations of these two things you know they have regions of chaos regions of stability they have attraction basins i won't go into that too much but what's kind of interesting here is the fact that in a broad sense looking at how ordered a system is you know you might have systems that are like totally structured and frozen more like a crystal and other ones that are more random like static and there's a region in between the two where you actually get the greatest complexity when you're studying real systems um this is kind of the old saying life you know is living on the edge of chaos and what it means is kind of there's this region here where um there's actually kind of a mixture the system needs to be fluid enough for things to change and evolve and emergence to happen in essence um so that was kind of there was at the time they were trying to go for a general theory of complexity which pretty much failed um but there were some very useful things that came out of it one of the things that in complex systems there's a balance that's achieved in most complex systems between ordered and disordered behavior between local and global control which i didn't really go into too much and cooperation and competition so even the emergent thing i was showing you before we had a situation where you had these individual units cooperating to compete in a larger space and there was a balance there within the system between cooperation and competition that seems to be essential for complex systems more recently as people started applying lessons from biology into computer science they started looking at other ways to model there's this kind of whole area that was primarily founded by the santa fe research institute back in the late 80s early 90s called complex adaptive systems this includes things like you know biology economics um a lot of systems that we consider interesting would like to predict um there you know the general kind of idea behind complex adaptive system modeling is it's very similar to cybernetic modeling with the chief addition the fact that we're increasing the complexity of the rule system inside of it and the feedback and also allowing multiple inputs and outputs and this is basically a model of let's say an economy where the rule structure inside of here and i won't go into detail about this but a lot of the more adaptive um modeling techniques like genetic programming classifier systems neural networks um are examples of these adaptive of these complex adaptive systems and the real important word here is adaptive these are systems that can learn based upon the feedback you give them rather than me having to define the rule set that's inside this box they've come up with different techniques for the rule set to be discovered through feedback you know in other words you give this thing input here's the city data i'm seeing today and it gives you the output of this is what i predict the traffic will be tomorrow and then you go and say bad dog bad dog that was incorrect and you try to give it some you know steerage and then it goes and reformulates the tool system and as you give it more and more feedback and it starts to learn based upon you know its successes and failures what the rule system is internal to it um another thing that's come from biology that i actually i found really fascinating and useful is the idea of adaptive landscapes um i probably will just skip over this stuff we've kind of talked about this a bit um the last thing and this is kind of the more recent is network theory have any of you read any recent books on network theory there have been several recently okay this stuff is actually pretty interesting it's kind of the soup of the day in terms of modeling it's about graph theory and a graph is anything we have nodes connected sometimes they can be directional connections like this that's a directed graph or it could be an undirected graph they've been studying these systems and finding a lot of very useful stuff one of the experiments they did is what they call random graphs where they start with a set of nodes and these might be people these could be companies these could be animals you know any type of agent-based modeling and they start building links between them randomly and just assume that we're randomly drawing links here now one of the first things that they found is that very quickly this thing becomes a fully connected system once they have an average connection of one per node once every node has one connection to another node by that time usually the entire system it doesn't matter if we have 10 nodes up here or a million nodes you get a fully connected graph very very rapidly there's a distance you can kind of characterize any graph just for the difference between two nodes what is the shortest path of connections between these two in this case this is one two three four you know it's a graph distance of four graph with what they call the graph width of four um this is very important when you're looking at things like the net or even user interface you know how many clicks is a person away from any other place in your software how many you know clicks is a person away from your webpage from any other web page it turns out that the average width of the internet the graph width is about 21 clicks which is to say you can get from any page on the internet to any other page in an average of about 20 clicks um then we can see how since the internet is it's pretty remarkable the the networks that are very interesting though all share one property if we look at a network like this this is what we call um a scale-free network what that means is that we have most of the nodes in this network have very few connections all these nodes have one or two connections a small number have a lot of connections and in fact they call this a power law distribution this is a graph of the internet of 100 000 random web pages and the number of inbound links actually it's imagine this inverted no that's right this is the number of sites at the bottom that have that many links pointing to them so what you see is that there are very very small number of sites that have a tremendous number of connections coming into them and these are like google yahoo most of the websites have almost no connections coming into them so most of the web are these little out water you know kind of dangling nodes um but it goes up with what they call a power law distribution and this distribution turns out to be both very important for the behavior of these networks and also um representative of all the really interesting networks um this is kind of a map of the internet and it very much has that property because you just saw that the same thing is true of like food webs you can view those as networks and look at how many creatures each creature is connected to through a food web and you see that it's a scale-free thing with power law distribution metabolic networks the same thing social networks the same thing there's usually like one person a few people that are hubs you know that are very connected to everybody else and um it turns out that actually in social situations that these are what we call weak links and so the people down the bottom here might be close friends of each other um and they might know esther just you know in passing but in terms of like getting a new job or finding the right vc or doing whatever it turns out it's the weak links that will get you the furthest distance through a graph and so most of the interesting kind of social possibilities that come to somebody come through the weak links not the strong small group of friends that they hang out with all the time this is the graph of the terrorist network the people that they kind of reconstructed from 9 11 and they discovered that you know there were like three or four people that had those nodes been removed this thing would have collapsed and this is actually what the interesting thing about scale-free networks is that they're very resistant to random node failure you can go onto the internet and take down just random web pages all day long and you're not going to break the internet because you're going for random pages and as you saw from that graph most pages are very unconnected on the other hand skill-free networks are very sensitive to targeted attacks if you were to go and take out yahoo and google and msnbc and about 10 other sites then you're talking about a major problem