Difference between revisions of "Game Programming Class7"

esse quam videri
Jump to: navigation, search
(Proposal for midterm game.)
(Homework)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Animation Classes==
+
==Physics==
 +
http://box2d.org/
  
Way too many classes for me to type here
+
c# Box2D https://code.google.com/p/box2dx/
  
* PacMan States
+
https://github.com/d-snp/Farseer-Physics
* PacMan Dying Animation
 
* PacMan Eating
 
  
IntroAnimation Project IntroAnimation.zip
+
http://farseerphysics.codeplex.com/
  
Complicated but flexible
+
http://www.mataliphysics.com/
* DrawableAnimatableSprite.cs
 
* CelAnimationManager.cs
 
  
 +
==Platformer Example==
 +
Show platformer starter kit
  
==Review Homework==
+
http://msdn.microsoft.com/en-us/library/dd254918(v=xnagamestudio.31).aspx
Make sure to post all projects linked to your solution. Please pre/postpend your name or initial to your Homework when you post it.
 
  
==Audio Editors==
+
simple and elegant but not that flexible
[http://audacity.sourceforge.net/ Audacity]
 
  
==Where to get sounds==
+
==Monogame samples==
===Commercial===
 
* [http://www.sounddogs.com Sounddogs]
 
  
===Creative Commons===
+
https://github.com/Mono-Game/MonoGame.Samples
* [http://freesound.iua.upf.edu/ Freesound]
 
* [http://creativecommons.org/audio/ Creative Commons Audio]
 
  
===Questionable Origin===
+
==Strategy Pattern==
* [http://www.findsounds.com FindSounds]
 
* [http://www.soundshopper.com SoundShopper.com]
 
* [http://www.flashsound.com FlashSound.com]
 
* [http://www.soundrangers.com Soundrangers]
 
<!-- * http://www.soundservice.com -->
 
* [http://www.cssmusic.com CSS Music]
 
* [http://www.soundamerica.com SoundAmerica]
 
* [http://www.a1freesoundeffects.com A1 Free Sound Effects]
 
<!-- * [http://www.flashsounds.de ] 404 -->
 
  
==Sound Effect Class==
+
Manager classes to implement strategy pattern
 
New in 3.1 uses core audio new in vista and WPF this is the only audio class you can currently use for zune
 
  
http://msdn.microsoft.com/en-us/library/bb195053.aspx
+
http://www.dofactory.com/Patterns/PatternStrategy.aspx
  
==XACT==
+
==Types of Collections==
XNA Audio Tool
+
c# stacks are LIFO
  
* SoundBank
+
Queue FIFO
* WaveBank
+
:First-In-First-Out
  
First Audio Project [http://imamp.colum.edu/mediawiki/index.php/XNA_First_Sound_Project XACT Demo]
+
Peek
 +
:Get the current item in the queue
 +
Enqueue
 +
:
 +
Dequeue
  
==XNA Audio Classes==
+
Stack LIFO
 +
:Last-In-First-Out
  
<csharp>
+
pop
 +
:removed last object added to the stack
 +
push
 +
:push an object onto the stack
 +
peek
 +
:shows to top object on the stack
  
  private AudioEngine engine;
+
http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=65
  private WaveBank waveBank;
 
  private SoundBank soundBank;
 
</csharp>
 
  
==Discuss Midterm Project==
+
==Demo==
2D Project will be your midterm it will be worth 20 points.
+
 
It will also be featured in the Manifest Show. I'd like to make an XNA Game Room (maybe a game hall) and just setup a bunch of machines playing your games.
+
Mangers and Strategy Pattern
If you are an senior I'd like you to enter it in the Seniors Show. The senior show will be in the hokin and your project will need to build for XBox.
 
  
 
==Homework==
 
==Homework==
*Make an XNA project that uses and XACT Project to play a background track and a sound effect triggered from user input or a game event. (3 points)
 
*Work on 2D Game Version 1 due next week
 
*Build Website for 2D Game (2 points), including:
 
** Screenshot
 
** Title
 
** Directions/How to Play
 
** Download link (source for now, Packaged versions later)
 
** your name and contact info (email)
 
 
===Proposal for midterm game.===
 
 
Prepare for a short (5-10) minute pitch of your midterm game. The proposals will happen next week in class. The proposal should include.
 
# '''Game Idea''': the basic idea
 
# '''Game Description''': longer description
 
# '''Game Goal''': how do you win or what are you trying to accomplish
 
# '''Audience''': who will play
 
# '''User Control''': how does the player control the game
 
  
 +
Ghost Manager Component
 +
*GhostManager should be able to handle an arbitrary number of ghosts
 +
*GhostManaget should move and draw the ghosts on each update and draw
 +
*GhostManager should check for Ghost on Ghost collision and change the ghosts direction if the collide
 +
*GhostManager should create 4 ghosts in random locations and make sure that the ghosts don't spawn on top of each other
 +
*ChostManger should be able to add and remove ghosts at any time,
  
Shooting Game
+
You can use the code we started in class
*must use game components
 
*must be multiplayer (both on keyboard or multiple game pads) don't use networking
 
*must be able to shoot at each other or work together to shoot enemies
 
*include shot manager and or shot manager
 
  
[[Image:PadManShootCapture.PNG]]
+
https://iam.colum.edu:8443/svn/GPMonogame3/trunk/jeff/ShotManager/

Latest revision as of 21:58, 13 March 2015

Physics

http://box2d.org/

c# Box2D https://code.google.com/p/box2dx/

https://github.com/d-snp/Farseer-Physics

http://farseerphysics.codeplex.com/

http://www.mataliphysics.com/

Platformer Example

Show platformer starter kit

http://msdn.microsoft.com/en-us/library/dd254918(v=xnagamestudio.31).aspx

simple and elegant but not that flexible

Monogame samples

https://github.com/Mono-Game/MonoGame.Samples

Strategy Pattern

Manager classes to implement strategy pattern

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

Types of Collections

c# stacks are LIFO

Queue FIFO

First-In-First-Out

Peek

Get the current item in the queue

Enqueue

Dequeue

Stack LIFO

Last-In-First-Out

pop

removed last object added to the stack

push

push an object onto the stack

peek

shows to top object on the stack

http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=65

Demo

Mangers and Strategy Pattern

Homework

Ghost Manager Component

  • GhostManager should be able to handle an arbitrary number of ghosts
  • GhostManaget should move and draw the ghosts on each update and draw
  • GhostManager should check for Ghost on Ghost collision and change the ghosts direction if the collide
  • GhostManager should create 4 ghosts in random locations and make sure that the ghosts don't spawn on top of each other
  • ChostManger should be able to add and remove ghosts at any time,

You can use the code we started in class

https://iam.colum.edu:8443/svn/GPMonogame3/trunk/jeff/ShotManager/