Game Programming Class9

esse quam videri
Revision as of 16:21, 4 April 2011 by Jeff (talk | contribs) (Game Website)
Jump to: navigation, search

http://research.microsoft.com/apps/video/default.aspx?id=145653 http://research.microsoft.com/pubs/145347/BodyPartRecognition.pdf


Review Midterm Games

Inclass look @ 2d games


  1. Functionality
  2. Game play
  3. Localization
  4. Overall stability
  5. Performance
  6. Usability and overall experience

Using a sprite manager to manage groups of sprites

Often times it's easier to manage groups of objects if they are contained in a class that manages them.

I often use this pattern when I have many objects that need to act a a group.

In class demo of https://iam.colum.edu:8443/svn/XNAProg/trunk/Jeff/IntroObserver/

Events

Simple events project.

https://iam.colum.edu:8443/svn/XNAProg4/trunk/XNA4Jeff/ConsoleApplicationPacManEvents/ConsoleApplicationPacManEvents/Program.cs

There is a larger project in XNA called GameIntro events. This project demos a timer event and events that cross game components.

Observer

Observer

Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.

Observers

http://www.dofactory.com/Patterns/PatternObserver.aspx

Observer is a design pattern that is often used to publish (push) or subscribe (pull) changes in the stae of one object to other interested object. It encourages loose coupling of objects.

The object the get the data often called the subject then notifies the observing objects of the change. The observing object will often repond to the subject.


Observer.gif

Here is a real example in c#. In this example a stock (the subject) notifies and investor (the observer) of a change in price.

ObserverStocks.png


http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class13/Observer_j.cs

http://iam.colum.edu/oop/classsource/class13/Observer.aspx - source

Homework

Testing

Soaking: Soaking is letting your software run for a long time to look for memory leaks or counting errors.

Let you game soak for a few hours and see what happens.

Game Website

Create a website for your game.

http://iam.colum.edu/Students/LogonName/XNA/Game1

Create a website to host you game.