DPS901/Woolooloo
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%
Repository
Repo ID
dps901_123arep1
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
Proposal
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
Alex
- Collision Detection
- Game Play Data (damage received, enemy/environment damage)
- Enemy and Object Movement/Physics
- Ship shooting and upgrades
Neil
- 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
Mark
- 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 | - | - |
|
Added | High | Neil |
|
Added | Medium | Neil |
Hide HUD | In framework | - | - |
|
Complete | Medium | Neil |
|
Added | High | Alex and Mark |
Controller support | In framework | - | - |
Mouse support | In framework | - | - |
|
Added | High | Mark |
Highscore for points | Need to add | Low | Alex |
|
Need to add more | High | Mark |
|
Added, currently ship shoots limited amount of bullets | High | Alex |
|
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)
Enemies
Peon
Sentinel
Boss
Top
Side
Progress Pictures of Game
- Revision 1 commit October 25th
- Revision 2 commit November 9th
- Revision 3 commit November 22nd
- Revision 4 commit November 26th
- Revision 5 commit December 2nd
- Revision 6 commit December 5th
Things We Learned and Tips
Mark
- 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.
- Here is quick tutorial on how to do it in Photoshop http://www.youtube.com/watch?v=0Es3w5oYxJY
- 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.
Alex
- 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
Neil
- 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