The Core Mechanic

by Eric Zimmerman, game designer and professor, NYU Game Center

Eric Zimmerman is a game designer and a 20-year veteran of the game industry. Eric co-founded Gamelab, an award-winning NYC-based studio that helped invent casual games with titles like Diner Dash. Other projects range from the pioneering independent online game SiSSYFiGHT 2000 to tabletop games like the strategy board game Quantum and Local No. 12’s card game The Metagame. Eric also creates game installations with architect Nathalie Pozzi that have been exhibited in museums and festivals around the world. He is the co-author with Katie Salen of Rules of Play and and is a founding faculty and Arts Professor at the NYU Game Center. 

The following is adapted from a longer essay entitled “Play as Research” that appears in the book Design Research, edited by Brenda Laurel (MIT Press, 2004). It appears here with permission from the author.

Too often, game designers focus on the content, narrative, or aesthetics of their game design rather than asking more fundamental questions. As participatory, dynamic systems, it is crucial that games be understood not just as content but as action. As you begin working on a game design, ask yourself, what is the actual activity of the game? What is the player actually doing from moment to moment as he or she plays your game?

Virtually all games have a core mechanic, an action or set of actions that players will repeat over and over as they move through the designed system of the game. A game prototype should help you understand what this core mechanic is and how the activity becomes meaningful over time. Asking questions about your game’s core mechanic can guide the creation of your first prototype, as well as successive iterations. Ideally, initial prototypes model this core mechanic and begin to test it through play.

Case study: LOOP

LOOP is a single player game in which the player uses the mouse to catch flittering, colored butterflies. The player draws loops around groups of butterflies of the same color or of groups in which each butterfly is a different color (the more butterflies in a loop, the more points). To finish a level, the player must capture a certain number of butterflies before the sun sets. The game includes three species of butterflies and a variety of hazardous bugs, all with different behaviors. LOOP was created by Gamelab and is available for play at www.shockwave.com.

LOOP grew out of a desire at Gamelab to invent a new core mechanic. There are ultimately not very many ways to interact with a computer game: The player can express herself through the mouse and keyboard, and the game can express itself through the screen and speakers. Deciding to intervene on the level of player input, we had a notion to cast aside point-and-click or click-and-drag mouse interaction in favor of sweeping, fluid gestures.

 LOOP: early software prototype screens

LOOP: early software prototype screens

The first prototype tested only this core interaction, allowing the player to draw lines but nothing else. Our next step was to have the program detect a closed loop and add objects that would shrink and disappear when caught in a loop.

As you can see in the screenshots, each of these prototypes had parameters that were adjustable as the game was actually running. The length of line and detail on the curve could be tweaked, as well as the number of objects, their speed and behavior, and several other variables. As we played the game, we could try out different parameters and immediately see how they affected the experience, adjusting the rules to arrive at a different sort of play. This programming approach, building accessible game design tools into a game prototype, is a technical strategy that incorporates and facilitates iterative design.

 LOOP: prototype with parameters

LOOP: prototype with parameters

As the butterfly content of the game emerged, so did debate about the game’s overall structure and victory and loss conditions. Did the entire screen need to be cleared of butterflies, or did the player just have to catch a certain number of them? Did the butterflies gradually fill up the screen or did their number remain constant? Was there some kind of time pressure element? Were there discreet levels or did the game just go on until the loss conditions were met? These fundamental questions, which grew out of our core mechanic prototyping, were only answered by actually trying out possibilities and coming to conclusions through play.

As the game code solidified, the many adjustable parameters of the game were placed in a text file that was read into the application when it ran. These parameters controlled everything from the behavior of game creatures to points scored for different numbers of butterflies in a loop to the progression of the game’s escalating difficulty. Thus the game designers could focus on refining game variables and designing levels, while the rest of the program—screen transitions and help functionality, the high score system, and integration with the host site—was under construction. A sample of this game editor code follows:

 

-- LOOP SCORES score_same=0,5,10,20,40,80,150,250,350,500,700,1000,1400,1900,2500,3100,3800,4600,5500,7000

score_different=0,0,30,75,200,500

score_badloop=-20

-- # of caught butterflies for each level of loop sound effect

loop_sound_num=1,4,6,8,10

-- BONUSES

-- butterfly-borne bonus (x2):

bonus_lifetime=60

-- leaf-blown bonus (longer, moretime, freeze, flock):

freebonus_speedlimit=15

bonus_freeze_duration=4

bonus_flock_duration=12

-- HAZARDS

snail_speedlimit=1.2 killerbee_speedlimit=12, killerbee_attackrate=3,killerbee_stingduration=6

beetle_speedlimit=3, beetle_fighttime=4, beetle_aborttime=10,

beetle_effectradius=300

stinkbug_speedlimit=2, stinkbug_tag_radius=40,

stinkbug_effect_duration=10, stinkbug_effect_radius=300

spider_speedlimit=9,spider_climblimit=22,spider_stingduration=6,spider_loop_length=5

 

 LOOP: game interface

LOOP: game interface

LOOP followed an iterative design pattern of testing, analysis, and refinement, moving outward from the game creators to include a larger circle of players. During the development of LOOP, Gamelab created the Gamelab Rats, our official playtesting “club,” to facilitate the process of testing and feedback.

The concept for LOOP began as the design team questioned the conventions of mouse and keyboard interaction. In the end, LOOP managed to achieve the fluid gameplay we had first envisioned, a fresh and original game evolving from a simple idea about a new kind of core mechanic.

LOOP was developed by Ranjit Bhatnagar, Peter Lee, Frank Lantz, Eric Zimmerman, and Michael Sweet and his team at AudioBrain.