CSE_125_GROUP_02
System_Status Progressing
GitHub_Link

Week_03 // 2026.04.14

Group status report and individual member logs

Uplink Quality

01_GROUP_WEEKLY_REPORT

Group_Status_Report

We got a lot done this last week! After spending some time refining the project direction, the team started implementing the core components. The networking team got a working server and client talking to each other, the graphics team successfully rendered a scene with a camera and models, and the physics team made progress on player movement. The project is now shifting from planning into integration, with the next milestone focused on building a stable server and getting clients to join and render each other in the same scene.

Morale

Morale is high, and everyone has been actively participating while feeling optimistic about the project’s progress.

Concerns

A few design decisions need to be made, but nothing serious.

MoraleHigh

StressLow

Team StatusOK

Latest_Screenshots

Latest project screenshot showing the first rendered scene Latest project screenshot showing the first rendered scene

02_INDIVIDUAL_REPORTS

Joshua Castaneda

Graphics / Physics

Concrete_Goals

A scene with a basic object and a controllable camera in the scene.

Accomplished

We accomplished our basic goal and began on implementing the loading of arbitrary models and textures as well. These are a WIP though.

Why_It_Changed

For the concrete goals, things went as planned, but I would have liked to get more work done in terms of model loading and textures. Working in SDL3 GPU was a bit harder than expected though since I did not realize there were no examples for the GPU pipeline and was mainly referencing SDL3 2D examples up to now.

Next_Week

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

What_I_Learned

Boilerplate is annoying, especially with limited examples. The docs were helpful, but parsing through them and trying to understand what parts I actually needed was a process. The most helpful thing was the one set of examples we were able to find. https://github.com/TheSpydog/SDL_gpu_examples, cross compatibility is annoying, IDEs are annoying.

Individual_Morale

I think I am doing good. I feel like once the boilerplate was understood and out of the way, implementing the actual shaders was not bad at all. Now parsing the SDL3 GPU docs for resources on how to load buffers on the GPU is the next hurdle that I think will be annoying, but once that's done, shaders shouldn't be too much of an issue. I do have concerns about AI use, but we'll get to that when we get to it.

Cedric-James David

Gameplay / Network

Concrete_Goals

Get echo server + client running, create application protocol for game data that needs to be sent between clients and server.

Accomplished

Integrated server and client into game loop, client able to send input snapshot to the server.

Why_It_Changed

I was not able to figure out what data needs to be sent to the client: Still implementing ECS system basics and other sections are still working on needed infrastructure, so it's not fully critical yet. Setting up networking was a bit more difficult than expected: SDL net does not have a release for v3 yet, so we had to include the main branch of the repo in cmake and none of the methods were documented, so we relied on previous networking knowledge + example code to set up the echo server and client.

Next_Week

Determine what data needs to be sent from server to client to handle ECS. Discuss how the game flow works so we can begin planning out how everything will look.

What_I_Learned

Communicating high level architecture (especially through diagramming) is useful. There were times where a teammate and I would agree on what data would be passed through, but did not discuss enough resulting in slight confusion when integrating the parts between branches.

Individual_Morale

Things seem to be going great. Group is pretty invested in development making it easier to plan and finish tasks

Guthry Hahm

Graphics

Concrete_Goals

Get a basic 3D cube to show up on the screen and implement a basic shader to display it.

Accomplished

Given Josh implemented the in shader cube, I added normals to it and a basic Lambertian lighting model. I am probably halway through writing the code to be able to use buffers to move geometry data from the CPU to the GPU instead of using shaders only.

Why_It_Changed

I had planned to be able to use GPU Buffers, it just simply longer than I had for this week.

Next_Week

Finish the program's capability to upload Geometry buffers to the GPU rather than use in-shader mesh data. Finalize the structure In which we model geometry data so that .obj parsers up and running so that we can directly render 3d files in our game. Work with Josh to get textures working.

What_I_Learned

I learned quite a lot about the SDL_GPU API, it is more verbose than OpenGL, kind of in a middle ground of difficulty between OpenGl and Vulkan type API’s, so with OpenGL knowledge, there were more concepts I had to understand, like Transfer Buffers, BufferBindings Structs. I did expect to learn about this, and I definitely believe I spent most of my time learning about the API in the hopes that that knowledge would serve me to make more and better contributions later on.

Individual_Morale

I think my morale is pretty good, I was glad I was able to contribute to what I did. Right now my hope is that I can continue to keep up with the rest of the group in terms of contributions, especially given AI assistance that others like to use, and my tendency to like to thoroughly understand all the code I read and write.

Daniil Katulevskiy

Physics / CI

Concrete_Goals

