Week 6 Tuesday 2018-05-08
Medium-high. We all made progress, but a few snags slowed us down this week. Our milestone for the upcoming week is a MVP. We're hoping we can hit it!
Destroying enemy tiles, placing turrets and tiles
My goals for the week were to fix the transparency issues, add terrain, integrate new models for the various modules, and possibly implement turret fire.
I never got around to fixing transparency or implementing turret fire, but I did integrate the new models. Terrain was not added because of dependencies that arose in graphics. I implementing additional types of texture loading and passing those textures to the shader, but the shader currently doesn't make full use of the textures (though some basic lighting happens).
Normal mapping ran into several issues, which I think I've identified, but I haven't had time to fix it yet (other classes have work that needs to be taken care of at the moment). Everything else that I didn't get to was blocked by the issues with normal mapping.
The goals for next week: fix normal mapping, finish implementing the remaining texture features, fix transparency, and add terrain.
I've been learning a lot about how normal mapping works and how it's generally implemented.
I'm mildly frustrated and stressed due to a lot of things being due at once (for other classes) and the fact that schedule slipping is beginning to happen (at least, on my end it is).
My goals this week were to make sure sound was multi-instanced and test player movement with a stationary sound.
I was able to finish making the sound multi-instanced but not able to test player movement with a stationary sound.
The current structure of the game makes finding a player's location difficult so we may be restructuring the code for this. Midterms are hitting me right now as well since it is the middle of the quarter.
Next week I hope to finish working with moving players around stationary sounds. This will involve knowing player's location and sound locations.
I learned some things about DirectX's sound buffer classes and how to use certain methods to get information about the sounds playing.
I feel we might be falling behind schedule just a little bit so hoping to help out where I can.
To catch up, then implement view frustum culling, lighting, and shadows
Frustum culling is complete
Frustum culling took longer than expected, but that was due to me getting familiar with the client architecture as well as directx's differences from glm. I also had to study for a midterm so I didn't put as much time into it as I hoped.
Lighting and shadows, and wherever else I can help
DirectX is like, really verbose.
I'm still a bit unsure how our game is going to play, which is why I switched to working on graphics. I'm hoping soon the gameplay will be fleshed out a bit more so I can understand better where our game's direction is.
I didn't get as much gameplay done as I had hoped. I had more trouble with Bullet than I anticipated. But at least I made good progress on integrating it.
Hit our MVP milestone: - Hold a button to auto-fire turret - Enemies damage your tiles, which eventually causes a lose condition - Restart the game after a loss - Visual for shooting bullets
It was tedious and frustrating reading StackOverflow and forum threads trying to get Bullet to work how I wanted. I wish they made their documentation easier to find and browse. In the future whenever I need to write documentation, I'll remember this week.
Medium-high. I think we can reach our MVP milestone this week if we work at it. I also made great progress on my personal puzzle game.
Get some texturing done and/or Get a player model started.
Got bullet physics imported. Got the player model started, but not a lot of work done on it.
Had to work on making sure the physics engine was imported successfully so we could start developing with that, and it took a bit to get through all the building issues and successfully import it into Visual Studios 2017 with a 64-bit compiler (like our code was using).
Finish/Export the player model base. Any extra time will go into finalizing existing models.
How to modify Visual Studios projects and fix errors with paths having spaces (which was causing our projects not to build on my computer).
The game is coming together. Visually far from what I'd like, but gameplay is being put together nicely.
Optimize the data sent over the server.
I created a class which would handle serializing the different scene graph actions (creating, moving, and deleting game objects) into a packet, to be later parsed by the client. Well, it's more like I hope it works, I wouldn't say it works until I can replace the current scene graph serialization system.
I was unable to finish using the newly serialized scene graph. I ran into some weird memory issues, which I was able to fix over the weekend.
Finish the scene graph serialization optimization.
I learned why the rule of three is important when dealing with memory management. I remember learning about the rule of three during my last internship, but I guess you learn best by failing.
I feel like the game engine is really coming together, so morale is pretty high.