Difference between revisions of "Erik"

From Spartacats
Jump to: navigation, search
(Week 4)
(Week 10)
 
(67 intermediate revisions by the same user not shown)
Line 56: Line 56:
 
*Spotlights.
 
*Spotlights.
 
*Atmospheric fog with [[Stephanie]].
 
*Atmospheric fog with [[Stephanie]].
*XZ spacial partitioning (scrapped the x/z heightmap in favor of this due to the memory to accuracy ratio of the heightmap method).
+
*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.
 
*Multithreaded rendering and asset loading.
  
Line 74: Line 74:
 
== Week 4 ==
 
== Week 4 ==
 
'''Goals'''
 
'''Goals'''
 +
*Hunt down memory leaks.
 
*Shadows from directional lights.
 
*Shadows from directional lights.
 
*Shadows from point lights.
 
*Shadows from point lights.
 
*Shadows from spotlights.
 
*Shadows from spotlights.
 
*Prevent the camera's view of the player from being obscured by other objects.
 
*Prevent the camera's view of the player from being obscured by other objects.
*Volumetric lighting
+
*Volumetric lighting.
  
 
'''Accomplished'''
 
'''Accomplished'''
TBD
+
* 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 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'''
 
'''Failed'''
TBD
+
* 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'''
 
'''Next weeks goals'''
TBD
+
* Shadows
 +
* Proper calculation of binormals and tangents for the height map.
  
 
'''Morale'''
 
'''Morale'''
TBD
+
* Was feeling a little tired this week, but things are going good :)
  
 
== Week 5 ==
 
== Week 5 ==
TBD
+
'''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 ==
TBD
+
'''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 ==
TBD
+
'''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 ==
TBD
+
'''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 ==
TBD
+
'''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 ==
TBD
+
'''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

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

  •  :)