Week 4 Report


FRIDAY APRIL 22ND 10AM-11AM
MONDAY APRIL 25TH 10AM-11AM
WEEK 4 STATUS

This week we got a lot of progress done on the graphics side. The models and textures are now loaded into the game. With working graphics, we were able to convert the graphics code into the client, and begin working on integration of graphics and network. The integration is mostly complete for now, and we can begin focusing more on the game logic and adding multiple players to the network. As a group we were able to complete these tasks: 

  • Load models into the scene
  • Add textures on the models
  • Collision logic for objects
  • Mostly integrated graphics with network
GROUP MORALE

Group Morale is pretty high. A lot of progress is being made and everyone knows what they need to work on.

IMAGES
Car model with texture loaded, rendered on Graphics client
Multiple cars with different textures, rendered on Graphics client
Rough map design sketch

Individual Reports

  1. Concrete goals
  2. Accomplished goals
  3. Unmet goals
  4. Specific goals for next week
  5. Lessons this week
  6. Individual morale

Aiden

  1. My goals for the week were to work on a list of assets I decided on last week.
  2. I was able to complete some of the assets I planned on creating as well as contribute to designing the layout of the map and discussing potential power ups for the project.
  3. Due to some activities outside of school I was not able to work to the extent I had planned, but will be catching up in the next week.
  4. For next week I plan on doing some catch up. I will be creating the assets planned last week and start mocking up the map in Blender.
  5. I learned a couple tricks exclusive to Blender this week while working on models.
  6. My morale this week is lower than last since I feel a bit behind in my own work, but I will catch up and bring it back up.

Andrew

  1. My concrete goals were to implement the basic game logic and begin integrating the graphics client with the server.
  2. I was able to integrate the graphics client with the server in the 1-client case.
  3. I was unable to implement the basic game logic for the server, but I am planning on completing the game logic implementation by the end of Tuesday. I also tried to develop a multiple-client architecture for the graphics-server integration but was unsuccessful.
  4. My specific goals for the next week are to have a basic map and client-server integration with game logic working (for one client). I also want to have the multiple-client integration complete.
  5. I learned that connection reuse is critical for reducing latency for the graphics client. In addition, I learned that making a multiple-client integration is complex because it requires having the server handle asynchronous clients, and the existing Boost documentation could be a bit more informative about how to accomplish this.
  6. My individual morale is still good.

Emily

  1. This week I wanted to successfully load in textures for the models as well as walk through the graphics code with the networking team so that they have a better understanding of the graphics client. 
  2. I was able to successfully load in textures. I also set up the structure so that we can use multiple different textures for different objects. And I was able to sit down with the networking team to go over the graphics client. 
  3. This week I met all my goals! 
  4. I would like to be able to animate some of the objects in the scene using graphics transformations and work with Aiden to flesh out how we’re going to implement the vision imparity mechanic if we can’t use transparent objects to do so. 
  5. I feel like I actually understand how VAO’s and VBO’s work together to send information to the shaders. Trying to get multiple textures to work solidified how the data is passed from the cpu to the gpu. 
  6. I’m still really excited to get better at graphics. The small wins this week show that I still have a lot to learn about OpenGL and the fact that I’m understanding what I’m working on means I have the ability to improve.

Evan

  1. My goals were to help integrate the graphics with the network.
  2. I was able to begin writing code to accept packets from the server into the graphics client. I also had to separate the packets to be “client-to-server” and “server-to-client” rather than one packet protocol for both directions.
  3. I was unable to finish my part of the integration. Right now, most of the game logic is not written yet, so the packet information can’t go anywhere yet. Also, the packet receiving logic needs to be implemented more efficiently (to be similar to Andrew’s) as right now it is only basic functionality (creates a new connection every time).
  4. Next week, we need to test the client-server integration with a single client. This includes being able to control a car while having it communicate with the server to approve its actions. If this goes smoothly, I will focus on figuring out how to implement multiple clients with one server through asynchronous functions.
  5. This week I learned how our client-server communication actually is going to work. More specifically, the client will have separate sending and receiving functions that are called based on if the client receives a keyboard input, or if it is idle. This is important for the server, because the server has to handle many packets that come at random times, which is why we need to have async functions to handle it.
  6. Right now, I’m a little afraid at how difficult it’ll be to implement the asynchronous functions, as Andrew has said that the Boost functions are a little confusing.

Steven

  1. My concrete goals were to work more on movement and integration.
  2. I added an alternate movement method and wrote a function to generate bounding boxes based on direction. I also worked with Andrew to integrate my code into the server.
  3. Integration is still a work in progress, though I think it is fairly close to being done. I am going to keep working on it today and hopefully have it done by the end of Tuesday.
  4. My goals for next week are to finish up integration and then implement crown stealing and the scoring system.
  5. This week I learned a lot about git branches and merging. I knew I would need to learn about it eventually, as I had no experience with Github aside from using it as a way to turn in programming assignments.
  6. My morale is moderate, though I think I’ll feel a lot more positive once integration is completely finished.

Terry

  1. My concrete goals for this week were to get multiple clients connected to our server and also scheme out a rough idea for what our games map would look like. 
  2. I worked with Aiden to build a prototype of our game map in Figma, as well as plan out some of the ideas for game mechanics that we could implement. We have a simple map and a complex map which would have multiple layers. The complex map would be a nice to have but would require a lot more physics work
  3. I was able to get my Visual Studio set up on the lab machine so that I could do some server testing work. Unfortunately, I ran into a number of issues in connecting multiple sockets to Boost, and navigating through Boost documentation was difficult. This will be something that I finish this week. 
  4. My goals for this upcoming week are to understand multiple clients connecting to our server so that we can merge our test clients with the actual graphics clients and have real game logic flow between the server. 
  5. I learned more about network connections, Boost sockets, and how to manage Visual Studio projects. I also learned a bit of Blender thanks to Aiden in trying to model skirts for our cars. 
  6. My individual morale is hanging in there. I have a lot of things that I need to catch up on this week so hopefully, I can get situated and also get to better understand some of the other working parts of the project.

William

  1. This week my goals were about integrating graphics with the server and improving the camera. I wanted to be able to update the scene based on packet information. I also wanted to clean up my camera implementation.
  2. I got some work done on the camera, and had a discussion about how the camera direction related to movement (and what to pass back to the server from camera movements); camera is incomplete, but the rest of the work shouldn’t be too hard. Had some discussions about integrating graphics and server, but did not make progress on it (although our team did progress on this goal).
  3. I was busy last week, and was out all weekend, so I had very little time to complete my goals. I don’t anticipate this happening again.
  4. I would like to have a fully working camera and update the scene based on packets from the server. A stretch goal would be to have multiple graphics clients connected at once.
  5. I learned how fast a project can move over a couple days. I was out for just a weekend, and so much has changed.
  6. Overall I feel optimistic about the project. I wish I could have done more last week, but I was simply busy. I don’t anticipate this happening again, so my bandwidth should be much higher.