Joseph Mauriello

: / Parsons D&T Thesis

: : An Exploration in Dynamic games and user infered narrative

Thursday, October 23, 2008

Model Case: Passage:








Jason Rohrer’s Passage is a very simple game. The game is short, it lasts five minutes, but often has an emotional impact on people who play it. The game abstracts a lifetime into a five-minute journey through a landscape. As a player you have very few choices, and the choices you do make have very little effect on the final outcome. Knowing this doesn’t change the emotional response. Reactions on forums was mixed but some had the same emotional response I had, others didn’t. It was described by one poster as “Haunting. Also seemingly one of those things without much discernible meaning beyond what you infer yourself.”1 I was very interested in the emotional responses the game causes in players and I wanted to get a record. I developed a survey to be filled out before and after the game was played.

Several of my questions referred to inferring narrative. I got some interesting feed back but nothing specific. This could have been due to the way I asked the question or the nature of the game. During my own play experience I found myself deriving myriad stories about how a life might unfold. The survey may be found in appendix A.

1.Mewd : http://www.gamespite.net/talkingtime/showthread.php?t=2457

Model Case: Flow in games


http://intihuatani.usc.edu/cloud/flowing/
Flow’s creator Jenova Chen aimed to create a game that closely matched the principles of "Flow." A concept described by Mihaly Csikszentmihalyi in his book Flow: The Psychology of Optimal Experience. Flow is the mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity (from Wikipedia). This was Jenova Chen's goal in making Flow. Flow is a simple game. The player pilots the fluid movements of a worm, the worm eats other creatures in order to evolve. Levels are stacked vertically and exist as two-dimensional planes. Each level has one red and one blue object, in addition to myriad creatures swimming with you, eating these will bring you to a high or lower level respectively.

A player does not have to meet any particular objective in order to progress through the levels, they merely have to eat the red objects, however in doing this the player would miss the most rewarding aspect of the game. As a player eats other organisms the worm evolves, adding segments decoration and wings. Each time the game is played the worm evolves differently depending on which organisms are eaten when. The game is more about the journey than the destination; in this way it embodies Mihaly's principals of flow.

Enemies are placed at random throughout a level. As mentioned about levels are stacked, the next level can actually be seen ghosted below the players worm giving a glimpse of what is on the level below. Some levels have enemies, some enemies are very large, watching one swim under up on the level below can be ominous.



I am particularly interested in the subtle narratives that arise as the player navigates the levels and evolves their worm. Each time a player may choose to play the game different results are yielded. The fun comes from the game unfolding as it is played. These are aspects I want to embody in my thesis project.

Tutorials I am working with

This is a running list of all the tutorials I have used while making this project.

XML loading of level arrays:
http://www.emanueleferonato.com/2007/05/21/how-to-load-levels-in-a-flash-tile-based-game/
Platformer Tutorial:
http://www.emanueleferonato.com/2007/07/03/creation-of-a-platform-game-with-flash-step-1/

Thesis Assumptions


From: http://hikingthecarolinas.com

A thesis seems to be a huge monolithic endeavor. Like climbing a mountain or digging a deep hole in search of treasure. It is to be a culmination of my interests and skills. It's an intimidating process. I assume baby steps. I assume criticism. I assume I will have a hard time communicating my concepts some of the time. At some point I assume as I climb the ever steepening foothills I'll reach a point where the incline will exponentially increase. I assume at this point I will become frustrated, I'll probably flounder and generally be miserable. I assume that at this point I'll either find an alternate root or I'll find the hand and foot holds needed to climb the flat face. I assume I'll waste time. I'll get much better at what I want to do. I assume I won't get the result that I have in mind right now. I assume that I will gain invaluable insight from instructors and my peers. I don't assume that I will succeed, but I will make sure that I do.

Friday, September 12, 2008

thinking 9-12-08

I spent most of my time this week refining my concept. At the end of last week I had a lot of ideas of what I would like to build but I didn't know what the final form would be. I spent a lot of my time over the summer looking at games that let the player derive meaning from the system. I had an understanding of how these precedents would guide my project but not the form my project would take. I spent this week finding those conclusions.

