Software and Documentation
Visual C# and XNA Game Studio
Follow the instructions on this page (Join the XNA Creators Club and Download XNA Game Studio). Note: You don't need to joing the creators club to be able to develop games for Windows. You only need the subscription if you want to upload games to the Xbox.
For documentation, go to the Microsoft Developers Network (MSDN) web site. Especially, the XNA Framework Class Library.
Our safari online library has one book on XNA ("Microsoft XBA Unleashed"). I don't really like it that much, though ...
C#
Our safari online library has a number of books on C#: C# in a Nutshell, Programming C#, Learning C#, Essential C#, Effective C#, C# for Programmers. (I have a paper copy of C# in a Nutshell and like it. I don't really know the others.)
GIMP
The GIMP website has links to downloads and documentation. (You can of course use any other image manipulation program that you have access to.)
TortoiseSVN
Download TortoiseSVN here if you want to program on your own computer. Documentation.
TortoiseSVN is a subversion client for Windows. Use google or check out the info on the subversion website if you are looking for a client for another platform.
Links
Web sites
Gamasutra
GameDev.net
Organizations
International Computer Game Association
International Game Developers Association (IGDA)
IGDA Albany Chapter
Game design competitions
- Retro Remake Game Design and Development Competition(Thanks to Daven for finding this.)
- The Imagine Cup sponsored by Microsoft has game design and development category for games developed using Visual C# and the XNA framework.
If you are interested in participating in either of those or some other competition and feel that having faculty mentor would be useful to you, let me know. I would be happy to serve as your mentor.
Material for classes and assignments
[Sept 9] What are games?
- Read Chapter 2 (The Structure of Games) from Game Design Workshop by Tracy Fullerton. (See Blackboard.)
- Read Chapter 1 (What is a game?) from Chris Crawford, The Art of Computer Game Design..
[Sept 11] Good games and bad games
- Read Chapter 11 (Fun and Accessibility) from Game Design Workshop by Tracy Fullerton.
- Skim Chapters 3, 4, 5 (Formal Elements, Dramatic Elements, System Dynamics) from Game Design Workshop by Tracy Fullerton.
[Sept 16] 1st Programming Project: Getting to know the XNA Framework
- Instructions (pdf)
- JustPictures.zip, StillNoGame.zip, SuperSimpleGame.zip, Pong.zip
- An excerpt from "Beginning XNA 2.0 Game Programming" by Alexandre Lobao, Bruno Evangelista, and Jose Antonio Leal de Farias giving a brief overview of the XNA Game Loop is on Blackboard.
- An excerpt from "Microsoft XNA Unleashed" by Chad Carter giving a brief explanation of the XNA SpriteBatch is also on Blackboard.
- Use the following tutorials to understand the simple examples I provided: A beginners' tutorial at the Microsoft Developer Network's XNA Developer Center, Another beginners' tutorial which goes a bit further at the XNA Creators Club
- For help with the Pong game: Jospeh Hall, XNA Game Studio Express: Developing Games for Windows and the Xbox 360. Read Chapter 13. (See Blackboard.)
- Use the online documentation of the XNA Framework: http://msdn.microsoft.com/en-us/library/bb203940.aspx
[Sept 16] More on game design
- Chris Crawford, The Art of Computer Game Design. Read chapters 4-6.
- How to Prototype a Game in Under 7 Days by Kyle Gabler, Kyle Gray, Matt Kucic, and Shalin Shodhan
[Sept 23] 2nd Programming Project: Sprite Library
Images you will need: flower.png, WalkingSquare.png (due to George Clingerman)
Use the following "games" to test your Sprite library. There is one file for each subtask in the instructions. Use the file to replace Game1.cs. You then have to adapt Program.cs in your program and maybe also the namespace used in SpriteTestX.cs.
[Sept 23] Backgrounds
Simple horizontally scrolling tiled background: tutorial by George Clingerman
Pixel based collision detection: tutorial by George Clingerman
How to draw text:
msdn tutorial
another tutorial (easier)
How to play sounds: msdn tutorial
[Sept 25] Physics 1: Motion and acceleration, collision detection
Play: Crayon Physics, Tower of Goo, Spin the Black Circle
Read: Chris Hecker's first article on physics
[Sept 30] Physics 2: Collision response
The 2nd programming project is due today.
Read: Chris Hecker's second and third article on physics
[Oct 2] AI 1: steering behaviors and path planning
Let me know today which games you have picked for the "history of computer games" presentations.
Craig Reynold's site on steering behaviors
Millington, Ian (2006). Artificial Intelligence for Games. Morgan Kaufmann.
Nilsson, Nils (1998). Artificial Intelligence: A New Synthesis. Morgan Kaufmann.
[Oct 7] Presentations: History of Computer Games
[Oct 8] AI 2: decision making
Millington, Ian (2006). Artificial Intelligence for Games. Morgan Kaufmann.
Nilsson, Nils (1998). Artificial Intelligence: A New Synthesis. Morgan Kaufmann.
[Oct 14] 3rd Programming Project: Physics
[Oct 14] AI 2: learning
Russell, Stuart and Norvig, Peter (2003). Artificial Intelligence: A Modern Approach. Prentice Hall.
Nilsson, Nils (1998). Artificial Intelligence: A New Synthesis. Morgan Kaufmann.
[Oct 16] AI for board games
[Oct 21] Game Design Presentations
Hand in: (1) A paper describing your game and arguing why it is innovative and why people will want to play it. (each team member individually) (2) The slides from your presentation. (as a group)
[Oct 23] Input Devices
[Oct 28] 4th Programming Project: AI
Look at Craig Reynold's site on steering behaviors and on the material on steering behaviors and state machines on blackboard.
When you get to implementing your finite state machine, I don't expect you to write a general infrastructure for dealing with finite state machines. You can just hard code them using conditional statements.
If you decide to go for the jetpac option, here is a base game you can start from.
[Oct 30] More networking; Setting up inptu devices
[Nov 4] Presentations: Society and computer games
[Nov 6] 3D Games
[Nov 11] 5th Programming Project: Input Devices
Design doc and initial prototype due Nov 4.
[Nov 11] 3D Games