CSE_125_GROUP_02
System_Status Progressing
GitHub_Link

Week_06 // 2026.05.05

Group status report and individual member logs

Uplink Quality

01_GROUP_WEEKLY_REPORT

Group_Status_Report

This last week we spent our time finishing up the last few features necessary for our MVP. A lot of effort went into the design step of our map. As a team we brainstormed the layout, and now we are finishing up the floor plan in blender. We also worked on some server stability updates. We hope to have some people play test our game by the end of this week. It would be very helpful for us to get some feedback on things like map layout, weapons, etc.

Morale

Morale is hurting a little bit, the team has a few issues to resolve.

Concerns

There are concerns about the hybrid render system and an uncertain direction for the graphics.

MoraleHurting

StressMED

Team StatusOK

Latest_Screenshots

Latest project screenshot. Latest project screenshot.

02_INDIVIDUAL_REPORTS

Cedric-James David

Gameplay / Network

Concrete_Goals

I wanted to get kill feed working, look into network optimizations, and begin figuring out how to get a lobby manager system up.

Accomplished

Only thing I pushed was the kill feed along with some bug fixes since we were able to test the multiplayer aspect.

Why_It_Changed

Not as much time this week plus it seems like Daniel was able to handle a lot of the network optimizations I was thinking of.

Next_Week

Implement lobby system so we can queue up people to join rather than just immediately joining the match lobby and fix some issues with the in game match phases.

What_I_Learned

Learned more about the different ways games try and scale their lobbies across servers. It is probably not as necessary for our demo, but still good to know and consider.

Individual_Morale

Good. I feel like I should start contributing more again to infrastructure stuff.

Guthry Hahm

Graphics

Concrete_Goals

Be able to import the scene that the main renderer uses.

Accomplished

I was able to render just the scene that the rest of the group was using by implementing the loadSceneModel method in my renderer that the hybrid render specifies.

Why_It_Changed

Again merging my code into main took more time than wished, I wonder if claude commits by others will make small changes to the file that sort of mess up the merging process, because at this point I’m the only one changing these files, and I’m not really changing many others. Or it could just be my fault not understanding something with github lol.

Next_Week

I want to finish implementing the other methods specified by hybridrender, so I can at least implement the other features that the other render uses. Most pressing is getting the weapons to actually follow the player and always show in the right hand corner. Next is animation and particles. These are already in separate classes, So hopefully the vibe coding didn’t tie those classes and the first renderer too closely, and I can use the geometry and data that they already computed and do a render pass with them in my renderer, I still have to learn more about it. After that is rendering the UI texture, which is lower in priority because I anticipate it will be a lot easier.

What_I_Learned

I dove more into how the HybridRender interfaces between the renderer and the game loop. I did expect to learn this, to get to a decent level of parity with the other renderer.

Individual_Morale

My morale right now is lower, for right now I’m going to be only one really working on the renderer. To address the obvious, there already exists a renderer that was vibe coded so that the rest of the team can visualize what they are working on, But they went a little overboard in features of a renderer with that sole purpose(albeit with certain bugs like incorrect shadow direction and ghosting). Frankly, I joined this class for two reasons. One, to gain experience developing code on a larger project with a team. Second, I like computer graphics, and wanted experience writing a game renderer combining knowledge from 167,168 and 169. Especially when using a new 3d graphics API(both new to me and new in existence) with limited documentation and not just opengl, this task requires learning what goes into the boilerplate of a rasterization based renderer that 167 gave you to just focus on learning the basics of graphics concepts. I wanted to work on a game’s renderer that I could say was my own(+ Josh ofc lol), and refer to as an example of my efforts on a resume or something I could talk about when people asked about what I’ve done in computer graphics. So when the existing render came into existence, I understood its use for the team, but the addition of the advanced features made it feel like it sort of defeated the purpose of doing this project, making this game without using an existing game engine, which would’ve already done a lot of this for you. Most of the team has been pretty understanding of this and treating the existing renderer as temporary, so I appreciate that, but I also understand that they want many of the existing features in the game(particularly with particles, shadows and advanced lighting models). To not let my efforts go in vain, to get what I wanted out of this project, and to abide by the team agreement at the beginning of the quarter, I will continue to flesh out my renderer to the best of my ability. I will bank on being able to use existing code for the particles and animation, those I am fine with, (I particularly did not want to do animation). But so the rest of the team doesn’t feel like this renderer is a feature subset of the existing one, it would be really cool to work on a graphics feature not implemented by(at least that I know of lol) it. I know near the beginning we spoke about areas of the map being a portal that teleport you to other places. While not necessary for gameplay, I was thinking about implementing being able to see through the portal. I’ve done a bit of research to know how this would be done at a high level. Using a stencil buffer for the boundary of the portal, do another render pass of the scene with vertices transformed with an additional world space transform from one portal to another. It also involves other things like skewing the frustum projection to match the near plane to the plane of the portal, so that scene objects in front of it from destination space don’t get rendered. Of course there's also how to handle entities between both portals, shadows, recursive rendering when you can see another portal surface in the one you are rendering. Many other games will cheat with these as it can add significantly more rendering computation. It would be good to learn how the source engine does it at least. Since I haven’t done this before, combined with the other tasks of getting the renderer to decent parity, there's no guarantee that I will be able to achieve this, in fact it may be unlikely for all I know, but I like to be ambitious, so either doing this or something else the team wants, that doesn’t already existI think would improve my morale.

