top of page

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

westEast01.png
Enemy_Boss_edited_edited.png
Unity-1200X630_white.png

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.

moveAndAim.gif

Movement and aim by using the mouse

ladderGId.gif

Scrapped ladder prototype

vertical01.gif

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.

distractAttackgif-maker.gif

Irene using the distraction ability to let Curtis get close to attack

smokeGif.gif

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.

Enemy_Sheild.png

Stab Immune

Enemy_Vision.png

Distract Immune

rotateGif.gif

Enemy with Distract immunity on rotation timer looking fot the player

patrolGif01.gif

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.

gizmos.png

Editor gizmos drawn to make enemy gameobjects easier to work with for our level designer

profiler.png

Reflection Probes crunching frames from some heavy real-time updates

bottom of page