|
Systems of Play
Spring 2007
Tuesdays, 6:30-9:00pm
|
Syllabus
Each class will investigate the design of game systems and the programming concepts needed to implement them. The course will cover a broad range of game design theory topics. The first few classes will teach basic object-oriented programming concepts and syntax (in ActionScript 2.0), and the remainder of the classes will address a number of language-agnostic game programming topics.
The course is structured around the construction of three quick game system prototypes and one final project, which will be brought to a 'beta' level of completion. Students will develop each prototype over two weeks, and each prototype will focus on different implementing and experimenting with different aspects of game design and programming. The final project will integrate lessons learned from development of the prototypes, and may integrate design and code from the prototypes as well.
There are three major sources for reading assignments for the class. They are abbreviated below as:
(ROP) Rules Of Play;
(EAS) Essential ActionScript 2.0;
(WEB) The Internets.
Class 1 -- Introduction
2007.Jan.16
- systems
- games
- games as systems
reading:
(ROP) Chapter 5 :: Systems
(ROP) Chapter 6 :: Interaction
(EAS) Chapter 2 :: Object-Oriented Actionscript
(EAS) Chapter 3 :: Datatypes; pp. 24-36
assignment:
Diagram the game system of any game of your choosing.
Class 2 -- Systems and Object-Oriented Programming
2007.Jan.23
- game systems revisited
- interactivity and choice
- OOP structure and systems
- AS2 syntax
reading:
(ROP) Chapter 7 :: Defining Games
(ROP) Chapter 23 :: Games as the Play of Experience (core mechanic)
(EAS) Chapter 4 :: Classes
(EAS) Chapter 6 :: Inheritance
assignment:
Build a simple interactive system in AS2, with at least 3 discrete elements.
examples:
SimpleBall
ProxyBall
Class 3 -- Core Mechanic / Classes
2007.Jan.30
- core mechanic
- input / control
reading:
(ROP) game space (pp 392-398)
(WEB) Gamasutra :: Interview with Frank Lantz (big games)
(WEB) Radio OpenSource :: Living in Game Space (Second Life)
(WEB) Amit's Game Programming :: Tile-Based Games
assignment:
PROTOTYPE 01a: Build a simple core mechanic.
examples:
BetterBall
keyboard and mouse input
Class 4 -- Game Space / Inheritance
2007.Feb.06
- game space
- inheritance, polymorphism
reading:
(ROP) Chapter 14 :: Games as Emergent Systems
assignment:
PROTOTYPE 01b: Contextualize last week's core mechanic experiment:
place the core mechanic into a game space and build a simple game around it.
examples:
Ball collection - composition
Ball collection - inheritance
BallManager (polymorphism)
Class 5 -- Object Relationships
2007.Feb.13
- object relationships
- emergence
reading:
(ROP) Chapter 18 :: Games as Cybernetic Systems
(ROP) pp 345-353 (reward and punishment; boredom and anxiety)
(WEB) bitstorm.org's Game of Life
assignment:
PROTOTYPE 01c: Complete the first prototype by developing clear relationships
between all elements of the game system.
examples:
Slingers
Class 6 -- Cybernetics / Grids
2007.Feb.20
- feedback loops
- reward and punishment
- tile-based games
- grids
reading:
(WEB) N collision detection tutorials
assignment:
PROTOTYPE 02a: Begin your second prototype.
Experimenting with a grid is not required, but is encouraged.
As before, start by developing a core mechanic.
examples:
Grid
GridObjects
GridAvatar
GridCell
Class 7 -- Collision Detection
2007.Feb.27
- collision detection techniques
reading:
(ROP) Chapter 10 :: The Primary Schemas
(ROP) Chapter 11 :: Defining Rules
(ROP) Chapter 12 :: Rules on Three Levels
assignment:
PROTOTYPE 02b: Add some collision detection to your second prototype.
examples:
collision detection - proximity
collision detection - bounds
collision detection - bounds (Rectangle)
collision resolution
----- Spring Break -- March 12-16 (woohoo!) -----
Class 9 -- Rules
2007.Mar.20
- rules (defined)
- game engines
- math and motion
- physics
assignment:
PROTOTYPE 02c: Finish second prototype.
Consider the constituative (and operational and implicit) rules of your game system, and how they affect gameplay.
reading:
(WEB) The Art and Science of Level Design: III. On Design Techniques (ONLY)
(WEB) Behind the music of Guitar Hero 2
(WEB) Narrative Landscapes: Shaping Player Experience through World Geometry
(WEB) Lemmings! -- play any 10 levels of your choosing.
examples:
VectorBall
FallingBall
BouncyBall
FrictionBall
Sled
Class 10 -- System Design / Events
2007.Mar.27
- level design
- data-driven design
- events
- writing a design document
reading:
(ROP) Chapter 13 :: The Rules of Digital Games
(ROP) Chapter 15 :: Games as Systems of Uncertainty
assignment:
Make two Terraformer levels:
- one that demonstrates the core mechanic (tutorial/first level)
- a challenging (but not impossible!) level
Compose the design document for your final project, and begin building your core mechanic.
examples:
EventDispatcher
CircleTurret
CircleAttack
Terraformer files
Class 11 -- Rules / Change
2007.Apr.03
- rules (applied)
- change over time
- randomness
- present final project design documents
- digital game production processes
reading:
(ROP) Chapter 20 :: Games as Systems of Conflict
(ROP) Chapter 26 :: Games as Narrative Play
(ROP) Chapter 30 :: Games as Cultural Rhetoric (optional)
assignment:
Complete the final project core mechanic, and develop it into a prototype.
examples:
EventManager
Spawning
RandomMotion
Class 12 -- Conflict and Narrative
2007.Apr.10
- conflict
- narrative
- state machines
- programmatic timeline control
assignment:
Develop your final project alpha.
examples:
SimpleStateMachine
CharacterAnimation
Class 13 -- Final Project :: Alpha
2007.Apr.17
- personal meetings: discuss final project alphas
assignment:
Develop your final project beta.
Class 14 -- Final Project Presentation
2007.Apr.24
- present final project betas
|