CS 583 Lectures - Spring 2013

Our textbook is available from SafariTexts online from the SDSU Library's InfoDome.
proquest.safaribooksonline.com.libproxy.sdsu.edu/book/programming/game-programming/9781449397210 The prompt you will see when you try to access Safari Books Online from off-campus (or wirelessly anywhere) is:

CS583_spr2013_3DGameProgrammingUsingMicrosoftXNA.pdf Syllabus.

Lect1 Chapter 2: Getting Started
Lect2 Chapter 3: Fun with Sprites - has the Life Cycle of XNA Game diagram
History of games Mon 07Feb2011
Lect3 Finish Chapter 3 - Mon 07Feb2011 BasicSprite/Collision/Game1.cs MovingSprites/Collision/Game1.cs AnimatedSprites/Game1.cs
Your Research Paper 125Feb2013 - DUE 01 March 2013
14feb2011 [Happy Valentines Day] We will be quickly covering Chapters 4 User Input & Collision Detection, Ch 5 Applying Some Object-Oriented Design, Ch 6 Sound Effects and Audio, Ch 7 Basic Artificial Intelligence and Ch 8 Putting It All Together in the next three weeks.
Each student should be working to implement their own 2D game Due by 14 March 2011. You may continue to use the textbook sprites and codes, but you MUST develop your own splash screen to start off the game identifying your game and your name.

You are HIGHLY encouraged to branch out and find new sprite sheets and graphics to use in your own game. It is required that you have a short game document where you can outline the game idea and give credit to the source of any graphics or code that you have chosen to include in your game.

Lect 5 Ch 4: User Input and Collision Detection 14 Feb 2011 Game1.cs

Lect 6 Ch 5: Applying Some Object-Oriented Design 16 Feb 2011 Game1.cs Major refactoring of the code motivating the SpriteManager.
SpriteManager.cs AutomatedSprite.cs UserControlledSprite.cs
MSDN Search Sprite Sheet Packer code Sample Details sprite sheet
Lect 7 Ch 6 Sound Effects and Audio 21Feb2011

Lect8 Ch 7 Basic Artificial Intelligencea 21Feb2011 Watson wins Jeopardy
By providing more dynamic creation and motion for sprites, the game developer gives the impression of "intelligence" in the game.
SpriteManager code. Program code. Game1 code. Automated Sprite code. Chasing Sprite EvadingSprite code UserControlledSprite code.

Lect 9 Ch 8 Putting It All Together covers splash screen 23Feb2011 - Similar to Chapter 5, we have a major refactoring of C# code, yielding UpdateSprite method within the SpriteManager code.
For game completeness, we want Splash Screen at Game Start, Scoring on a Background Screen during InGame and Summary/Closing Screen at GameOver, motivating Game States (3) and writing text as Texture2D with a SpriteFont. For scoring, different Sprites need to different point values on collision with UserControlledSprite, which is set when spawned. They also have different sounds for collision. Game1- class variable needed to keep score and several schemes developed to detect scoring event. Now have six (6) sprites with different images, sounds, points and behavior.
Program code. Game1 code. Automated Sprite code. Chasing Sprite EvadingSprite code. UserControlledSprite code.
Table 8.1 Sprites and their purposes click for full image

28Feb I will present some highlights on game design, for 2D, that apply to 3D also.
02 March 2011 - Chris Crawford resources library.vancouver.wsu.edu/art-computer-game-design Wash State U hosts Art of Computer Game Design. Overview 02March2011
07 March 2011 - Tools to Create Sprite Sheets and Easily Include in your 2D game
09 March 2011 - Sharing/Distributing code for Monday 2D demo and turnin
14 March 2011 - demonstrations of 2D game from class volunteers; start discussion of 3D: Ch 9: 3D Game Development
16 March - Selecting the 3D game and group msdn.microsoft.com/en-us/library/bb200104.aspx [XNA Game Studio 4.0 - missing methods?] msdn.microsoft.com/en-us/library/bb194916.aspx [3D Pipeline Basics]
21 March - Lecture on 3D Lect12_Ch9_3_3D-Game-Development.html notes for Ch9
04 April 2011 - Lecture on Ch 10 3D Models Ch 10 3D Models

18April2011 - Lecture on Effects [Ch 9 then Ch 13] and Camera 18aprilAppHub_Effect_Camera.html