top of page
Free Rider - Parking Lot.png

Project Goal

"Create A Chill & Relaxing Skating Experience Centered Around Free Skates"

- Ethan Murchison

( Creative Lead )

Project Role

Lead Programmer · Level Designer

Tools Used

Unity · C# · Visual Studios · Trello · Unity DevOps

Target Platform

Windows PC

Duration

10 Months

Language

C#

Team Size

5

Overview

( Capstone Project )

Free Rider is a relaxing 3D third person game with elements of exploration built in the Unity game engine.

 

You play as Jun, a red panda, skating through an alternate San-Francisco inspired level. Throughout the level players will explore the vast city & alleyways dodging hazards, collecting items, & talking with friends.

Project Design Goals

  • Create a free flowing physics based movement system using Unity's Physics Engine

  • Demonstrate skills in programming, level design, team management, systems design, & world building

  • Provide a relaxing explorative experience for players

Contributions

My role on this project was Lead Programmer. I was responsible for the creation of tools, features, game feel, & team management. I worked with both art & animation to design & maintain a relaxing chill player experience.

Free Rider China Town Entrance.jpg
Free Rider Lombard Area.jpg
Free Rider Alleyway.jpg

More Information

The original idea for Free Rider started off as a twin-stick simulation in which players would control Jun using a controllers two sticks ( one for each foot ). Taking inspiration from games such as QWOP.

This approach came to a close when the realization that combining physics & realistic movements with the idea of relaxation wouldn't mesh well together - as well as numerous scripting & physics issues popping up.​

​

The next approach was a single stick movement system which aims to capture the feel of playing Mario Kart - fluid, fun, intuitive. 

 

This started off with the creation of the Upright System. This system uses Spring Physics & Forces to keep the player upright & at a certain height above the ground - includes getting hit by other physics bodies & having the ability to remain upright. This was a pivotal step forward in creating & maintaining the intractability of the environment - being able to collide with trash cans or cars for example. Over the course of the project the momentum based physics movement, which I dubbed Freeform, was created & refined ( with features such as slope & hazard detection, interaction with objects, & the momentum based approach talked about earlier ).

​​​

Overall, the game features NPC's to interact with, several hazards ( Leaves, Rubble, Oil, Water, & Sand ) each applying various effect(s) to the Player Systems ( Movement & Status ), & a beautiful Pixar inspired environment to traverse.

 

​The rest of this page gives an overview of the systems that I implemented & created for this project.

 

For a more detailed look & documentation on my process, please contact me through Linkedin or Email.

Process Of Creating Systems

My approach to creating new scripts & systems hasn't changed too much from when I created Endless Nightmare, The biggest change in my process is that I've delved further into two main principles :

Simplified Modularity

Designing a simplified & modular system, to me, is a system that is intuitive, easy to understand, & has the capabilities of a component. So whenever possible, I try to modularize systems in a way that allows for emergent design possibilities. Although there are plenty of systems that fall outside of this philosophy, such as an Input Manager , many systems when broken down into smaller components can be ( such as an enemy using the same method to move like the player, but without being controlled by Player input ).

My Major Contributions To The Project :

  • Player Systems

    • Input Manager

    • Movement

    • Interaction

    • Hazard Detection

    • Status

  • Camera Control & Movement
    ( Using The Cinemachine Package )​

  • Canvas Management Tools

  • Audio Management Tools

  • NPC Interaction​​

  • Respawn System

  • Objective System

  • Physics Object Interactable Props

  • Tutorial Level

  • And Much More!...

Free Rider - Twin Stick Movement Test_edited.jpg

First Movement Testing Using The Twin Stick Approach

Each Foot Being Assigned To A Different Stick On The Controller

Free Rider - Single Stick Movement Test.jpg
Free Rider - Upright Spring Test.jpg

Keeping The Player Upright Testing

Testing A Method To Keep The Player Character Upright Using Spring Physics & Forces

First Preview Of The Movement System Used In Free Rider

An Area In Which The Fluid Freeform Movement Was Concepted & Created. Along With The Beginnings Of The Hazard Detection System &  Crouch System.

Video Snippet Of Hazard System Gameplay

( Audio Warning - Might Be Louder Than Expected )

Playthrough Of The Tutorial Level I Created Using Building Blocks Assembled Over The Projects Creation

( Audio Warning - Might Be Louder Than Expected )

bottom of page