Create a simple physics system, move character in quake / source style, proper wishvelocity, airacceleration, and other classic instruments for movement control.

Accomplished

Implemented movement system, titanfall-style, helped with graphics, basic particles, loaded first rigged mesh and played an animation on it.

Why_It_Changed

Went better than expected, good progress overall.

Next_Week

Work a bit more on making movement more intuitive, render enemies as a 3d rigged character (static T-pose), play different animations for a 3d rigged model depending on input, read about blending animations.

What_I_Learned

Need to have visual model and animations separate from hitbox positioning; there will be no renderer on server. Mouse movement needs to be processed each frame rendered, not with physics const dt loop, to avoid viewangle jitters.

Individual_Morale

Really good, glad to see what we've got going so far. I overstepped my responsibilities a bit into the graphics domain, needed to have some baseline for dialing in the movement system, but will try to refrain from this for future contributions.

Jolina Leong

Art / Modeling

Concrete_Goals

Concept styles for the game environment, concept weapons (Assault rifles, Railgun, Rocket Launcher, and Tracking gun), concept character design.

Accomplished

Concepted game environment styles and most weapons, will finish up concepts for the tracking gun and character before our next meeting on Tuesday.

Why_It_Changed

I had planned to complete all concepts by the end of this weekend, however I ran into an unexpected issue with a separate project I'm participating in, delaying my progress in completing my tasks for this week.

Next_Week

Begin modeling the character and 1-2 weapon types for the game. If necessary, create a placeholder model for testing purposes.

What_I_Learned

I learned more about weapon designs and ways to incorporate different elements to make them look more unique in shape language and appearance.

Individual_Morale

I'm looking forward to beginning modeling and seeing how the game will come together.

Jacob Roner

Gameplay / Integration

Concrete_Goals

My main goal was to begin building the structure of the main gameplay components, as well help each group get their section off the ground.

Accomplished

Flushed out the main file structure with Daniil. Helped define core gameplay features like movement, guns, etc. Began working on server's game loop: started with tick function and event handler. Completed the home, weekly reports, and archive pages on the project website.

Why_It_Changed

I wanted to have written more code by the end of the week, but I found there were a lot of things the team had to architect and a lot of concepts I had to familiarize myself with before I cound start actually writing code.

Next_Week

Next week I want to finish the server's run loop and ECS so that it can host players and manage/update game state. I will help the team integrate the client components together as well.

What_I_Learned

As expected, this week I learned a lot about the skeleton strucutre of a multiplayer game. I also learned a lot about ECS, including the library we are using, EnTT.

Individual_Morale

I have been having so much fun, I am super excited and optimistic about the project.

Scott Semtner

Network

Concrete_Goals

My goals for this week were to work with Cedric on setting up a low level echo server for networking using SDL 3, which also included figuring out how to install SDL3_net. I also worked on switching from a datagram socket setup to a stream socket setup with SDL3_net, which is more TCP-like (as the tips page recommends).

Accomplished

I was able to get SDL3_net installed using cmake by just pulling in the source from the main branch of the github project. I then updated the client and server networking code to use 1 stream socket connection between each client and the server, and then parse frames from that stream using a simple length based setup (4 byte length field at the start of each packet).

Why_It_Changed

I feel like the rest of the group is doing such a great job that I don't have as much that I needed to accomplish individually, and then I was out of town thurs-sun so I did not have much time to go above the initial goals.

Next_Week

I would like to discuss with the group and get a better idea of how we want to do serialization and deserialization beyond what was already done in the past few days, then work on implementing/expanding that.

What_I_Learned

I learned how to add a new source to cmake which should be useful in the future. I did not really expect to learn that.

Individual_Morale

My individual morale is pretty good, the group is doing great and I just need to figure out how I can contribute even more.

03_SCREENSHOTS_ARCHIVE

Screenshot_01 // First_Render

Project screenshot showing the first rendered scene
The first rendered scene from the project. Our first visual milestone, the completion of setup.

Screenshot_02 // Cube_Scene

Project screenshot of first cube render.
First 3D scene, rendered a cube with metrics representing player physics.

Screenshot_03 // 3D_Model

Project screenshot of first model render.
First 3D model rendered into scene. Used a placeholder model of Wraith from Apex Legends.

Screenshot_04 // Testing_Visuals

Project screenshot of car model.
Testing lighting, shadows, and particle effects with complex Porsche model.

Screenshot_05 // Theme_Concept

Project screenshot of first cube render.
Concept art illustration of map environment.

Screenshot_06 // Rocket_Launcher

Project screenshot of first cube render.
Concept art illustration of rocket launcher weapon.
Date---- Time--:--:-- Latency18ms