Case Study — 16 / Independent Project / 2018–2025

Full-Stack Software Architecture & Game Development

C#.NET 10BlazorNode.jsWebSocketsAdobe Illustrator
Blazor mouse-dodging game interface
16

Architected multiple full-stack applications, ranging from an early middle school real-time multiplayer game to modern .NET Blazor server-side applications.

01 — Middle School: bradlar.io Multiplayer Game

While in middle school, I developed a fully functional online multiplayer game named bradlar.io. Players would run around a massive looping map, shooting and getting shot to gain or lose points. Although the game is now shut down, it served as an early demonstration of my aptitude for software development and networking. The journey involved self-taught programming using C#, creating custom pixel art character sprites in Adobe Illustrator, and studying networking concepts through trial and experimentation. I implemented client-side prediction and server-authoritative state synchronization via WebSockets to keep the intense shootouts feeling responsive and fair.

02 — College: .NET Blazor Web App & Mini-Games

In college, I built a .NET 10 Blazor Web App using the InteractiveServer hosting model. The core of this project features three fully interactive, browser-based mini-games built entirely as Razor Components utilizing C# for logic and state management, completely bypassing external JavaScript libraries. Navigation is seamlessly handled via custom routing, and the interface uses advanced CSS animations and grid layouts tightly scoped within components.

03 — State Management in Tic Tac Toe & Hangman

• Tic Tac Toe: Uses C# arrays and variables to track the 3x3 grid state, current turn, and score logic. It implements a deterministic win-checking algorithm against predefined index combinations and intelligently toggles starting players across multiple rounds. • Hangman: Features a multi-step conditional UI render flow for two players. It leverages Blazor's two-way data binding to instantly capture and validate user input character-by-character, and employs native C# string manipulation to dynamically render masked words.

04 — Complex Server-Side Rendering: Dodge Game

The most technically complex addition is a canvas-like 2D "bullet-hell" dodge game running entirely on the server side. It implements a ~60 FPS game loop using a System.Threading.Timer (running every 16ms), pushing frame updates to the client via InvokeAsync(StateHasChanged).

The custom game engine simulates a 2D environment using DOM elements manipulated via inline CSS positioning. It handles real-time positional updates and advanced collision detection (Euclidean distance for circles/points, bounding boxes for rectangles, and line segment calculations) across multiple dynamic entities including the player, basic projectiles, and complex area-of-effect strikes like laser lines and expanding wave cones. The engine actively tracks frames to scale spawn rates and projectile velocity for progressive difficulty.

Eta Kappa Nu honor society

Next Project — 17

Eta Kappa Nu Honor Society

View Case Study