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
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
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
Programming Related Documentations
Project Tracking Related Stuff
Quality Assurance Serveys
Requirements Related Stuff
Design Related Stuff
Final Documentation Related Stuff
Last updated December 6th, 2002