Overview
My Responsibilities
-
Designing and programming weapons, player movement, and abilities;
-
Creating and building levels;
-
Developing enemy and boss AI;
-
Scripting sequences (short cutscenes);
-
QA testing and bug fixing;
-
Making several sprites and animations for the player, enemies, and stage props.
BladeCaster is a action-platformer that draws inspiration from Mega Man, Shovel Knight, and Downwell. The game revolves around the weapons gathered by the player throughout the game. Each weapon has unique movement and combat abilities which the player uses to navigate platforming puzzles and defeat enemies.
​
I served as the Designer for BladeCaster, meaning my primary role on the project was shaping the project's gameplay. I contributed a majority of the code for gameplay and enemies created all character sprites and animations.
Design
BladeCaster is designed around creating flowing gameplay and a sense of forward momentum. Through tight movement mechanics and providing the player with traversal and combat abilities via the game's four weapons, the gameplay builds that momentum, encouraging the player to push onward through any obstacles thrown at them. These are some of my specific design contributions:
Design Highlight – Weapons
At the game's core are four weapons (sword, spear, grapple hook, and claymore), each presenting the player with unique combat and movement options. I wanted to give every weapon its own identity that would set them apart from one another. Each weapon's identity would be reflected in their abilities and attacks.
​
Here is an overview of each weapon:
-
The sword finds its identity in combat. It has a quick, simple slashing attack, a "pogo" ability that lets the player bounce off things in the air, and a dodge roll. The sword doesn't have powerful movement abilities, but stays relevant thanks to its unique ability to quickly deal damage to things below it. This allows players to pass over enemies without getting risking being hit, which is something other weapons do not allow.
Sword Abilities
Attack
Roll
Pogo
-
The spear can become an unstoppable force that pushes through obstacles in the player's way. The spear has a charge ability that moves forward and knocks back any enemies in front of it and can turn into a pole vault that flings the player up into a forward arc. In the air, the player can dash forward, stopping all vertical motion and allowing them to reach platforms they otherwise wouldn't be able to. The spear only has a weak poking attack that is outshined by other weapons, which encourages the player to focus on using its abilities rather than using it to just attack.
Spear Abilities
Attack
Charge
Dash
Vault
-
The grappling hook has an attack has a long range and deals extra damage at its tip, encouraging players to use it from further away to deal more damage. It also has a grapple ability that can be used to grapple to targets placed throughout the game. This ability has many limitations on its use, though, since it can only be used when a target is nearby, so it finds use more in platforming than in combat.
Grapple Hook Abilities
Attack
Grapple
-
The claymore is defined by its weight. It slows the player when equipped, and its attack has a long wind-up, but hits hard thanks to its weight. Its slam ability sends the player straight down, stopping any horizontal movement, and dealing massive damage to anything on the ground near where it lands.
Claymore Abilities
Walk
Attack
Slam
The player can use these weapons in tandem with one another to create combos. For example, the player can use the spear to launch themselves into the air, then use the claymore to slam back down and deal massive damage to enemies they have pushed into place below them. Some platforming puzzles encourage players to use weapon combos, such as Room 2-13, as seen below. Combo moves are further enabled through a weapon wheel that slows the game to allow players to swap between weapons mid combo.
Combo Example
Room 2-13 Gameplay
Design Highlight – Spear Warden
The Spear Warden is the boss of the first level. My goal with the Spear Warden was to demonstrate the spear's identity through his design while also making the fight challenging enough that the player would have to be reasonably skilled with the sword to win.
​
The Spear Warden's attacks are built upon the spear's abilities, with each one appearing somewhere in his attacks. Through the boss's attacks, the player sees everything the spear can do and the contexts in which they can use each of its abilities (i.e., can only dash in the air, vault while charging, etc.).
​
As for the second goal, the Spear Warden's behavior prevents the player from easily winning the fight without using all the sword's abilities. For example, the Warden can jump in response to the player jumping, disrupting chains of pogo attacks, and will dash forward when hit several times in a row and speed up throughout the fight, preventing the player following behind him and spamming attacks.
Spear Warden Gallery
Basic Attack, triggers when the Spear Warden is near the player
Vault and Air Dash, mimics the spear's vault and dash abilities
Phase transition animation (showing it off because it looks cool)
Crystal shot attack, can be bounced off of with the sword if the player can land on it.
Phase 2 gameplay
Programming
I was also responsible for implementing my designs into the game. Here are some examples of things I programmed:
Player Movement
One of the most critical aspects of any platformer is the player's movement, and BladeCaster is no exception. We spent significant amounts of time perfecting movement to make it feel tight and responsive.
Code Snippet - Airborne Movement
The following code controls the player’s movement while in the air.
Air Movement Demonstration
Weapons
I programmed all of the weapons, their attacks, and their abilities. Translating these into code was a fun challenge that allowed me to iterate on their designs to fit them into the game better.
Code Snippet - Grapple Hook Ability
The following code controls the grappling hook's grapple ability. It moves the player to a targeted grapple point and sends them flying off once they reach their destination. It does not control targeting grapple points, though this code can be found in the full script.
Enemy AI
I also implemented AI for all the game's enemies, including their behaviors, attacks, and ability to detect the player.
Code Snippet – Slime Vision
Slimes need to be able to see the player to target them. They have a limited sight range and cannot see the player through walls, so both these behaviors must be accounted for when writing the slime's player detection code. The following code shows how I implemented slime vision. The first snippet shows the Detect function in a modular player sensor script, which the slime's script uses to detect and react to the player in the second snippet. More code dictating the slime's behavior can be found in the full script beneath the second snippet.
Slime Vision Illustration
Player Sensor Code
Slime Vision Code