top of page

Contributions

  • Served as Project Lead and Lead Producer

  • Designed and concepted the core game mechanics from game modes to movement

  • Implemented Movement System

  • Implemented Network Programming via Unity Relay and Lobby

  • Implemented Virus Tag Game Mode

  • Handled UI and Animation Programming

Tools Used:

  • Unity Game Engine

  • Netcode for GameObjects

  • Unity Relay

  • C#

  • FMOD

  • GitHub

  • GitHub Projects

I designed and produced this multiplayer 1st person platformer as a part of my senior capstone sequence at UC: Santa Cruz. I lead the team, collaboratively designed the core movement mechanics, and was part of the programming team. I implemented the main movement system, network programming, virus tag game mode, and did UI and animation programming.

In Untitled Parkour Game you play a game of virus tag. At the beginning of each round one player is selected be "it" and each player they tag also becomes "it." The round lasts until either all players are tagged or the timer reaches zero. It's all about using guile and all the available movement options to chase down or escape from your friends. 

The Concept and Early Stages

Credit: Will Gadd

Some brainstorming notes from the first team meeting

IMG_1535_edited.jpg
IMG_1538.jpg
IMG_1536_edited.jpg

The Idea:

A first-person, multiplayer platformer with a focus on movement, momentum, and player interaction through classic school yard games like tag

The Core System:

Untitled Parkour Game centers around a single system: the movement system. From the very beginning we knew wanted it to be fast, fluid, and give the player a sense of speed, flow, and momentum. Once we nailed down the list of movement options it took many interactions of tweaking the game feel to achieve those goals.

Early Design Napkin Sketches

PXL_20230514_2110181442_edited.jpg
TutorialLayout.png

Credit: Jia Mei

Execution and Implementation

Movement System Implementation

When coding the movement system there were two major goals I set out to achieve. First, the system needed to be easily expanded upon so we could rapidly prototype and test new movement options. Secondly, it needed to include as many game feel levers and knobs available directly in the Unity editor so designers could rapidly iterate version of the system. To achieve this I chose to use implement the system using a state machine, which also had the added benefit of allowing for easy implementations of animations and sound effects.

Untitled_edited.jpg

Diagram of Movement System State Machine

Inspector Screenshot 2.PNG
Inspector Screenshot.PNG

Screenshots showing off some of the game feel tuning options

Network Programming

After I completed implementing the movement, I handed off the fine tuning to other designer and shifted to the network programming. This project was my and team's first time developing a networked multiplayer game, so opted to keep things as simple as we possibly could. So we turned to the recently released Unity Relay package which makes connecting players very simple. As I soon learned, while connecting players was easy, making all the other aspects of the game function in a networked environment was a much taller task. The main challenges were implementing the Virus Tag game mode and all the accompanying UI elements. Throughout the whole process I learned a ton about using Remote Procedure Calls and other key networking concepts.

Start (1).png

Diagram of Control Flow of a Round of Virus Tag 

CreateRelay.PNG
Start Round.PNG
End Round.PNG

© 2023 by Josh Temple

  • Twitter
  • LinkedIn
  • itchio-textless-black
  • GitHub
bottom of page