← All projects

Independent project · 2022–2023

Upturn

An online arena shooter for up to eight players, built around a comeback economy that gives defeated players new ways to turn a match around.

Upturn key art showing its low-poly arena, player character, weapons, abilities, and comeback items.
Role
Solo Developer
Genre
Multiplayer FPS
Technology
Unity · C#
Networking
Photon PUN

Overview

Learning multiplayer by building the full match loop

Upturn began as my first substantial 3D project and grew into a complete online multiplayer prototype. I designed and implemented the experience from lobby flow through combat, defeat, upgrades, respawning, and match completion.

The project pushed me beyond isolated mechanics. Every feature had to work for multiple connected players, communicate its state clearly, and return everyone to a consistent match state.

Design problem

Make falling behind part of the strategy

Traditional free-for-all matches can become less engaging when one player gains an early lead. Upturn turns defeat into a controlled opportunity to adapt.

01

Enter the lobby

Players join a room, interact with one another, and choose the next match configuration.

02

Ready and deploy

Once everyone is ready, the host starts the match and players spawn into the arena.

03

Fight and earn

Players earn coins through eliminations—and receive a smaller opportunity to recover when defeated.

04

Upgrade on respawn

Coins buy weapons or abilities before the next life, creating counterplay and comeback decisions.

05

Return and replay

The winner is declared, all players return to the lobby, and the group can begin another match.

My contribution

Systems designed and implemented

I built the project as a solo developer, combining networked state, FPS mechanics, match progression, and content into one playable loop.

01

Networked match flow

Used Photon PUN to synchronize players and support room creation, joining, readiness, spawning, combat, defeat, respawning, and returning to the lobby.

02

Combat framework

Implemented projectile and hitscan combat across six weapons, including melee, bows, automatic firearms, and a precision rifle.

03

Comeback economy

Connected eliminations, defeats, coins, purchases, and respawns so players could change tactics during a match instead of waiting for the next one.

04

Ability roster

Created eight purchasable throwables and utilities, including grenades, temporary walls, healing, thermal vision, and portal access.

05

Player movement

Developed responsive first-person movement with jumping, sliding, wall-running experiments, aiming, weapon switching, and ability input.

06

Maps and iteration

Designed the close-quarters Farm arena and a more vertical Tundra direction, using cover, sightlines, portals, and movement routes to support the weapon set.

Content systems

A flexible combat sandbox

Six weapons support different ranges and play styles, while eight purchasable abilities let players recover, reposition, disrupt opponents, or change the arena.

Weapons

  • Sword
  • Spear
  • Bow
  • Pistol
  • Rifle
  • Sniper

Abilities

  • Bounce bomb
  • Grenade
  • Wall grenade
  • Smoke bomb
  • Ghost mode
  • Dark portal
  • Medkit
  • Thermal vision

Development process

From experimental prototype to focused multiplayer game

The project changed substantially as I learned networking, tested mechanics, reduced feature creep, and clarified the experience I wanted to finish.

Iteration 01

Finding a distinct direction

The earliest build was a learning exercise inspired by movement-focused low-poly shooters. As the project developed, I moved away from imitation and centered it on an original defeat-to-upgrade multiplayer loop.

  • Shifted the goal from recreating mechanics to designing a complete match.
  • Used the comeback economy as the project’s defining rule.
  • Reworked the presentation as the design became more focused.
The neon menu from the early networking prototype, originally titled Linked.Early prototype · Linked
The redesigned outdoor menu after the project became Upturn.Focused direction · Upturn
Direct captures show the transition from a networking experiment into Upturn’s own visual identity.

Iteration 02

Testing the game in playable slices

I developed mechanics inside simple test environments before building out the final arenas. These prototypes helped me evaluate gun feel, movement, weapon ranges, sightlines, and the amount of cover a multiplayer map needed.

  • Compared projectile weapons with immediate hitscan feedback.
  • Balanced close-range routes against longer sightlines.
  • Used portals and verticality to keep larger spaces connected.
A tilted first-person view used to test Upturn's wall-running movement.Wall-running test
An early pistol and hit-feedback test in a graybox arena.Pistol feedback
A sniper rifle being tested against long sightlines in a graybox arena.Range and sightlines
Graybox rooms let me isolate movement, weapon feedback, and map-spacing decisions before polishing the arenas.

Iteration 03

Controlling scope with a real schedule

My first approach added ideas faster than I could finish them. I reorganized the remaining work into a prioritized schedule, completed a stable prototype first, and treated additional ideas as optional rather than required.

  • Separated essential match features from experimental additions.
  • Refactored tightly coupled prototype code as systems became clearer.
  • Learned to define a finish line before expanding a project.
Trello board used to organize Upturn development tasks into To Do, Doing, and Done columns.
The task board used to prioritize a playable, cohesive build.

Takeaways

What the project taught me

Authority must be explicit

Networked features need clear ownership so every client reaches the same result without duplicating important actions.

Systems need shared context

Combat, currency, purchasing, defeat, and respawning feel coherent only when they are designed as one connected loop.

Scope is a technical decision

A prioritized plan reduced rewrites and helped turn disconnected experiments into a complete playable prototype.