This week I build several simple games with the intent to improve my Actionscript programming skills, In an attempt to refine and prove the validity of the concept of dynamically generating varied and interesting results from a simple set of rules I used processing to create an experiment on creating complexity. In order to refine my concept and inform what I was building as I moved forward I wrote on the topics of variety in games and methods of procedurally generating levels. Each of these prototypes centered on the goals of Concept Verification and Implementation/Production.

I built simple games in Flash with my main focus on learning how a game is structured. My current programming skills afford me the ability to create functionality but I don't have the experience necessary to structure a complex program such that games are. A software program does more than execute functionality; it provides the user with a framework to operate in; within the context of a game this structure is called the "Game Loop". The game loop accounts for any interaction that occurs after the game has been initialized, including functionality, scoring, win conditions etc, and finally the ending screen that feeds the player back into the pre-game interaction. The games I produced were an exercise in creating the components of this loop and structuring them in such a way that they could be extended.

I found a new major resource in Katie Salen and Eric Zimmerman's "Rules of Play". This week I read the "Systems" chapter and the "Emergent Games" chapter. This reading effected my prototyping and informed my writing by giving me depth of understanding in complexity and games as systems. I did experiments in complexity in an effort to begin thinking about the algorithms that would eventually produce levels. The complexity experiments were of limited success I wasn't able to create even an analogy of the algorithms that would produce levels however the experiments are something I plan on continuing to help progress my thinking.

I have included my writing below:

I have realized that I should describe my project from a different point of view. I plan to make a 2D side scrolling platforming game with levels that generate dynamically based on player performance and decisions. Traditionally Platformers have simple narratives that play themselves out through world themes and simple cut scenes. The game I make will follow in this tradition however the level themes and the cut scenes will be generated dynamically based on user performance and decisions. The main focus of this thesis is technical. Randomly generated level design is always a dicey proposition. Without the hand of a designer guiding the production levels can become monotonous and disorganized, lacking flow and an organized structure. I can see several ways to solve these problems. The first comes through research the second comes through untested assumption.

1. randomly generate levels from terrain chunks and features. This is the method utilized in Dino Run and to a less successful degree in Infinite Mario. Part of the reason this method works so well in Dino Run is the nature of the game play experience. Dino Run is a fast paced game, you must save your Dino from the apocalypse by running as fast as possible, to the right. The game play does not promote lingering or wandering. This provides a forgiving canvas for the random level generator.
Another reason Dino Run works is that the terrain features are well designed. Each level has it's own distinct set of features. For instance a particular level might have a brontosaurus bridge or a tar pit with scattered rocks. These features are not made of discreet objects they are large chucks of designed terrain. They provide a designed experience for the player to navigate. These features are placed randomly in a level amongst smaller more generic terrain pieces.

The benefits of the approach of using terrain chunks is that it is easy to control...

2. Other method is similar but leaves more up to the engine. In this version I would provide the engine with granular level elements; platforms, enemies, items, in combination with distinct rules. Platforms maybe no further than X pixels apart, there may be no more than X number of items and they should be spaced X distance from one another. This is similar to the method employed by "Infinite Mario." Here the results are incredibly varied but also completely random. Random is often uninteresting, this is proven in "Infinite Mario." After only a few levels of play, the game becomes tedious and boring, there is very little variation from one level to the next because there is no pacing, no guiding hand. To remedy this I would need to develop an algorithm that would guide the pacing of each level. The

benefit of this approach is more variation.

This lead me to think further about my project and it gave me a new direction. I wrote this paragraph as a result:

I propose to create a game with a built in editor that will sit inside of a dynamic and ever expanding narrative. The editor will initially be built as a tool for me to use to develop a game concept that I have been developing for some time. The editor will allow users to add chapters to an ever growing story. The story is flexible and may branch in myriad directions. The editor will allow players to add to the story line, inset pieces of the story to provide finer detail or branch off in a completely new direction.

My writing expanded the possibilities of what I the final form my thesis project might take. I will continue

Saturday, August 30, 2008

Look and Feel Prototype:


Ah, the Jesrey Shore

