Having been convicted of an unknown crime and stripped of their memories, the player assumes the role of a silent protagonist who wakes up to find themself imprisoned inside a deserted computer system.

Cyber is a fast-paced platformer with a focus on movement. Each level consists of a series of isolated and relatively short sublevels which all have one simple goal: reach the end. In order to do so, the player must use parkour-styled abilities to run, jump, climb, and slide across their environment while dodging various hazards and obstacles.

General

*Please Note — Cyber is an unreleased prototype. All audio assets are placeholder.*

Cyber is an experimental first-person action-platformer prototype and was my capstone project for university.

Inspired by N++ and Team Fortress 2 rocket jump challenge maps, I created Cyber to research level design, control schemes, and Source Engine movement physics.

Points of Interest

  • Solo Project — I designed and created nearly every aspect of Cyber myself, including but not limited to: gameplay, physics, UI, levels, shaders & effects, 3D models, and skyboxes.
  • Fluid and Nuanced Gameplay — While the game is simple in concept, it’s movement system is far from it. The player’s momentum, directional inputs, camera orientation, and the surfaces they interact with each influence their acceleration and trajectory in subtle ways. The result is a movement system that feels fluid, responsive, and most importantly, fun.
  • Source Engine Styled Movement — The core of Cyber’s movement system was born from my love of Source Engine games and the movement techniques of bunnyhopping, surfing, and rocket jumping often found within. As a base, I delved into the source code for these games and recreated their movement system in Unity, and from there I continued modify and add to the code to fit my own designs.
  • Second Place at KSU’s Computing Showcase — Voted on by a panel of judges, Cyber won second place in the games category at my university’s biannual computing showcase event.

Development

I began work on Cyber as my university capstone project in the Spring of 2017. I opted to work alone as I wanted to have a project which could showcase the breadth of my ability; however, since I was also taking a heavy amount of other classes that semester, I needed something with a smaller and an at least somewhat realistic scope. These stipulations pushed me toward the idea of creating a first-person platformer as doing so would reduce the required number of art assets in the game.

My primary inspiration for gameplay came from Team Fortress 2’s rocket jumping challenge maps: a highly skillful game-within-a-game where players must precisely maneuver series of obstacles using the explosive force of their rocket launcher to control their movement. My core design goal was to blend this idea with parkour-styled movement from games such as N++ and Mirrors Edge to try to create something new, yet familiar. Specifically, I wanted to create something which would feel similar to rocket jumping, but be simpler for players to understand and control.

Starting out, I began by researching the source code of Half Life and recreating its movement system within unity as a base to work with. Half Life, along with other games stemming from the Quake engine, feature a notable exploit known as ‘air strafing’ that results from the method by which the game applies acceleration to the player. This exploit allows the player to exceed their speed cap and is the building block for other famous movement techniques such as bunnyhopping and rocket jumping. Building from this base, I designed and implemented the player’s other movement abilities to complement the air strafing mechanic.

Research did not stop there however. At a fundamental level, the term ‘first-person platformer’ is somewhat of an oxymoron: having a first person camera decreases the player’s overall ability to determine both the speed and position of their character in 3d space. This is a direct hindrance when the game requires the player to gauge their speed/height to jump and maneuver from platform to platform. To overcome this issue, Cyber went through numerous stages of experimentation, iteration, and polishing in order to make the idea work and feel good to play. As part of this iterative process, I thoroughly dissected a large number of other games to examine how their controls and player physics worked together to shape the overall game feel. Some of such games included N++, Shootmania Storm, Celaria, Hover, Sonic 3 & Knuckles, Brink, and SEUM.

Having no experience with level design theory at the time, I also spent a some amount of time teaching myself the ropes to it. By the end of the first semester I had a solid proof-of-concept prototype with 10 levels. The following semester, for the second half of my capstone class, I would go on to add more levels, further refine and polish the movement system, and add proper UI and art assets. The final prototype consisted of 25 levels and won second place in its category at my university’s computing showcase event.

Attributions

Considering Cyber is an unreleased prototype developed as a university project, it uses a handful of assets from various other sources as placeholders:

Brick and Metal Textures — The textures used for the level geometry in Cyber came included with the SabreCSG level design toolset.
Water Normal Map — Created by Untitled Games; used to create the water runoff shader effect seen on top of the level geometry in Cyber.
Rain SFX — Created by DWOBoyle on Freesound.org.
Coin SFX — From the game N by Metanet Software.
Key SFX — From the game Half Life by Valve.
Wind and Footfall SFX — From the game Dustforce by Hitbox Team.

Additionally, Cyber was developed using Unity Engine and the following extensions:

SabreCSG — Provides a set of level design tools for Unity; created by SaberSarus.

Gallery

Gameplay footage — All 25 levels.

Gameplay from early stages of development.