WaveWars

November 2002 Status Report:
December 1st, 2002

Due to technical difficulty, we will not be able to immediatly provide images in this status report. This problem will be corrected as soon as possible.


Highlights

During the last month;

We each spent a bit of time working on our separate modules. But the biggest job was yet another integration of the network module with the rest of the components. A handful of memory leaks were detected and fixed. Our game went from a leaking 80Megs to a stable 30Megs. We successfully covered all the basic features of our reviewed requirements (which is what we committed to) and in many other cases, we went beyond that and implemented a set of medium & advanced features. In some other rarer cases, we even went beyond that.

UI
The windows needed by the application have been successfully implemented and tested during the month of November. The connection window (both server and client), the context menu and all other related windows have been constructed. They are now actively used in the software, and on top of it all are very attractive.

In conjunction with the network, client-server connections are now available and may be initiated from the UI. During the game, a boat's speed may be modified via its context menu (which also shows the boat's position). As well, at the end of the game, a window pops up indicating a win to the winner, and a loss to the loser.

Physics & Collision Detection
The only improvement brought to the Physics module is that the rotation is now properly implemented. We now update the Bezier curve instead of the rotation value itself for the Y value. Aside from that, it has been intensely tested and responds well. Work has also been done to improve communication between the physics and network modules during integration, as well as between UI and physics.

Collision detection (CD) using the sphere is now fully implemented. Every object contains its own CD sphere. The CD algorithm detects collisions between a player's own boats, a player's boat and an opponent's, and between any projectile and any boat. The only feature left to be implemented for collision detection would be projectile-projectile collision, but we left it as a nice-to-have since it did not reduce the enjoyability of the game.

Rendering
The ability to move a boat has been implemented. An event which marks the completeness of the rendering engine. We even had time to go over and beyond our requirements by adding extra eye-candy material. Such as water splashes and a complete set of sounds combined with a background music to better the mood of the game. The rendering engine is well above the basic requirements. In fact, it fulfills all the medium requirements (which we didn't have to implement) and covers nearly all advanced features. We also took the time to add soemthing which we hadn't thought of initially; coloring the boats differently for diffrent players. We also fancied the beginning by adding a splah screen.

Networking
The network module is well above the basic and medium requirements. In fact, it fulfills all of the advance requirements, such as creation and destruction of boats and projectiles as well as the out-of-synch conditions, etc. The only missed requirement is the global testing architecture which contains all the sub-test case that the network was using for unit testing.

Integration
The integration of the network with the UI went pretty well since our design was well thaugh of before hand. The UI was able to create game server or game client easily, and afterworth letting the main loop do its job with the proper module in hand.

Minimum coupling between the network and main loop simplyfied greatly the integration of these two modules.


Risks


UI (Severity 0/10)
All windows are functional and so there are no risks to report.

Physics & Collision Detection (Severity 1/10)
Projectile-Projectile collision detection not yet implemented - not very severe.

Rendering (Severity 0/10)
No risks to report.

Networking (Severity 0/10)
The is no risk for the network, since it is working as expected in the requirements.


Screenshots:(click to enlarge)


















Initial position: (13.0, 15.0, 6.0)
Velocity: (80.0, 5.0, 40.0)


Each 1000 units represents 1 second, velocity is in meters/second and position in meters.



Project's Development Page

  1. http://sourceforge.net/projects/wavewars/


Programming Related Documentations

  1. Developper documentation, formated source code and UML diagrams
  2. Developper documentation on the SDL_net library
  3. Developper documentation on Doxygen
  4. Design documentation and low-level external ressource documentation


Project Tracking Related Stuff

  1. Theses are the tasks we're currently working on (Please make sure that user and status are set to any in order to see *all* the tasks that were accomplished.
  2. Project Plan as of September 31th, 2002


Quality Assurance Serveys

  1. Found a bug, Click here to help us improve the quality of this software!.
  2. Want to send us general comments, improvements, etc Click here!!! We would realy appreciate having feedback from you.


Requirements Related Stuff

  1. Presentation
  2. Document


Design Related Stuff

  1. Presentation
  2. Document


Final Documentation Related Stuff

  1. Presentation
  2. Document


Last updated December 6th, 2002