Week 8: May 30, 2017

Overall Status

We accomplished a good amount this week with the GUI, making end states for the game, running multiplayer, fixing some lighting issues, getting the gunner lazer collision detection working, more event spawning, explosions, and some interior modeling. We have a lot of work to do for the next week and a half…

Group Morale

Our morale is ok, but I’d say that we’re pretty stressed to get everything put together over the next week or so.

Screenshots

Goals for This Week

  • Place items (tools for pick up and cracks/fire to fix) around ship
  • Creating Gun Monitor object to interact with to allow Gunning
  • Send button change event to client
  • Add fire spawning, similar to crack spawn

Accomplished Goals

I accomplished almost all of my goals. I did everything but the fire spawning (as of Monday night, I'm working on this now). I also was able to add some changes to the way interact worked because it felt like a better way to handle it.

Unmet Goals

As of Monday night, I have no finished placing all of the fire. Cracks are done.

Goals for Next Week

Finish placing items in positions that make sense instead of out of the open. There's talk of modifying how the fuel works and I may end up tweaking that to make the gameplay better.

What I learned

That we still have a lot to do :(

Individual Morale

I still feel good about the progress I'm able to make each week, but I feel like we've ran out of time on a lot of aspects of the game.

Goals for This Week

My concrete goals for this week was to fix the lasers and enemy ships directions as well as add gunner code capabilities.

Accomplished Goals

I was able to complete all the goals I sought out to complete.

Unmet Goals

Like I said, I was able to meet all my goals. I still am doing additional things like fixing some bugs and moving things to the server, like the skybox.

Goals for Next Week

Some goals for next week include fixing some bugs and porting perhaps the player models rotation onto the server

What I learned

I learned a lot about the math behind rotations and how to properly position objects using matrices. It was something I used to ignore a lot, but now i think I have a better working understanding of it.

Individual Morale

Right now I feel good about the progress we have made and how everything is coming together. The game actually looks like we are in space, so thats very pleasing. The ability to shoot lasers makes it seem extremely cooperative now as well.

Goals for This Week

I wanted to tackle the bug backlog that was built up until this point.

Accomplished Goals

I was able to fix many lighting bugs, allowed the sunlight to rotate with the ship, and linked explosions to asteroid, enemy ship, and lazer collision detections. I also optimized some code that sends far fewer updates to the client per tick.

Unmet Goals

I wanted to fix more bugs in the backlog than the amount I actually accomplished.

Goals for Next Week

I want to make the game overall more usable. All the functionality is in place, we just need the aspects to play nicely together, which I hope to accomplish next week.

What I learned

I learned the pipeline for updating outer space objects and how the server sends positonal info to the client.

Individual Morale

I am very excited to wrap this project up. As we close up the development cycle, I'm really happy with what the team has accomplished together.

Goals for This Week

Refine various aspects of the game logic

Results

This week my most accomplishments were in refining game logics. First I make the code read constants off config files for better testing. We also made our first testing over multiple computers. The result was promising; majority of the graphics are displaying across clients correctly, less some animations performed local to clients. Then I added code that first allows enemy ship to shoot lasers that damages the ship (I wrote the damage part). We then take a deeper look into the room damaging code and added restraints to damaging-dealing objects like cracks and fire. Now only when the room that has the damaing object has more than 0 health do we spawn such objects in there. I also fixed an unsigned integer substruction bug.

Goals for Next Week

I foresee a LOT of testings ahead.

What I learned

Unsigned integer substruction is error prone, so it is best to have it wrapped in a function and add proper value check to prevent issues.

Individual Morale

Good, I finished my work fairly early, so I had some time with my friends over the weekend.

Goals for This Week

My goals for this week were interior design, gunner system, and working on buttons and dials.

Accomplished Goals

I was able to accomplish interior design and I ended up working on explosions instead of a gunner system, because Anish did the gunner system.

Unmet Goals

The buttons is working but the dial isn’t quite worked out yet.

Goals for Next Week

My goals for next week are to finish up buttons and dials and work on fixing some client side animation issues and any other model fixes that people want for the final product. Other than that I assume we will be doing a lot of play testing and bug squashing because we are approaching the deadline.

What I learned

I have learned that the last few weeks before a deadline for a project this large are gonna be hectic no matter how much you feel you prepared.

Individual Morale

I am quite stressed currently and the tediousness of modeling is driving me mad. But otherwise good.

Goals for This Week

Improve GUI interface and create a main menu for the game

Accomplished Goals

I was able to load stylish fonts into the GUI, and I modified a few ImGui APIs to create some animation (text color changing, fading, etc).

Unmet Goals

I didn't have time to create a main menu for the game, and I was hard-coding some GUI functions just to see how they look.

Goals for Next Week

I will integrate the GUI redering with actual game events, so it will be dynamic and binding to different game states. I will also ask ideas from my teammates about the game main menu design.

What I learned

Documentation is the most important thing for a open-source library. Imgui almost have no documentation, it was painful to go through each function-call hierarchy to figure out what that API is doing and what argument I should pass in.

Individual Morale

My morale is ok. Nothing could be worse than a non-documented API, so the future can only be brighter.