Tasks
From NetRace
| Table of contents |
Thursday 9/1 - car running around a level
Initial framework for engine. Low level libraries. Basic framework built up. Get a scene with 2 controllable race cars driving around a simple world.
More detailed description of tasks to be completed:
- (done) (Paul) Game Object System infrastructure working
- (done) (Ed) Encapsulate physics code into separate module
- (done) (Paul) Encapsulate existing code into their appropriate GOC
- (done) Add 2nd car, hook up 'wasd' controls to it
- (done) Add simple terrain mesh to level
- (done) (Patrick) Add some simple sounds to game, bg music
- (done) (Paul) Attach camera to cop car (using GOC if possible), camera-on-stick is ok for now
- (done) (Ed) Figure out why Havok/D3D coordinate spaces are different
- (done) (Ed) Create real simple GUI to test menu functionality
Thursday 9/8 - racing game
Finish components for a simple racing game. This should feel like a game so that we can start working on the networking components
More detailed description of tasks to be completed:
- (done) (Ed) Initial single-player menu screens
- (done) (Patrick) Joystick controls
- (done) (Paul) Art - Create/export a terrain (geometry, not height field) for a test race level, give it bumps, jumps, and anything else fun. (using Bryce)
Tuesday 9/13 - First Demo Day
Let's really push to get a racing game and make it polished to show off to everyone.
More detailed description of tasks to be completed, relative priority:
- (done) (Ed) Figure out why Havok vehicles aren't colliding
- (done) (Paul) Initial Race countdown, gui and sound (Ready! 3..2..1..Go!)
- (done) (Paul) Race timers
- (done) (Ed) Split-screen viewports. 2 cameras attached to both cars
Thursday 9/22 - Initial Network Effort
Implement first stages of networking: making connections, chat, sending out car positions. Also, continue to add to the game... polish.
More detailed description of tasks to be completed, priority within each category:
- Net:
- (done) (Paul) Initial Winsock code for connecting to clients
- (done) (Ed) Simple send/receive code, implement chat
- (done) (Paul) Send/receive car positions
- Core Engine:
- (done) (Ed) clean up Main.cpp. Find GOCs for all that messy code.
- (done) (Ed) Add Profiler
- (done) (Ed) Add Memory debug info
- (done) (Ed) Add lighting to level
- (done) (Patrick) Add skybox mesh to level
- Menus:
- (done) (Ed) Multiplayer menu screens
- Engine optimizations:
- (done) (Ed) Reduce compile times: Reduce header dependencies, turn on precompiled headers. [This article (http://www.gamesfromwithin.com/articles/0504/000086.html)] mentions a script to try out sometime.
Thursday 9/29 - Networking Infrastructure
Last time, we hacked in simple chat and position updates. Now we will build a correct networking infrastructure using our packet structures.
- Net:
- (done) (Patrick) Create Net Packets Structures
Tuesday 10/11 - Networking Infrastructure
- Net:
- (done) (Patrick) Finalize network flow
- Core Engine:
- (done) (Paul) Transfer Go system to hash_multimaps instead of vectors.
Tuesday 10/18 - Working towards Multiple Clients
- Art
- (done) (Patrick) New Car Textures
- (done) (Patrick) Convert sounds to all 1 format
- (done) (Patrick) New Level
- Menu
- (done) (Ed) Make console menu
- (done) (Ed) Render stages
- Core Engine
- (done) (Ed) CPU detection code now detects multi-cpu, multi-core, and HyperThreading
- (done) (Ed) standalone Output log window
- (done) (Ed) output log to file
Thursday 11/10 - Multiple Clients (finally!)
- Menu:
- (done) (Ed) Make menu component list for each menu, containing relative coords. Do component and font scaling based on window size.
- (done) (Ed) Subclass menu and put common functionality in there
- (done) (Ed) Choose race car menus
- Game Code
- (done) (Paul) Re-write World.AddPlayerN() and World.AddNetPlayers() to accomodate data from server
- (done) (Paul) Server needs to create all entities, clients need to create ghosts
- (done) (Paul) INPUT_UP messages need to be sent from each client
- (done) (Patrick) Add some misc mesh objects, attach physics geometry to them so we can crash into them
- Core Engine
- (done) (Paul) Additional simple find functions (assume that only one of the given type exists)
- (done) (Ed) Move all strings to wstring, chars to wchar. Finish helper functions for unicode strings.
- (done) (Ed) Added vertex and pixel shaders through .fx files. (Wood shader!)
- Network
- (done) (Paul) Split server/client code. Server has a local client.
- Engine optimizations
- (done) (Ed) Play around with LODs on terrain
- (done) (Ed) Use a real Heightfield for havok
- (done) (Ed) Fix perf issues with havok objects when given mass/gravity
Not Scheduled Tasks / Low Priority
(When complete, move them into the appropriate build list)
- Menu:
- (?) display end screen(s) (order of who won, lap times, etc)
- (Ed) Game broadcast to send more game info than just ip
- (Ed) Break up menu rendering into 2 parts, background and foreground menu elements. So we can render objects inside the menus. (choose cars!)
- (Ed) Create simple square menu element, with or without texture
- Core Engine:
- (Paul) Templatize find returns so no casts are needed.
- (?) Simple Particle System
- (Ed) Single Player Level Cleanup (cleanly exit to main menu, and able to start new level)
- (Ed) Net Multiplayer Level Cleanup (cleanly exit all clients to main menu)
- (Ed) Physics collision callbacks
- (Ed) Group up phantom object code (triggers) into a Goc
- Gameplay:
- (?) Vehicle collision callbacks
- (?) Compute who wins
- (?) Turbo boost
- (?) Skybox need to be drawn and rotated properly
- (?) Weapons, real simple to start.
- (?) Powerups
- (Paul) Boost strips
- Engine optimizations
- (Ed) Investigate havok hard and soft keyframes for ghosting
- (Ed) Investigate pnrp
- (?) Investigate .x post-process to adjust texture coordinates for using multiple textures per terrain