I have developed a few characters and a basic story structure that could be the structure of a dynamic narrative. The story framework I’d like to use as a base is one that I have been working for a long time. It involves two character, Beppo a human, and Üter a talking car. The story takes place on the New Jersey Turnpike with all of it's dense industrial and urban complexity.

Below, some artwork that describes the look and feel that I envision for the game. The scenery is from the Mother released on the SNES the characters are my own design. Beppo borrows from two of my all time favorite characters, Mario and Mega Man (Rock Man in Japan).


Üter is based on a 1976 BMW 2002.


Imagine this is somewhere like jersey city or Newark (not New York).


Typical Suburban Jersey Town.


This is in there too, somewhere...


Sunday, August 24, 2008

Passage Survey

After playing Passage a few times I wanted to see what emotional responses others might have. I devised this survey and sent it around. The survey is below.

Before you play:

how much gaming experience do you have?

what are your favorite types of games?

What games have you spent the most time playing?

Have you spent anytime playing action or role playing games?

have you played passage before?


Post play:
Briefly state your general feelings towards this game. (did you like it?)

Did this game elicit an emotional response?

If yes can you rate your emotional response according to intensity on a scale from 1 to 5 one being none 5 being very intense?

Can you identify what caused this response?

Do you have any criticism about the game?


Post play multiple plays:
Did you infer a narrative from your experiences?

Can you briefly describe some of the narratives you can think of?

Tuesday, June 17, 2008

Plan of Attack: Learning how to program for games.

 I plan to do some pay-for online tutorials on flash as3.0 game design.  I have turned to Lynda.com time and time again when building skills and seeing they have a course dedicated to exactly that I plan to start there.  
If anyone has additional resources that they recommend please let me know!
link to course: http://movielibrary.lynda.com/html/modPage.asp?=366

Prototype 1: Dynamic Level generation and a narrative path: an Implementation prototype.

This prototype simulates a players path through a dynamically generated journey. It consists of representative elements: Action Paths, Fate cards, and dice.

The goal for my thesis is to make action games with loose narratives defined by the players experience. In an attempt to demonstrate how a dynamic level might be generated I devised this prototype. By going through the motions you are essentially taking on the task of the computer. All of the player action is abstracted by either dice roles, colored cards, and strips of paper with lines drawn to represent action elements.

Elements


7 dice; one of each type: 20 sided, 12 sided, 10 sided, 6 sided, 4 sided, + or -, and an 8 sided die.
5 types of fate cards (3 each for this test) Red, Yellow, pink, green, and blue
15 action paths (5 of each type) short, medium, and long.

Below is a table dictating how dice roles translate into actions.

This prototype took form on a large area of floor. Length is more important the width.

Rules:

  1. role the 8 sided die.
    This number represents the number of fate cards that must be laid down before the level is finished.

  2. depending on what was rolled take the appropriate actions.
    • place the appropriate fate card or action path.
    • if an action path must be placed roll the (+/-) die to determine if the line rise or fall.

  3. choose the appropriate die according to the table above and continue until the appropriate number of fate cards are laid.

Decoding the results:

The frame work of a narrative can be seen in the cards once the level has been laid out to completion.

Card color is indicative of fortune:

A red card forces the player to use the 20 sided die. Because fate cards are only available for number 1-5 the chances of getting a fate card on a 20 roll is slim. This is bad fortune.

A blue card allows the player to use the four sided die. This guaranties they will get a fate card on the next roll.

The action paths will rise and fall in accordance with how the (+/-) die was rolled. Rise may indicate a more difficult journey Fall may indicate an easier journey.

Furthermore the first and last elements that are laid down indicates how the levels narrative began or ended. For instance if a 6 or greater is rolled for the first card it indicates that the narrative begins with a journey. If a one is rolled it indicates that the narrative began with bad fortune. If the last fate card laid is a blue (rolled a 5) than the narrative ends with good fortune. etc.

Test:

Test 1: Self

I did the first test. I rolled an 8 on first. This meant that my journey would have many run ins with fate and it had the potential to be very long. I rolled a + on the (+/-) die indicating an up hill battle.

