Final Project Report:
Game Goals:
To create a 3d multiplayer artillery game that allows players to shoot each other inside a futuristic battlefield using a morphable weapon system.
Requirements List:
Member Responsibilites:
Fernando - Kam (Graphical Representation)
-GUI
-Cg
-lighting
-fog
Main Technical Issues:
The number one issue was the failure to get a quad or octree into the project as originaly planned. This had a huge effect on the direction and pace of the game. Unfortunatly, we were forced to make a large number of concesions regarding the sophistication.
Much of the collision and physic code is under developed due to the fact that it was nearly impossible to impliment until a tree was made first. Because the tree was delayed, the collision was delayed.
Lessons Learned:
The blog was instrumental in keeping organized and documented. It was a conventient place to communicate between group members and post latest news and updates.
The CVS would sometimes corrupt non .cpp or .h files. So occaisionaly a model or texture would no longer load, or even inexplicitly crash the program. Back up, back up, back up!
We had a good start with a pretty good core engine and starting the networking code early enough, however, the one major component that wasnt almost completly fleshed out from the start was the octree. The octree was absolutly critical to our implimentation and the failure to get it completed right from the beginning slowly but surely crippled our project.
While we managed to come up with an alternative solution, the final decision to drop the tree came too late and we had precious little time to complete the fixes.
To create a 3d multiplayer artillery game that allows players to shoot each other inside a futuristic battlefield using a morphable weapon system.
Requirements List:
- Importing 3D Models: Accomplished. .3DS max files used for both landscape and player objects
- 3D Viewing and Transformations: Accomplished. Complex camera control of both first and third person styles which chases player objects around.
- User Interaction: Accomplished. Direct Input was used to allow user input via the keyboard and mouse (including scroll wheel).
- Lighting and texture mapping: Accomplished. OGL lighting effects, plus Cg per pixel and toon shading. Textures utilize multiple file types and can be transparent.
- Hierarchical Scene Graph: Not Accomplished. Unfortunatly, we could not get the quadtree completed in time for the project report. A preliminary structure exists, and future versions will have this feature.
- Sound: Sound effects courtesy FMod. capability to use 3D effects, streaming or whole sample loading. Can play .mp3 or .wav.
- Collision Detection / Response: Player to player collision, player to terrain collision, bullet to terrain collision, all in. Use of sphere to sphere and ray to triangle collision for "fast" moving objects.
- Shaders: Custom made Toon Shading and regular per pixel lighting effects.
- Special Rendering Effects: Colored fog, and a particle engine provide addtional "environmental" rendering effects. The fog improves the clipping of the viewing frustrum to the landscape and the particle engine is used to give the player a visual cue as to the size of an explosion.
- Physical Simulations: All major objects in the game are affected by a custom built physics engine which provides sophisticated acceleration, velocity, and gravity effects.
- On Screen Control Panel: A dedicated and sophisticated gui utilizing direct input, buffered input, and state machines to accomplish proffesional style user interactions.
- Networking: A working multiuser game using the Rakkarsoft multiplayer API. Players can join or leave existing games, and rejoin. Upon rejoining, players will look for empty slots before adding themselves to the end of the list.
Member Responsibilites:
Shawn Pearson - Illuminus (Lead)
-website updates, reports
-core functionality
-networking
-sound
-camera input
Jason Powers - Groller (File and Scene Management)
-model loading
-scene graph management
-particle engine
Jeff Robinson - Decompile (Physical Simulations)
-physics
-collisions
Fernando - Kam (Graphical Representation)
-GUI
-Cg
-lighting
-fog
Main Technical Issues:
The number one issue was the failure to get a quad or octree into the project as originaly planned. This had a huge effect on the direction and pace of the game. Unfortunatly, we were forced to make a large number of concesions regarding the sophistication.
Much of the collision and physic code is under developed due to the fact that it was nearly impossible to impliment until a tree was made first. Because the tree was delayed, the collision was delayed.
Lessons Learned:
The blog was instrumental in keeping organized and documented. It was a conventient place to communicate between group members and post latest news and updates.
The CVS would sometimes corrupt non .cpp or .h files. So occaisionaly a model or texture would no longer load, or even inexplicitly crash the program. Back up, back up, back up!
We had a good start with a pretty good core engine and starting the networking code early enough, however, the one major component that wasnt almost completly fleshed out from the start was the octree. The octree was absolutly critical to our implimentation and the failure to get it completed right from the beginning slowly but surely crippled our project.
While we managed to come up with an alternative solution, the final decision to drop the tree came too late and we had precious little time to complete the fixes.


1 Comments:
You can download our latest game demo here:
Site mirror 1
Site mirror 2
Post a Comment
<< Home