WEST OF EAST
MY ROLES
C# Scripting
Technical Design
Gameplay Design
PROJECT TYPE
School Project
MY RESPONSIBILITIES
-
Write all scripts except dialogue & tutorials
-
Implementing Gameplay Systems, Character & Camera Controls, Abilities, Enemies, Checkpoints, Animations
-
Designing and Implementing the UI and its Animations
-
Creating tools for our Level Designer to visualise enemy patrols and range
GAME SUMMARY
West of East is a top-down stealth strategy game in a sci-fi western.
The two main characters, Curtis & Irene, are on a revenge quest and need to kill the admin bot at the top of Skinny Mountain to continue further.
​
The two starts of at separate locations but quickly joins up and use their complementary abilities to take down the sentry bots guarding the town.
GENRE
Top-Down Stealth Strategy
PLATFORM
PC
YEAR
2021
DEVELOPMENT TEAM
3 Designers, 4 Artists
GAME ENGINE
Unity
DEVELOPMENT TIME
7 Weeks
CHARACTERS & CONTROLS
Curtis & Irene
The gameplay system revolves around controlling two separate character, Curtis with the close combat abilities, and Irene with utility abilities to help Curt get close to the enemies. I worked closely with the two other designer, testing and tweaking the abilities and movement system of the player character to get our desired results.
​
In line with similar games (Desperados 3, Shadow Tactics) we use a simple point & click to move, using the engines Navigation Mesh/Agent, and an active ability state where player is locked to position and aims the ability to the mouse position, and clicks to use it.
Movement and aim by using the mouse
Scrapped ladder prototype
Verticality
We originally planned for including a lot of verticality as it's something that both adds more choices for the player to approach an encounter and gives a good sense of progression when moving up through a level.
​
Due to the added complexity verticality adds to development, and the limited time we had, we pulled back to having one higher and one lower level at the most for encounters and small gradual slopes between areas to keep the feeling of moving up.
​
The initial ladder design was also scrapped as it would be the only interactable object in the game and thus felt unintuitive, and we settled on ramps instead.
Final verticality with a slight slope up one level
ABILITIES
To have the player solve encounters in various ways, while still using both of the characters, their abilities needs to complement each other. By keeping all abilities that can kill on one character we ensure that he is needed. By making enemies not approachable head-on we ensure he needs help to get close for the kill.
To stop ability spamming and again push for variation in encounter approach we used a combination of cooldown and ammunition limits together with enemy immunities.
For utility, the Distract ability turns an enemy away, but won't work on all types of enemies. The Smoke Bomb blocks enemy sight and works on all, but instead has limited ammo and therefore can't be used at all times.
​
Similarly for offence, the Stab Attack is unlimited but won't work on all while the Dash Attack works on all but is limited in ammo.
Irene using the distraction ability to let Curtis get close to attack
Irene using the smoke ability to block enemy vision while Curtis destroys them with his Dash Attack
ENEMIES
As this was a short project (7-weeks) without dedicated programmer we made a deliberate choice to keep enemies simple and reliance on enemy AI small. The enemies have a procedurally generated mesh plane in front of them that targets the player when they enter and fires at them after a set timer.
​
For additional behaviour we stuck with 2 simple behaviours outside being idle, a set patrol path based on a timer and a side-to-side rotation based on a timer.
​
To this we added 2 attributes to the enemies, one immune to the distract ability of Irene, and one immune to the stab attack of Curtis. These are visualized by either the pink shields or the extra green scopes on the body together with different colour schemes on their body and vision cones.
Stab Immune
Distract Immune
Enemy with Distract immunity on rotation timer looking fot the player
Enemy with Stab Attack immunity on patrol based on pre-set path
TOOLS & PERFORMANCE
I was our main programmer and ended up writing all but the tutorial and dialogue scripts for the game. This includes among other things the controls and movement, ability system, enemy behaviour, checkpoint system, UI button interaction.
​
While scripting for game objects I wanted to make them as easy as possible for our level designer to work with. Outside of keeping good communication with each other I also implemented gizmos to be drawn in editor to visualize things like enemies view angle/distance, patrol path and rotation from behaviour.
​
Outside of making sure of the games functionality in the script I also kept track of the games performance through the profiler to make sure it ran at our target 60 fps on as many systems as possible. It's not a very big game so not to many problems showed up outside of our Reflection Probes eating frames in its first iteration.
Editor gizmos drawn to make enemy gameobjects easier to work with for our level designer
Reflection Probes crunching frames from some heavy real-time updates