I than got lucky and had three run ins with fate. The third fate card was green meaning I would bring the 6 sided die on my journey on the action path. This meant my chances were pretty good for getting another fate card soon.

And I did. I rolled a 5 and got a blue fate card ensuring the next roll would also turn up a fate card. The next roll was a three which is gave me a ten sided die. I didn't roll a 6 or lower so I went on a journey on an action path that lasted two turns but it was mostly down hill (note both cards go from a high point to a low point).

My journey ended with bad fortune I rolled a 1 which meant a 20 sided die. giving me a 1 in 4 shot of rolling another fate card.

The journey ended exactly as the odds predicted on the forth roll I rolled a 4 I would have to be really unlucky to have to journey again, and even if I did I would have the 6 sided die so it would be very unlikely that the journey would last more than 1 roll...

And it didn't. I even ended my journey with good fortune rolling a 5.

Test 2: Subject Doris

Doris rolled a 7 on her first roll. She had a sting of bad fortune at several points having to take the 20 sided die on a journey more than once. Her finished test was longer and had different defining moments than mine. This proves the dynamic nature of the system.


Implications:

The fate cards and action paths are abstractions. They represent two different types of play experience which form a complete journey. For example:

Imagine that the fate cards are actually mini games, small puzzles or simple tasks (think Warioware or Mario Party) and the action paths play like a side scrolling adventure. Instead of dice rolls, substitute a players performance, and instead of changing the odds (by changing the die used) change the difficulty of the challenge the player must face. This is only one example of how the abstraction might take the form of a game concept.

Conclusion

I am interested in the concept of dynamic level design and made it central to my thesis for that reason. The idea of a computer generating a level is compelling for a number of reasons. The most obvious benefit is replay value. If a level is generated from a pool of components and variables it is likely each time the level is played the experience will be different. Perhaps more compelling is the possibility dynamic level design offers to the game designer. Game production often happens on a tight schedule and under a tight budget. With dynamic level generation the focus can be put more on the quality of the game play and quality of the puzzles. For smaller games dynamic level generation may be more trouble than it's worth, but for games that follow the form of a dynamic narrative dynamic level design can shorten the development time and increase the game designers options.

Monday, June 16, 2008

Deconstructing Dino Run

http://www.pixeljam.com/dinorun
You don't start the game with the little crown.  I had played the game for more than a month before getting it.  

Dino Run is a super fun game that I have been playing constantly for the past month or so. You play as a Dino escaping the apocalypse. It's deceptively simple game. The game has no HUD (Heads Up Display). Your Dino doesn't take damage he just gets slowed down. You basically just run to the right avoiding obstacles. Where the game gets interesting is in how the player's character interacts with the environment. And how a few simple elements are combined to create dynamic levels.

Aside from the fact that Dino Run is an excellent game (making it worth a look anyway), the game's levels are all generated dynamically.   This ties directly into my thesis. Each level has a few pieces of featured terrain. These are arranged at random with more generic terrain separating them. Interactive elements are layered on top of the terrain. Some of these elements help your Dino others get in your way. 

This is a perilous level element it's a shallow pitt with water on the bottom, inside is a stampeding heard of Triceratops! I have succumbed to the apocalypse more than once here.

Obstacles include:

  • other large Dinos Lumbering stegosauruses, charging triceratops, and flaming pterodactyls.
  • boulders of variable sizes
  • hills and uneven ground

Helpful elements include:

  • regular pterodactyls (they pick you up and carry you)
  • other smaller Dinos (you eat them and get a speed boost)
  • Eggs
  • Flowers (pick them up and get a boost of a specific ability)

These elements all function independently but when thrown together into a level some interesting interactions start to happen that force the player to make quick decisions. 

Interesting decisions are key to a successful game just as interesting action translates into a successful narrative.  The "narratives" that are formed in Dino Run are non-obvious.  Either you survive to the next level or you are consumed by the apocalypse.  Along the way you either pick up bonuses or you do not.  You either have a difficult time with obstacles or you breeze past them.  This is all based on a players performance.  While the narrative in this game may be simple and black and white the addition of another layer of dynamism based on player performance surrounding narrative outcome is compelling.

