Reply: “The Simulation Dream” by Tynan Sylvester

I was recently recommended a Gamasutra article on “The Simulation Dream,” by Tynan Sylvester.  I wanted to write down a quick response that I’d love to start a discussion around.

Overall, I agree with Sylvester’s article, which essentially echoes that what matters in a game  is what players perceive, as opposed to what the game offers.  In essence, a game may hold great potential (through extensive narrative content, or intricate game mechanics, etc.), but if that potential is never acted upon, then it is, for lack of a better phrase, wasting space.  This also implies, as Sylvester suggests, that you can play with the player’s perception to elicit game content that isn’t actually there, something my colleagues and I have studied in our paper on The Illusion of Agency.  While we didn’t call it that, Sylvester references “Apophenia,” the cognitive bias of perceiving relationships which aren’t necessarily there, as the reason for the primacy of player perception.  Apophenia is not the only cognitive bias relevant to the study of games, but it certainly merits a great deal of attention.  Also, his comment regarding creating story-richness reminds me of some of the problems that the field of Artificial Intelligence faced when studying issues relating to Knowledge Representation.  Sylvester writes that we should “choose the minimum representation that supports the kinds of stories you want to generate,” a question that has beleaguered AI researchers for quite some time (although not necessarily in the context of games).

However, there are some things I disagree with, of which I will name two.

First, the statement that “anything in the Game Model that doesn’t copy into the Player Model is worthless,” to me sounds like too broad of a catch-all.  Perhaps this complaint is due to my desire to be precise, but the statement implies that everything in the Game Model ought to be in the Player Model (because if not, it is not worth putting in).  I think what he’s implying is that things intended (i.e.) to be perceived ought to have feedback to advertise them, otherwise they risk not making it into the person’s mental model of the game, which I think is fair to say.  However, I’m taking a risk in further refining his original thoughts, since he doesn’t explicitly define the Game Model; does he mean the mechanics of the game?  or all the supporting code?  the code that helps the game run smoothly is certainly not worthless, but it may not be perceived in the player’s mind.  Small tangent: part of the Game Model (I presume) includes the game’s AI, which we as developers actively try to shield from the player’s mind in the sense that we do not want them to know how the AI “is smart,” because we want to maintain the willing suspension of disbelief.

Second, the statement that a real complex system will “constantly break the Player Model Principle” (succinctly defined as: “The whole value of a game is in the mental model of itself it projects into the player’s mind.”) to me is a gross over-generalization of complex systems.  While it is true that complex system interactions make it difficult to tease apart causal relations (and transitively, to parse stories), I don’t think it will constantly break the Player Model Principle as long as the interactions with the story are actively mediated by the game itself.  I don’t think I necessarily disagree with Sylvester’s point, but I would rather have the problem of “from all the content I have, let me pick and choose what I think you would like best,” rather than the problem of “let me come up with content that I think you would like best.”  Thus, I say I disagree with him, but what I really want is to avoid discarding complex systems, because I think there is great potential in them for cool stories that we have not even come up with yet.  A computer is excellent at bookkeeping, and it has the capacity to store relationship information between artificial story agents living in a fictional world.  A  human, contrarily, must focus on content with a limited set of characters, because the author herself is a bottleneck in terms of keeping up with intricate social relations and happenings.  Complexity, for lack of a better word, is good.

The Simulation Dream is alive and kicking in me, and I think generous amounts of complexity is the way to do it.  The task is knowing where, when, and how much.

The SVN Model of Scientific Writing

It has been far too long since I actually coded something, and I miss it.  I actually enjoy creating software.  It’s part puzzle-solving, part artistic expression.  I have, however, been advancing my Ph.D. research.  So, in an attempt to justify my lack of software, I thought of a way to think of my research in terms of software development.

All it is is a simple epiphany.  Advancing research is like software development.  Instead of committing code, you write a research paper.  And thus, the SVN Model of Scientific Writing was born (in my head).  For the uninformed, SVN (short for Apache Subversion) is a software version control system, a tool that facilitates the storage of software (in truth, any text file) for purposes of archival, retrieval, and distributed development.  I admit that, without understanding SVN, this post becomes tedious to go through.  Especially, since I want to (generally) keep my posts brief.

The SVN Model of Scientific Writing is simple:  each of the SVN commands has an interpretation in research.  Like the real SVN, there is an appropriate use of the rSVN commands (commands for the research-SVN system).  The rSVN commands are syntactically equivalent to SVN commands, and we will discuss some of the most basic commands in the sections that follow.

rsvn checkout

This command is used to pull a research trunk relevant to your research onto your local research.  Usually, this means finding a foundational paper or series of papers relevant to your field.  If you are into AI (as IA ((get it?)) ), you are in luck because there exists a website that contains a Reading List for the Qualifying Examination in Artificial Intelligence at Stanford (It’s from ’96, but the list is still very useful).

You should only need to do this once.  But research is full of fun moments like existential life crises, and discovering really cool applications completely outside of your field, so you may need to execute rsvn checkout several times.

Also, you may need to do this both for the general field and for your depth area.

rsvn update

When you are done checking out the foundational paper / series of papers, you will probably execute rsvn update, in an attempt to find work which has progressed from that starting point.  This is where the wonderful tool Google Scholar comes in.  Type in the foundational paper’s name in Google Scholar, and click on the “Cited by…” link to begin your rsvn update.

Image

rsvn add

When you have progressed in your research, you execute this command by submitting a paper for publication.  You normally won’t add incomplete works in the svn, and the same goes for rsvn.  Execute this command when you have completed a measurable quanta of research work.

rsvn commit

Like most development environments, to earn the right to commit the file, you must demonstrate that the work is as bug free as possible and that it accomplishes a specific measurable task.  This is where peer-review comes in.  If the peer-review process comes back with a favorable result, then you will execute rsvn commit by submitting the camera-ready copy of your paper.

 

Those are some of the basic commands you will execute.  The number of svn commands is (currently) much greater than the number of rsvn commands.  I am, however, interested in seeing more mappings for some of the other svn commands, and I may come back to revise this list as those mappings become clear.