Styx
Link to Build
Skip To Section
Overview
High Concept
Styx is a single-player (SP), two-dimensional (2D), puzzle-platformer developed for personal computers (PC). Unlike traditional platformers, in this game the player controls a flying character (a Dark Ferryman of the underworld) that guides one secondary, floor-bound unit (a recently dead human Soul) over and through obstacles (in the river Styx).
The game explores the themes of godly mythology, light vs dark, and the transition into the afterlife. It puts these themes in the present day, juxtaposing ancient myth with contemporary concepts.
Role: Programmer
Genre: 2D Puzzle Platformer
Engine: Unity
Team Size: 4 people (1 programmer)
Development Time: 2 months
Responsibilities
-
Created the gameplay mechanics
-
Polish and bug fixing
-
Mentoring the designers in various scripting tasks
Gameplay Mechanics
Move Platforms
The player controls a grim reaper like character named "Kharr". Kharr has the ability to move platforms he is close to.
The platforms have a modular design. Platforms are made of platform tiles with each tile containing a particle system. The platform can only move where a "rail" is connected to a "hook". When the platform moves, each tile in the platform moves.
The platform gets reference of every object that collides with it. Upon colliding the platform stores a reference and displaces those objects the same amount the platform is displaced by the player. This was done for consistant up and down movement that ignores Unity physics. When the player holds down the "move platform" button, they can no longer free move the character and can only move the character in the directions that the platform can move. The platform then moves the player during this time as well.
When the player gets in range of a platform, each of the particle spawners connected to the platform activate. Only the currently "active" platform will have the particles spawn to indicate which platform the player can move.
MovePlatform.cs
DisplaceObjectOnPlatform.cs
The player has the ability to drop jump pads on the ground that causes the soul that the player is leading through the level to jump whne the jump pad and soul collide.
The player can have 3 jump pads active at once and jump pads in reserve are represented by floating orbs around the player.
The soul jumps one unit tile upon jumping.
When a jump pad is spawned, it will spawn to the center of the tile that is below the player.
Jump Pads
jumpScript_AI.cs
Shout
Shout allows the player to change the direction of the soul the player is leading through the level to help micromanage the soul and to help avoid hazards.
FiendShout.cs
Checkpoint
Checkpoints are torches. When the soul runs across a torch, the torch lights and becomes the next checkpoint. When the soul dies, not the player, the soul and the player respawn back to the last lit torch. Platforms are moved to their base positition.
CheckPoint.cs
Menus
The menus work with mouse, keyboard, and gamepads.
MenuScript.cs