Untitled document
I. C# language fundamentals
A. Introduction to C# and .Net 3.5
1. History
2. Managed vs. Native code
3. XNA framework
B. Using Visual Studio 2008 Express
1. Starting a new project
2. Compilation
3. Rudiments of the Visual Studio debugger
C. Language fundamentals
1. Data types
2. Variables and constants
3. Whitespace
4. Statements
5. Operators
6. Functions
7. Preprocessor directives
D. Object-oriented programming (review)
1. Class definitions
2. Object instantiation
3. Static members
4. Garbage collection
5. Interfaces
6. Inheritances
7. Encapsulation
8. Polymorphism
9. Structs
E. Arrays, Indexers, Collections
1. Generics
2. Foreach statements
3. List<T> vs. fixed-size arrays
F. Exceptions
G. Delegates and Events
H. String manipulation
II. Mathematics
A. Cartesian Coordinate Systems
B. World space, object space, camera space
C. Vectors
1. Addition and subtraction
2. Dot and cross product
3. Normalization
4. Distance formula
D. Matrices
1. Matrix dimension and notation
2. Transposition
3. Scalar and matrix multiplication
4. Row vs. column matrices
5. Linear transformation
a. Rotation
b. Translation
c. Scale
d. Orthographic projection
E. Physics simulation
1. Numerical representation and inaccuracy
2. Fixed vs. variable time step
3. Performance considerations
III. Game Design and Development
A. Cultural and function definition of games
1. Serious game development
2. Game vs. puzzles vs. play
B. Rudiments of game design
1. History
2. Player feedback
3. Risk vs. Reward
4. Game vs. Simulation
C. Development processes
1. Scrumm
a. User stories
b. Tasks
c. Prioritization
2. Iterative design of game mechanics
D. Documentation
1. Concept document
2. Game design document
3. Technical design document
IV. Game Development Technical Aspects
A. User input
1. Gamepad
2. Keyboard
3. Mouse
4. Debounce and other forms of signal processing
B. Graphics
1. Image representation
2. XNA Concept: SpriteBatch
C. Audio
1. Streaming audio
2. Audio event prioritization
3. XACT (X Audio Compression Toolkit) authoring tool
D. Game Engine Architecture
1. The game loop
a. Fixed
b. Variable time step
2. Separation of simulation and presentation
E. Collision Detection
1. What is collision detection
2. Responding to collision detection
F. Publication
1. PC publication
2. Publication to the Xbox 360 Indie games channel
G. Lessons from the Underground: DIY/Indie techniques
1. Agile methodologies for content generation
2. Intellectual property and copyright issues
3. Free resources
H. XNA Content Pipeline
1. What are assets
2. Importing assets into applications
Untitled document
Hall, Joseph. XNA Game Studio Express: Developing Games for Windows and the Xbox 360. Course Technology PTR, 2007.
Lobao, Alexandra Santos. Beginning XNA 3.0 Game Programming: From Novice to Professional. Apress, 2009.
Nitschke, Benjamin. Professional XNA Game Programming. Wrox, 2008.
Reed, Aaron. Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune. O'Reilly Media, 2008.
Instructor prepared materials