Some additional notes on replayability:  One of the best features from a design perspective is Dino Run's replayability. This is a holy grail of game design and one that is often achieved by simply creating more.  More levels, more secrets, more explorable areas, more hidden items etc.  Dino Run does this but it does it in a way that maximizes it's assets, rather than having just more it actually has a select set of features that are presented in such a way as to maximize effectiveness.  

Dino Run only gives players the bear minimum of information, and at first glance it seems the game has little depth.  Through playing, it becomes apparent that there is more than meets the eye.  For example, the rules of the game are expressed simply as "start running."  Nothing is said of upgrading your Dino or finding secret eggs, this is left up to the player.  When the upgrade screen appears it's a pleasant surprise.  The player asks "what else is this game hiding?" Another example: the controls are presented minimally, more advanced controls are available but the player isn't told about them, they must be discovered.  Little details like these are scattered throughout the game.  Another feature worth noting As you play your dino changes colors, eventually the player is given the option to choose the color for their Dino.  Also you are given trophies after reaching certain milestones.  
 
There is a lot to learn from this game.  

Some additional Notes

Explosions push objects and players back, players run and jump in a more realistic way, and when directly hit with a rocket, enemies explode into giblets (or "gibs," as the gaming community calls them) of flesh. These new physics not only made gameplay more realistic and immersive, but also created potential for players to experiment in ways that the designers had not expected. Rocket jumping was one tactic that emerged. The player jumps while firing a rocket straight down so that the explosion propels him farther into the air. The game development community began to realize that giving players some simple physics-based mechanics lets them experiment with the game and experience it in ways that had not been possible before. Other PC games like Camageddon (1997) and Die by the Sword (1998) further pushed the available hardware to generate believable physics.


Nintendo was clearly adept at rendering physics in ways that made its games engaging. The recently released Super Mario Galaxy is a testament to Nintendo's ability to continue pushing the envelope in that regard. Galaxy features globe-shaped levels that have gravitational pull so that Mario can run along the underside of the globe without falling into space. By manipulating this mechanic in every way possible, Nintendo has again given other game developers a lesson in how to use physics to create successful games.


How physics are implemented in a game determine what style of gameplay the final product will have, whether it's a true-to-life simulation or a fantastical experience.



from: http://www.gamecareerguide.com/features/534/physics_in_mass_market_.php?page=2


Stories work best is in their ability to provide a context for what the player does. The story should answer the question, "Why am I doing what I'm doing?" It's the frosting that makes good cake even more delicious. For example, without GLaDOS' clever voiceovers, Portal is still a fun game. Throw in that extra layer of storytelling, and suddenly you've got a game of the year.


Furthermore, story can add an emotional weight to a game, making it more relevant to players. The Final Fantasy series is an excellent example. Without the emotionally driven, high fantasy tales at the heart of these games, they are still decent enough role-playing games. But the well-crafted stories that provide a context for the weapons, characters, stats, and combat have created a top-notch franchise. In this way, story answers the question, "Why do I care?"


from: http://www.gamecareerguide.com/features/536/three_novice_mistakes_in_game_.php?page=1

10 Keywords


  • emergent gameplay

  • dynamic game

  • emergent experience

  • dynamic Narrative


  • dynamic strucute

  • dynamic Level design

  • transfer concepts

  • comunication

  • enhanced experience

  • enhanced replayability


Model Cases

Below is a list of a few model cases that already do what I am talking about as I have defined above. They are simulation games. I would like my games to provide a similar experince from the narrative perspective but I would rather they fall into the genre of action rather than simulation.

  • Sim City
  • Civilization
  • Spore
Below are examples of games that provide dynamic play experiences. They lack a built in dynamic narrative structure. To illustrate my aim I have added a few lines that describe a narrative.



  • Geometry Wars: You are a computer program designed to destroy a computer virus. The more effecient you are the tougher the virus becomes.


  • Go: You are a general placing your troops. You are fighting for a stratigic piece of land.


  • chess: what is the kings were brothers? (I didn't come up with this one. It was told to me by Karen Sideman. She heard it from someone else)