Game Design Experience

CMPS 20 - Winter 2010
Tuesday-Thursday 18:00 to 19:45
Thimann Lecture Hall 001
Follow CMPS20W10 on Twitter

Moodle Class Page



Last Updated: Monday, 15th March

  Final: Tuesday March 16th, 7:30 PM to 10:30 PM
HW# 3 updated
Sample Code for Level Saving and Loading updated
Sample HLSL code updated




Instructor

Arnav Jhala
Jack Baskin School of Engineering, Room 269
email: [mylastname] @ cs [dot] ucsc [dot] edu
Phone: (831) 459-2502
Office Hours: Mondays 3:30 to 5:00 PM.
Teaching Assistant

David Seagal
drseagal@soe.ucsc.edu
Office Hours: TBA

Sections

Monday : 2 to 3 PM
Wednesday: 6 to 7 PM
Thursday : 12 to 1 PM

Readings
Schedule and Lectures
Homeworks and Projects
Resources

Readings


Programming C# 3.0, 5th Edition, Jesse Liberty, Donald Xie, O'Reilly, 2007.
Learning XNA 3.0, Aaron Reed, O'Reilly, 2008.
XNA Creators Club Online (http://creators.xna.com/en-US)


Schedule and Lectures



Week 1:   Overview, Introduction to C#, XNA Game Studio Express
Jan 5
Slides [PDF][PPT]
Notes:
Download and set up Visual Studio and XNA GS
Run samples from creators club website
Go through introductory tutorials in the getting started section
Download and run starter kits

Readings:
Programming C#: Chapters 1, 2, and 3
Learning XNA: Chapter 1

Jan 7
Slides [PDF][PPT]
Notes:
Practice use of different data types and constructs discussed in class
Work through example programs in the chapters covered this
week from the Programming C# book

Readings:
Programming C#: Chapters 4 and 9

Week 2:
C#, XNA introduction Contd...

Jan 12

Slides [PDF][PPT]

I/O in C#, Introduction to Object-Oriented Design
UML representation
Introduction to XNA framework
XNA framework details: Game Loop, Sprites, Basic Sprite Animation

Homework #1 Posted

Jan 14

Slides [PDF][PPT]


Team Formation: due

Visitor: Kenny Spade from Microsoft (Imagine Cup themes, rules, example games)
XNA Input


Week 3:


Jan 19

Slides [PDF][PPT]



Random Numbers
Menu Handling: Converting Strings to Integers [Example Code]

(Right-click and save the rar file. Use WinRar to decompress)
Code Stub : Arkanoids [rar]
Code Sample: Naive Collision [rar]


Jan 21

Slides [PDF][PPT]


Code Sample: Movement [rar]

Inheritance and polymorphism

Collision Detection
Readings: [Here] and [Here]
DUE: Homework #1
DUE: Team Formation Document


Week 4:


Jan 26

Slides [PPT]



Design Patterns

Readings: Strategy Pattern, Decorator Pattern, Chain of Responsibility

Examples: Delegates, Strategy, Decorator, Chain of Responsibility, Singleton

Refactoring and Bad-Code Smells Readings [Here] and [Here]

Jan 28

Slides [PPT]


Design Patterns Contd...


Week 5:

FEB 1: Deadline for Imagine Cup signup
Feb 2

Slides [PDF][PPT]

 
Teamwork and Team Dynamics
Review of material for mid-term exam (Sample Exam with Answer Key [Here])
Movement:
2D Pathfinding, Movement Representations, Floyd's APSP algorithm, A*
Code Sample: Movement [rar]
Pathfinding Links: [Video][Article][Article][Steering Behaviors][A* Heuristics Article]

Feb 4

Slides [PDF][PPT]


Code Sample: Sound [rar]
Code Sample: 3D [rar][rar]
Code Sample: Texture [rar]

Due Feb 5 at 5 PM : Project Design Document with individual weekly milestones

Week 6:


Feb 9

Mid-Term Exam


Mid-Term Exam (Covering Material from Weeks 1 through 4)
Feb 11




Physics: Movement and Gravity
Code Organization

Week 7:


Feb 16

Slides [PDF][PPT]


Physics Continued...

Link to Nate Rode's tutorials on 2D physics

Link to 2D Physics tutorials in Flash

Rob's Example Game

Feb 18

Slides [PDF][PPT]


Subversion Book
File I/O in C#
GForge Code Repository


Code Sample : Particle Effects
Due: Homework #2 Quadtrees

Week 8:


Feb 23

Slides [PDF][PPT]


Introduction to the Graphics Pipeline
Programmable Shaders
Overview of HLSL and integration in XNA


Due: Technical Design Document

Feb 25

Slides [PDF][PPT]


Transformations Review
Color

Shader Samples
HLSL Example Code
Level Saving Example Code
Level Loading Example Code
Week 9:


Mar 2

Slides [PDF][PPT]



Advanced Topics



Mar 4

Slides [PDF][PPT]


Advanced Topics (Contd...)

Due: Project Playable Prototype and schedule revisions

Week 10


Mar 9

Slides [PDF][PPT]


Final Exam Review
Evaluations

Due: Particle Effects
Mar 11

Slides [PDF][PPT]


Final Exam Review and special section for project help

 

Grading

Grades for the class are determined as follows:

Midterm exam: 15%
Final exam: 15%
Homework: 32% (4 assignments, each worth 8%)
Term project: 38%, broken down as follows (percentages are of final course grade, and sum to 38%)
Team selection: 1%
Game concept document: 5%
Work breakdown and schedule: 3%
Technical design document: 6%
Partially operational game prototype: 7%
Updated schedule: 1%
Final game project: 15%

The term project is a group project with groups of up to 4 students based on the Microsoft Imagine Cup project themes.

Other graded elements of class are performed individually.

Failure to submit a final game project may lead to failure of the entire course.

Homeworks and Projects

Project Related Submissions:
Team Formation
Design Document with individual weekly milestones
Technical design document
Partially operational game prototype
Development schedule revisions
Final Submission

Individal Homework
Hunt the Wumpus
Quadtrees
Particle Effects
3D Camera Controller (Cancelled)


Resources

Patterns in Game Design, Staffan Bjork & Jussi Holopainen, Charles River Media, 2005.