Find Week 5's report here. Find Week 3's report here.
For the week 5 meeting on 4/27. Work this week was spent primarily adding to the game elements we created in the previous weeks. The art team worked on animations for the models, creating a walking animation for the playable characters as well as a firing and a reloading animation for the weapons. This week in graphics, we were able to load models and animations into the 3D world. The gameplay team worked on the special abilities, successfully adding chests and their powerups. They also fixed issues related to firing and audio. The network team finished their building and parsing message functions for the Server and Client and are currently including those functions into the Server-Client pairing created in previous weeks. Once input and player messages are put into place, work will begin on the first phase of network integration, player movement. For graphics, we aim to make the loaded animations look smoother. Work will also be put into creating more animations and art. While obstacles were met in various areas this week, morale and belief in the direction of the project remain high. The first two images below show a gun model, the chest model, and the chest opening animation loaded into the 3D world.
My concrete goal for the past week was to load in the models properly.
I was able to accomplish this goal.
I was able to meet all goals.
My specific goals for next week are to get the animations working for the models. Specifically, I want the animations to look smooth and not choppy so they can be played back at any time.
This week I learned that there are several stages the running C++ code and if there is an issue at even one of these stages then the program will not run. I ran into a lot of issues building and using Assimp with the models. Mostly building with CMake and learning how to configure Visual Studio properly so that it recognizes the library. This week I also learned about how Assimp structures the data it reads in (nodes, meshes, animations, etc.)
In terms of individual morale, I feel that the progress is starting to slow down on the Graphics end as I have been running into more issues. That being said, I feel like this was expected and that overall we are progressing at a good pace.
Network integration, Bug fixes for audio, and Firing fixes.
All except network integration.
Integration is a major task which will likely require multiple weeks.
Network integration.
Learned more about the message sending.
Good, project is going well.
Add ability functionality.
Added ability chests to the world. Added support the following abilities: remove a wall, see the map, heal player, increase player health, add armor, and give a damage boost.
Was unable to add the ability to track a player. Was unable to think of an implementation that would fit the use case, and was unsure if this ability was necessary - it might be better to devote my time on other, more essential aspects of the game. Implementing abilities and chests also took more work than I expected and I had to refactor existing code to make it more general.
Integrating gameplay with networking.
Better understanding of the inital code setup and cameras.
Medium, I was a bit busy this week.
My concrete goals for the week were to make a better walking animation for the character and to begin working on running and crouching animations.
I was able to make the updated walking animation and I have started working on the running and crouching animations.
I was able to complete all my goals this week.
My goals for next week are to create icons for the abilities and to continue working on the crouching and running animations.
I learned how to make a running animation in a shooter game. I did expect to learn it.
My morale is high as I have been enjoying modeling and animation.
For this week, my goal was to help out with gameplay part and further enhance the art works and animations.
I accomplish most of the goals this week. I added details and animations to our 3D models for weapons and successfully got the gameplay branch to compile.
I wanted to help more with the gameplay part of our game but it took a while for me to get the code to work. I had some libraries and packages issues that caused my local version to not build correctly. With some help from Lucas and Michael, I was able to solve all the compile errors.
For next week, I will help out our art specialist and gameplay team.
I learned a lot this week. It was my first time set up a project in visual studio and I learned how to properly include lib files and additional packages. I also learned how to solve some basic compile errors in visual studio. Furthermore, I learned more blender animation tricks. There is not a lot of information about blender on the internet and many times I had to read the manual to understand how things work.
For this week, I feel like I accomplished my planned tasks but could improve more.
My goal for this week was to integrate Robert’s message parser into our existing server code to see if we can get game state and input commands moving between client and server in the correct format.
I was able to successfully integrate the parser into the existing code.
I met my goals for the week.
My specific goals for next week are to help the gameplay team integrate the game logic on the server side so we can play the game over the network.
I got more experience working with the ASIO library.
My morale is good.
My individual goal this week was to finish the message building and parsing methods. The networking team’s goal this week was to integrate the message building and parsing methods into the server-client system.
I was able to complete the message building and parsing methods needed for everything we currently envision being in the game. Small additions to the messages may be made in the future, but the structure and style of communication between the server and the clients are set. Michael integrated the parsing methods into the server-client system.
Our goals were accomplished.
The goal next week is to begin network integration. Our first milestone is achieving user-controlled movement of characters.
My work this week was pretty similar to the work I did last week, but I enjoyed getting more experience with C++ and debugging.
I feel good about the direction of the project.