From CDOT Wiki
Revision as of 19:32, 4 December 2012 by Maronin (talk | contribs) (added comments about what we learned to help future groups)
Jump to: navigation, search

GAM666/DPS901 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources

Spacelizard : Sliddy's Adventure

Project Marking Percentage

Group work:      40%   
Individual work: 60% + 
Total           100%


Repo ID


Trunk Status

  • Initial Commit to trunk October 9th
  • Revision 1 commit October 25th
    • Flying ship with user movement
    • Rail cam

  • Revision 2 commit November 9th
    • Introduced moving objects
    • Tunnel level (stage 1)
    • Ship can shoot bullets
    • new and improved object Cross-hair, drawn on top of everything
    • Ship tilting (actual ship movement sensation (roll, pitch, yaw))

  • Revision 3 commit November 22nd
    • sound effects are almost fully implemented
    • collision with bounding shapes is implemented
    • models for enemies have been added
    • level has been redesigned, including some ship models

  • Revision 4 commit November 26th
    • Sound effects fully implemented
    • First person camera fully implemented
    • Enemies fully implemented
    • HUD partially implemented
    • Special effects implemented ( stars, asteroids, burner, level form )
    • Game data mostly implemented ( score and health )
    • Game over screen, player death

  • Revision 5 commit December 2nd
    • Mini-boss implemented
    • Dialog box is changed a bit
    • Respawn/restart added
    • Power-ups implemented
    • Level layout changed slightly
    • Frustum culling modified
    • Improved enemy "AI" (enemies shoot and move around and have formations)
    • Volume control implemented
    • Pause screen implemented
    • Fog and background change
    • Minor bugs fixed (flame, bullets, etc.)
    • Ship movement smoothing
    • HUD implemented with dynamic text
    • Found more sound effects
    • Fixed HUD texture/sprites from not displaying

  • Revision 6 commit December 5th
    • Finished the game

Team Members' Emails

  1. Neil Guzman
  2. Alex Craig
  3. Mark Aronin
  4. eMail All


The basic idea of our game is that you are in a flying spaceship. The way the game works is by having a camera which is moving on a fixed path along with a spaceship which you control on the screen that is unable leave the camera`s view. You are able to move the spaceship either up or down, left or right. The camera moves forward along with your ship. Along the way, you may encounter enemies which may or may not shoot at you and/or make your progress more difficult (crashing into you or shooting you down, forcing you to restart the game). You may also encounter moving or static obstacles such as asteroids or pillars/buildings. Your goals is to reach the end of the level without your health/shield falling below 0% and get as many points as possible by avoiding getting hit and destroying enemies.

Group Member Roles


  • Collision Detection
  • Game Play Data (damage received, enemy/environment damage)
  • Enemy and Object Movement/Physics
  • Ship shooting and upgrades


  • Camerawork (1st person & 3rd person camera)
  • Mini Map (almost impossible to do in the span of Monday December 3rd to Tuesday December 4th)
  • Background Music & Sound Effects
  • HUD with game related information (scores, etc.)
  • Improved Controls
  • Improve Dialog control box
  • Pausing game


  • Created models and textures for the game
  • Level effects ( asteroids, stars, explosions, fog, etc)
  • Reset function
  • Ship animation ( afterburner, smooth movement )
  • Start Game Menu

Framework and Our Project

Feature Framework Priority Assigned to
Changeable resolution In framework - -
Directionaly fixed moving camera Added High Neil
Control sound Added Medium Neil
Hide HUD In framework - -
Improved UI(Shield, score, etc) Complete Medium Neil
Enemies Added High Alex and Mark
Controller support In framework - -
Mouse support In framework - -
Crosshair Added High Mark
Highscore for points Need to add Low Alex
Debris/Obsticals Need to add more High Mark
Fireable weapons Added, currently ship shoots limited amount of bullets High Alex
Collision Added High Alex
Rings to fly through for points Need to add low  ?

Map of the World of the Game

Click on the links to go to the picture.


Other objects in our game

Main Ship (player)












Progress Pictures of Game

To be added later for viewing of later semesters.

Things We Learned and Tips


  • If you decide on doing modeling for the framework, you will need to create a method for importing models into the framework. Chris' recommends using Collada loading, which may be difficult. There are also some code snippets in some of the older frameworks that use directX mesh loading which can also be used.
  • If you decide on modeling, start early. This will give you more time to get familiar with a modeling software that you can pick and can give you more time in case you find that the software you picked does not meet the needs of your specifications. If you are new to modeling, try using some less professional modeling software like: AC3D, Blender, or 3DSMax studio. This will help you get familiar with a 3D modeling environment.
  • If you plan on doing textures, remember to do research on alpha channels and how to make them in programs like Photoshop or gimp.
  • When working with a modeling program, make sure you know your where your normals are facing or else the model may not show up in your game
  • When using a modeling software, try to take advantage of the multiple views, such as top, side, front, back, etc.
  • When using a modeling software, try to learn the hot keys for that software, as it will make your process in making objects much quicker.
  • For making a menu for the game, you can use models and textures in game to display your interface.


  • In Chris's framework, there is a function for collision, it is just being able to implement it is incomplete (need to make iObject inhereit from Shape)
  • Bounding spheres works properly, but you will need to change his code to track the vectors for axis aligned boxes
  • If you want to do things over time, treat update like a while loop, make counters for things and test if they are larger than a certain number


  • When changing the dialog box images, make sure to look at APIUserInput and not in APIWindows for handling dialog controls. APIUserInput is the file that handles the dialog box display (HINT: use WM_PAINT messages)
  • If you ever want to add minimaps learn some of these concepts (texture rendering, viewport rendering, multiple swapchains, how to display textures on top of things on the screen)
  • Sound effects: know how xwma and wav buffers differ from each other
  • From what i researched, .bmp images are the easiest to use for displaying images (using BitBlt)
  • Working in milestones is the way to go (establish an easy goal and work from there)
    • for us our first milestone was to have a ship moving forward in the z axis with random objects around
  • scene animation is hard so if you plan on doing that, do it in the beginning
  • pausing the game will require to stop rendering, not the suspending of the window