Difference between revisions of "Erik"
From Spartacats
(→Week 4) |
(→Week 10) |
||
(59 intermediate revisions by the same user not shown) | |||
Line 83: | Line 83: | ||
'''Accomplished''' | '''Accomplished''' | ||
* Added [http://vld.codeplex.com VLD] to our project (really neat tool btw). Fixed all memory leaks we detected while simply running/closing our game (we still aren't releasing all our D3D/D2D/WIC/DSound resources properly). | * Added [http://vld.codeplex.com VLD] to our project (really neat tool btw). Fixed all memory leaks we detected while simply running/closing our game (we still aren't releasing all our D3D/D2D/WIC/DSound resources properly). | ||
− | * Fixed some | + | * Fixed some uninitialized variables which would cause crashes when running without the debugger attached. |
− | * Fixed issue where the client would completely freeze it it was unable to process all update-packets from the server before the server sent the next batch of update- | + | * Fixed issue where the client would completely freeze it it was unable to process all update-packets from the server before the server sent the next batch of update-packets. |
* Implemented some preliminary client-side prediction of object movements. | * Implemented some preliminary client-side prediction of object movements. | ||
Line 92: | Line 92: | ||
'''Next weeks goals''' | '''Next weeks goals''' | ||
* Shadows | * Shadows | ||
+ | * Proper calculation of binormals and tangents for the height map. | ||
'''Morale''' | '''Morale''' | ||
Line 97: | Line 98: | ||
== Week 5 == | == Week 5 == | ||
− | + | '''Goals''' | |
+ | * Fix networking issues | ||
+ | * Shadows | ||
+ | * Proper calculation of binormals and tangents for the height map. | ||
+ | * Fix the deadlock in the ThreadCollection's barrier code. | ||
+ | * Frustum culling of the heightmap. | ||
+ | * Fix the (single) double free that seems to occur on shutdown. | ||
+ | |||
+ | '''Accomplished''' | ||
+ | * Fixed the crash when connecting to a server which has already had another player on it. | ||
+ | * Frustum culling of the heightmap. | ||
+ | * Rendering of non-axis-aligned bounding boxes, and terrain culling-boxes. | ||
+ | * Fixed the deadlock in the ThreadCollection class (hopefully...). | ||
+ | * Fixed the (single) double free that seemed to occur on shutdown. | ||
+ | * Fixed the invalid packetType crash, which occurred when we received partial packets. | ||
+ | * Wrote a class to allow rendering the scene depth from the perspective of a light (initial work for shadows). | ||
+ | * Objects which haven't changed during a server frame will no longer generate update packets at the end of that frame. | ||
+ | * Improved connection-failure handling. | ||
+ | * The server will no longer send new update packets to a client, until the client has processed the last wave of updates. | ||
+ | * Fixed issue where updating a sound that had never been played took a lot of time (caused the client to grind to a half with mute on), also releasing sound buffers when the sound is destroyed (unrelated). | ||
+ | * The server will no longer send a new wave of update packets to a client before that client has finished processing all the update packets already sent to it. | ||
+ | * The camera will no longer move into the ground. | ||
+ | * Proper calculation of binormals and tangents for the height map. | ||
+ | * Applied all our texture maps to the terrain textures. | ||
+ | |||
+ | '''Failed''' | ||
+ | * Didn't quite get shadows working, but I started on it :) | ||
+ | * Apparently the rendering deadlock still happens on occasion :/ | ||
+ | |||
+ | '''Next weeks goals''' | ||
+ | * Fix that pesky deadlock in the threadcollection's barrier. | ||
+ | * Shadows | ||
+ | * Muzzle flashes, and general lighting effects. | ||
+ | * Stuff | ||
+ | |||
+ | '''Morale''' | ||
+ | * :) | ||
== Week 6 == | == Week 6 == | ||
− | + | '''Goals''' | |
+ | * Fix that pesky deadlock in the threadcollection's barrier. | ||
+ | * Shadows | ||
+ | * Muzzle flashes, and general lighting effects. | ||
+ | |||
+ | '''Accomplished''' | ||
+ | * 3rd iteration of "fixed the deadlock" | ||
+ | * Lighting effect when firing weapons, and framework for adding more lighting effects. | ||
+ | * Rotation of the player according to the terrain. | ||
+ | * Java style Pointer class, for managing our objects. | ||
+ | * Size and position normalization of animated models. | ||
+ | * Level flag to place objects ontop of the ground, for easier level design. | ||
+ | |||
+ | '''Failed''' | ||
+ | * It's late at night. | ||
+ | * Spent a lot of time looking into a (significant) D2D performance issue, without finding any solution :/ (Luckily, the issue does not seem to occur in release builds) | ||
+ | |||
+ | '''Next weeks goals''' | ||
+ | * More shadow stuff (I really do mean it this time xD) | ||
+ | * Look into what can be done about the time it takes to compute bone transforms. | ||
+ | * Stuff | ||
+ | |||
+ | '''Morale''' | ||
+ | * (: | ||
== Week 7 == | == Week 7 == | ||
− | + | '''Goals''' | |
+ | * More shadow stuff (I really do mean it this time xD) | ||
+ | * Look into what can be done about the time it takes to compute bone transforms. | ||
+ | * Stuff | ||
+ | |||
+ | '''Accomplished''' | ||
+ | * The backbuffer and HUD will now resize properly when you change the size of the window (e.g. when toggling fullscreen). | ||
+ | * Using our concept art as a loading screen. | ||
+ | * Made a proper installer for our game :) | ||
+ | * Shadows from directional lights. | ||
+ | |||
+ | '''Failed''' | ||
+ | * Nothing | ||
+ | |||
+ | '''Next weeks goals''' | ||
+ | * Performance and stability | ||
+ | * Gameplay | ||
+ | * UI | ||
+ | * In the long run, I want to try to implement a geometry buffer and parallel split shadow maps, but I think we need gameplay more than that right now. I wish we had more time xD. | ||
+ | |||
+ | '''Morale''' | ||
+ | * Shadows are pretty :) | ||
== Week 8 == | == Week 8 == | ||
− | + | '''Goals''' | |
+ | * Performance and stability | ||
+ | * Gameplay | ||
+ | * UI | ||
+ | * PSSMs | ||
+ | |||
+ | '''Accomplished''' | ||
+ | * Mines now stick to, and align with, the ground. | ||
+ | * Explosions for missiles and mines. | ||
+ | * Car-like turning. | ||
+ | * Better movement physics, gravity actually pushes you down hills now. | ||
+ | * Put a little character-head in the vehicle. | ||
+ | * Redid the player tiles a little (and added a health bar). | ||
+ | * Rendering a top-down view of the world to the minimap. | ||
+ | * Added a death camera, chasing the player that killed you. | ||
+ | * Added auto-aiming and some randomness to the Gatling gun. | ||
+ | |||
+ | '''Failed''' | ||
+ | |||
+ | * Didn't get around to implementing PSSMs | ||
+ | |||
+ | '''Next weeks goals''' | ||
+ | |||
+ | * Fix how surfaces will "suck you down onto them" | ||
+ | * Whatever needs to be done | ||
+ | |||
+ | '''Morale''' | ||
+ | |||
+ | * :) | ||
== Week 9 == | == Week 9 == | ||
− | + | '''Goals''' | |
+ | * Fix how surfaces will "suck you down onto them" | ||
+ | * Whatever needs to be done | ||
+ | |||
+ | '''Accomplished''' | ||
+ | * Fixed shadows for spotlights. | ||
+ | * Implements PSSMs -- to some degree | ||
+ | |||
+ | '''Failed''' | ||
+ | * Didn't fix the cart physics yet | ||
+ | |||
+ | '''Next weeks goals''' | ||
+ | * Stuff | ||
+ | |||
+ | '''Morale''' | ||
+ | * Flu :/ | ||
== Week 10 == | == Week 10 == | ||
− | + | '''Goals''' | |
+ | * Fix how surfaces will "suck you down onto them" | ||
+ | * Improve performance! | ||
+ | * Fix the newly introduced "crash on resize" bug | ||
+ | * Fix bugs | ||
+ | |||
+ | '''Accomplished''' | ||
+ | * Fixed the crash on resize bug. | ||
+ | * Made the missiles avoid the ground. | ||
+ | * More bug fixes than I can remember. | ||
+ | |||
+ | '''Failed''' | ||
+ | * Hopefully nothing :p | ||
+ | |||
+ | '''Next weeks goals''' | ||
+ | * Summer! | ||
+ | |||
+ | '''Morale''' | ||
+ | * :) |
Latest revision as of 00:29, 8 June 2013
Contents
Week 1
Goals
- Get a basic 3d engine working.
Accomplished
- Basic world, with a moving third and first person camera.
- A skymap, using cube mapping.
- Calculation/Rendering of bounding boxes and spheres based on our loaded models.
- Rendering and loading of textures.
- Bump mapping with Stephanie.
- Class for reading XML settings.
- Keyboard input, and camera movement with the mouse.
Week 2
Goals
- Point lights.
- Multi-threaded rendering.
- Glow maps.
- Specular maps.
Accomplished
- Multiple moving point lights.
- Glow effect with Stephanie.
- Height map generated based on terrain objects.
- Mouse buttons for input.
- Calculation of normal vectors during model loading, if they are missing from the model.
- Normalized model sizes, and centered them during model loading.
Failed
- Had problems rendering more than 1 frame on multiple cores, and moved on to other things. Will take another stab at it at some point.
- Didn't get around to implementing specular maps.
Next weeks goals
- Shadows from directional lights.
- Shadows from point lights.
- Multi-core rendering.
- Specular maps.
- Write a framework for handing out the lights to the game logic (hiding the fact that there is only a finite number of lights available).
- Prevent the camera's view of the player from being obscured by other objects.
Morale
- Not feeling very creative right now, so I'll quote you, Geoff, "HEY, THIS IS GOING TO BE GREAT".
Week 3
Goals
- Shadows from directional lights.
- Shadows from point lights.
- Multi-core rendering.
- Specular maps.
- Write a framework for handing out the lights to the game logic (hiding the fact that there is only a finite number of lights available).
- Prevent the camera's view of the player from being obscured by other objects.
- Expand the heightmap to also include "heights" in the x and z directions.
Accomplished
- Specular maps.
- Lighting manager.
- Spotlights.
- Atmospheric fog with Stephanie.
- XZ spacial partitioning and collisions with static objects. (scrapped the x/z heightmap in favor of this due to the memory to accuracy ratio of the heightmap method).
- Multithreaded rendering and asset loading.
Failed
- Shadows
- Preventing the camera's view of the player from being obscured
- Didn't get around to trying either of the above due to the number of hours per week problem.
Next weeks goals
- Shadows, of all kinds
- The camera thing (mentioned twice above)
- Volumetric lighting (if time allows, probably not)
Morale
- C++11 is great! :D
Week 4
Goals
- Hunt down memory leaks.
- Shadows from directional lights.
- Shadows from point lights.
- Shadows from spotlights.
- Prevent the camera's view of the player from being obscured by other objects.
- Volumetric lighting.
Accomplished
- Added VLD to our project (really neat tool btw). Fixed all memory leaks we detected while simply running/closing our game (we still aren't releasing all our D3D/D2D/WIC/DSound resources properly).
- Fixed some uninitialized variables which would cause crashes when running without the debugger attached.
- Fixed issue where the client would completely freeze it it was unable to process all update-packets from the server before the server sent the next batch of update-packets.
- Implemented some preliminary client-side prediction of object movements.
Failed
- Everything aside from the memory leak stuff. Didn't get around to looking at any of it, since other things were higher on my priority list.
Next weeks goals
- Shadows
- Proper calculation of binormals and tangents for the height map.
Morale
- Was feeling a little tired this week, but things are going good :)
Week 5
Goals
- Fix networking issues
- Shadows
- Proper calculation of binormals and tangents for the height map.
- Fix the deadlock in the ThreadCollection's barrier code.
- Frustum culling of the heightmap.
- Fix the (single) double free that seems to occur on shutdown.
Accomplished
- Fixed the crash when connecting to a server which has already had another player on it.
- Frustum culling of the heightmap.
- Rendering of non-axis-aligned bounding boxes, and terrain culling-boxes.
- Fixed the deadlock in the ThreadCollection class (hopefully...).
- Fixed the (single) double free that seemed to occur on shutdown.
- Fixed the invalid packetType crash, which occurred when we received partial packets.
- Wrote a class to allow rendering the scene depth from the perspective of a light (initial work for shadows).
- Objects which haven't changed during a server frame will no longer generate update packets at the end of that frame.
- Improved connection-failure handling.
- The server will no longer send new update packets to a client, until the client has processed the last wave of updates.
- Fixed issue where updating a sound that had never been played took a lot of time (caused the client to grind to a half with mute on), also releasing sound buffers when the sound is destroyed (unrelated).
- The server will no longer send a new wave of update packets to a client before that client has finished processing all the update packets already sent to it.
- The camera will no longer move into the ground.
- Proper calculation of binormals and tangents for the height map.
- Applied all our texture maps to the terrain textures.
Failed
- Didn't quite get shadows working, but I started on it :)
- Apparently the rendering deadlock still happens on occasion :/
Next weeks goals
- Fix that pesky deadlock in the threadcollection's barrier.
- Shadows
- Muzzle flashes, and general lighting effects.
- Stuff
Morale
- :)
Week 6
Goals
- Fix that pesky deadlock in the threadcollection's barrier.
- Shadows
- Muzzle flashes, and general lighting effects.
Accomplished
- 3rd iteration of "fixed the deadlock"
- Lighting effect when firing weapons, and framework for adding more lighting effects.
- Rotation of the player according to the terrain.
- Java style Pointer class, for managing our objects.
- Size and position normalization of animated models.
- Level flag to place objects ontop of the ground, for easier level design.
Failed
- It's late at night.
- Spent a lot of time looking into a (significant) D2D performance issue, without finding any solution :/ (Luckily, the issue does not seem to occur in release builds)
Next weeks goals
- More shadow stuff (I really do mean it this time xD)
- Look into what can be done about the time it takes to compute bone transforms.
- Stuff
Morale
- (:
Week 7
Goals
- More shadow stuff (I really do mean it this time xD)
- Look into what can be done about the time it takes to compute bone transforms.
- Stuff
Accomplished
- The backbuffer and HUD will now resize properly when you change the size of the window (e.g. when toggling fullscreen).
- Using our concept art as a loading screen.
- Made a proper installer for our game :)
- Shadows from directional lights.
Failed
- Nothing
Next weeks goals
- Performance and stability
- Gameplay
- UI
- In the long run, I want to try to implement a geometry buffer and parallel split shadow maps, but I think we need gameplay more than that right now. I wish we had more time xD.
Morale
- Shadows are pretty :)
Week 8
Goals
- Performance and stability
- Gameplay
- UI
- PSSMs
Accomplished
- Mines now stick to, and align with, the ground.
- Explosions for missiles and mines.
- Car-like turning.
- Better movement physics, gravity actually pushes you down hills now.
- Put a little character-head in the vehicle.
- Redid the player tiles a little (and added a health bar).
- Rendering a top-down view of the world to the minimap.
- Added a death camera, chasing the player that killed you.
- Added auto-aiming and some randomness to the Gatling gun.
Failed
- Didn't get around to implementing PSSMs
Next weeks goals
- Fix how surfaces will "suck you down onto them"
- Whatever needs to be done
Morale
- :)
Week 9
Goals
- Fix how surfaces will "suck you down onto them"
- Whatever needs to be done
Accomplished
- Fixed shadows for spotlights.
- Implements PSSMs -- to some degree
Failed
- Didn't fix the cart physics yet
Next weeks goals
- Stuff
Morale
- Flu :/
Week 10
Goals
- Fix how surfaces will "suck you down onto them"
- Improve performance!
- Fix the newly introduced "crash on resize" bug
- Fix bugs
Accomplished
- Fixed the crash on resize bug.
- Made the missiles avoid the ground.
- More bug fixes than I can remember.
Failed
- Hopefully nothing :p
Next weeks goals
- Summer!
Morale
- :)