CSE_125_GROUP_02
System_Status Progressing
GitHub_Link

Week_04 // 2026.04.21

Group status report and individual member logs

Uplink Quality

01_GROUP_WEEKLY_REPORT

Group_Status_Report

Progress has been considerable this last week. We were able to meet our goal of having a stable server host multiple clients, and having the clients render each other in the same scene. The graphics team had to resolve some issues, but they are back on track and moving forward. The art is progressing well, with the first few weapon models coming in. With the player physics defined, we are starting to think about how to design a map that will complement the movement. The next two weeks are going to be about finishing the MVP.

Morale

Morale is high, the team is happy with project's progress.

Concerns

No noteworthy concerns.

MoraleHigh

StressLow

Team StatusOK

Latest_Screenshots

Latest project screenshot showing two players in the scene. Latest project screenshot showing early rifle model.

02_INDIVIDUAL_REPORTS

Joshua Castaneda

Graphics / Physics

Concrete_Goals

Finish implementing model loading into the shaders. Finish implementing textures. Think about and setup the art -> game pipeline. I would also like to clean up a bunch of the stuff we wrote during week 2.

Accomplished

Finish implementing model loading into the shaders (75%?). Think about and setup the art -> game pipeline. Clean up a bunch of the stuff we wrote during week 2 (both renderers now working).

Why_It_Changed

Getting both renderers to work together was more involved than expected, but that should all be resolved now. Hopefully once the final renderer is feature complete this week, we can settle on just that one and move on with a simpler codebase.

Next_Week

Finish implementing textures. Finish implementing model loading/asset pipeline (assimp).

What_I_Learned

Laying things out before hand is helpful so we can all have a unified understanding of what goes where in the code. Keeping things from being too interleaved is very helpful for replacing parts later on if you need to.

Individual_Morale

I still think I am doing good. I had a bit of a hiccup this week with one of my classes where I was late added when I wasn't expecting to be able to, so in the beginning of the week I spent a bit of time catching up with that. But Guthry made good progress and I think we can finish the main things next week.

Cedric-James David

Gameplay / Network

Concrete_Goals

Send data from server to client, ensure several clients can connect over network and render each other, determine gameplay loop so we can figure out what other data needs to be sent.

Accomplished

Clients now copy ECS registry from server and can render each other.

Why_It_Changed

I was never able to start on the third goal mainly because we were still working on integrating the renderer and getting clients to render each other. We noticed considerable lag when attempting to connect to each other over the internet. This is because SDL_net does not provide an API for disabling Nagle's algorithm. As a result, I had to create a fork to expose that option which got us our desired latency.

Next_Week

Begin figuring out our gameplay loop so we can determine what other data needs to be sent out beside InputSnapshot and world states.

What_I_Learned

Config files are nice. It makes it easier for us to change our runtime setup without needing to dig through all the code.

Individual_Morale

Still good. I might slow down a bit next week because I will be preoccupied with some other things.

Guthry Hahm

Graphics

Concrete_Goals

Implement geometry buffer functionality into our renderer, import models.

Accomplished

I was able to figure out geometry buffers, and started on the model importer.

Why_It_Changed

I had planned to be able to import models from a file, unfortunately a lot of time I would’ve worked on it got spent getting our renderer into main since I wanted to merge what we had first, and the existing test renderer in main was very intermeshed with the rest of the codebase.

Next_Week

Finish the model loader, load the scene the others were working with if we can.

What_I_Learned

I learned where I went wrong with the buffer loading, I spent most of Tuesday trying to figure that out. Josh found a copy-paste bug, and a parameter in one of the API functions that I didn’t understand. I also learned about assimp and how to use it, the asset loading library that we will be using to import models and assets into the game.

Individual_Morale

I think my morale is good, I was glad I was able to contribute to what I did, given the setbacks. Still I wish to be able to get the same scene loaded as the old renderer did so that the rest of the team can switch to that one. After that I feel I can be a bit more relaxed when implementing the shadows/lighting and other more “nice to have” effects that aren’t necessary for the rest of the team to visualize what they are doing..

Daniil Katulevskiy

Physics / CI

Concrete_Goals

Improve movement, work on animations.

Accomplished

Added CS-style strafing for improved air control, tuned other parameters for better feel. Added basic animations to players like walking, running, wall running, sliding, with animations visible to other players connected to the server. Minimal blending applied.