Daniil Katulevskiy

Physics / CI

Concrete_Goals

Better VFX and anims, making map load from glb instead of hardcoded hpp, have import config per-model so that all are scaled correctly on import, better hitbox system.

Accomplished

Making map load from glb. New hitbox system with actual pill-shaped hitboxes attached to skeleton. HUD system, render-agnostic. Networking improvements, can now handle 500+ players on server. Client improvements, can now render 200+ players at 11000+ P50 500+ P95 400+ P99 FPS on 4090. Improved networking, better anim state sync client-server. Sending less data between server and clients. Server now utilizes GPU if available for anims and other processing parallelization.

Why_It_Changed

Went a slightly different route, had higher priorities than working on animation smoothness.

Next_Week

Finish performance patches. fix glb map loading bugs. make server broadcast in a way that we can connect from any PC on the network without pre-configuring server IP. Connect ALL lab PCs to the game and see how well it runs. Work on lagcomp. Test full gameplay loop.

What_I_Learned

Need to get back to basic concepts like calculating GPU throughout and how much I'm trying to load in, network bandwidth, etc, to optimize the system properly.

Individual_Morale

Great, have a lot of functionality, so was about the right time to optimize it. That's what I enjoy doing, so now we have a huge safety margin for any extra functionality we want to add or power we might allocate to processing something else.

Jolina Leong

Art / Modeling

Concrete_Goals

Finish rendering all gun model and upload them to the google drive in glb/gltf format. Grey box the layout for the map.

Accomplished

Finished rendering all 4 gun models. Finished the first draft of the layout for the map (currently being revised by Jacob)

Why_It_Changed

Some of the guns have transparent textures, which are proving to be difficult to export of Blender because they don't use a principled BDSF node like color and roughness textures, but glass and transparent BDSFs instead, which can't be baked as is by themself. Currently, I'm trying to figure out how to export them out successfully.

Next_Week

Finish uncolored player model. Begin fleshing out rooms for the map.

What_I_Learned

I learned how to bake roughness textures into models for export purposes, as well as making transparent textures within blender itself.

Individual_Morale

Doing good, was exciting to see the guns loaded into the actual game and working properly

Jacob Roner

Gameplay / Integration

Concrete_Goals

My main goal was to finish planning out the first map so that Jolina could begin gray boxing it. I also wanted to work on adding powerups and logic for some more weapons.

Accomplished

Implemented weapon spawner and pickup logic. Helped plan/model the first map. Swapped in the new weapon models.

Why_It_Changed

The map design took more time than I exptected. I knew it was going to be hard, but it took up so much time that I was only really able to work on the weapon spawner logic.

Next_Week

Next week I want to finish the map gray boxing, add powerups/powerup spawners, and balance the weapons and movement.

What_I_Learned

I leaned a lot about how to use blender. I had never used it before so it took me a while to get use to it.

Individual_Morale

Im feeling pretty good for the most part. I am concerned that not everyone is having fun at this point, so id like to sort out our issues this week.

Scott Semtner

Network

Concrete_Goals

I said that I wanted to rewrite the vibe-coded network stats implementation that accidentally got merged and start working on reducing the amount that is sent over the network every tick for the registry.

Accomplished

I was not able to accomplish any of my goals unfortunately as I was out of town the whole week.

Why_It_Changed

I was a lot busier than expected at the frc champs event so I didn't have any time to work on this class.

Next_Week

It seems like Daniel did a lot of the optimizations for networking so I'm not sure what there is left to do. I'll try to take a look at everything that was done though.

What_I_Learned

N/A

Individual_Morale

Not great. I wasn't able to get anything done this week and I'm no longer sure what the state of the networking layer is not that it has all been changed. I'm not feeling any ownership of features right now, so I'm going to try to think of some more novel feature (not necessarily in networking) that I can try to work on for the next few weeks.

Joshua Castaneda

Graphics / Misc

Concrete_Goals

Finish implementing model loading/asset pipeline (assimp with glb files) and getting the mesh to collider system working so we can start testing map models.

Accomplished

I switched gears half way through the week and ended up implementing some of the spawning behavior for the final game.

Why_It_Changed

Wanted to focus on something not graphics related this week.

Next_Week

I want to implement the reversing gravity feature this next week.

What_I_Learned

Integration hell is real.

Individual_Morale

Morale is okay, hope to contribute more this week with misc. things.

03_SCREENSHOTS_ARCHIVE

Screenshot_01 // New_Weapon_Models

Jolina's models in game.

Screenshot_02 // Rocket_Model

Jolina's rocket launcher model loaded in game.

Screenshot_03 // Map_1

Map 1 layout in blender.

Screenshot_03 // Oppen_Scene

Guthry's render loading the scene.

Screenshot_03 // Desync_Analysis

Screenshot of Daniil's desync analysis feature.
Date---- Time--:--:-- Latency18ms