Why_It_Changed

Went well, met the planned goals.

Next_Week

Perfect the animations, do smth like animgraph. Add logic for hitboxes and hit registration. Try to get to first actually multiplayer playable iteration of the game with all key components present.

What_I_Learned

Met our first SDL issues, resolved both. First, there is no nodelay option for TCP stream in SDLNet, so Cedric had to fork it and patch, will contribute to main repo later probably. Second, shadercross that takes Spir-V and produces MSL, binds things incorrectly for SDL. I was later told on SDL discord that they have a repo "shadercross-SDL" that builds on top of shadercross that does transpiling correctly, but I already built the tool that does transpile correctly myself.

Individual_Morale

Great, got 4 people onto same server last week and it was working, tested gameplay remotely home-to-home and it works, progress is very visible and feels good. Had much better separation of concerns this week, so I feel like everyone did great and enjoyed the progress.

Jolina Leong

Art / Modeling

Concrete_Goals

Revise concepts for some guns based on feedback received on Tuesday in class from team. Create placeholder model to test that models, materials and metallic maps are importing/exporting properly. Begin modeling detailed versions of the guns.

Accomplished

Finished modeling 2 placeholder guns, one testing texture paint (color) and the other testing a metallic map baked into the model for texture. Finished detailed model for assault rifle. In the middle of revising concepts for the tracking gun.

Why_It_Changed

The detailed model of the assault rifle had to be remodeled from scratch due to not being saved properly, otherwise everything else went as planned.

Next_Week

Finish detailed models of the rest of the guns. Begin rendering/texturing the guns and export to drive.

What_I_Learned

The importance of iterative saving in the 3D modeling workflow, as well as things related to the model itself, such as how to use shader nodes to create a more realistic metallic texture.

Individual_Morale

It's still pretty good, I have more time to dedicate to this project this week than i did last so I expect to be able to put out more work throughout this week.

Jacob Roner

Gameplay / Integration

Concrete_Goals

My main goal was to finish the server's run loop and ECS so that it can host player components and manage/update game state.

Accomplished

Worked with Cedric and Scott to finalize the client-to-server and server-to-client communications, Updated the server event handler to accept connect and disconnect events, built out basic weapon state and player health.

Why_It_Changed

Week went according to the plan. I was able to meet my personal goals and the team was able to meet its weekly goal.

Next_Week

Next week I want to finish the gun handling for our MVP: refine weapon state and logic. I need to add some more gameplay components like respawning and dying, and i would also like to implement the match system.

What_I_Learned

This week I got very familiar with the client/server architecture as we were working on getting the two sides to talk to communicate game information. I have came to apprecite how easy EnTT (the ecs library) has made game state management.

Individual_Morale

My morale is high, I have been learning a lot and having a blast working in the lab with my teamates. Our team is on track to meet our major milestone of having the MVP done by week 5.

Scott Semtner

Network

Concrete_Goals

implement server to client networking that transfers the whole ecs registry, test multiple clients connected to 1 server.

Accomplished

I succeeded at getting a working method to send the entt ecs registry to the client using the continuous loader that is part of the library. It ended up not sending the entire registry, and each component that needs to be send is part of a magic template tuple type, which could maybe be improved on. multiple clients on 1 server did work once we made the server add the renderable component.

Why_It_Changed

It took a bit more work to send the registry because we were not exactly sure what to send, but it should be relatively easy going forward to decide what is a client side only component, or we could just decide to send everything.

Next_Week

try to clean up the ecs sending from server to client, try to optimize byte usage by not sending a full snapshot every tick

What_I_Learned

Learned about the serialization features in the entt library.

Individual_Morale

I think I'm still doing well and the group is still doing well, so I think we are still on track.

03_SCREENSHOTS_ARCHIVE

Screenshot_01 // Client_Server

Client-server connection process visually mapped out.

Screenshot_02 // First_multiplayer_connection

Project screenshot of first cube render.
First attempt at having two players connect to the server and render each other in the scene.

Screenshot_03 // Player_Models

Two players in the scene with proper placeholder player models.

Screenshot_04 // Pipeline_Test

Simple model made for testing model-graphics pipeline.

Screenshot_05 // Early_Rifle

Early render of rifle model.

Screenshot_06 // Lab_Grind

Working late in the lab to meet the weekly goal.
Date---- Time--:--:-- Latency18ms