
Thomas Schinas - Game Design Portfolio

Blade of Power is a first person "shooter" where you have nothing but a single magical dagger at your disposal.
Throw the dagger at enemies to make use of enemy abilities in combat and puzzles across four levels.
Contents
Roles: Technical Design, G.A.S. Master, UI Design
Team Size: 7
Timeframe: 6 weeks
Engine: Unreal Engine
Tools: Miro, Jira, GitHub, Angelscript
Genre: FPS​




Goals & Contributions
Timeline:
-
2 weeks pre-production
-
4 weeks production
​​Goals:​​
-
Present game at Game Town exhibition
-
Explore Gameplay Ability System (GAS) and Angelscript frameworks
-
Make a sick "boomer shooter"​
Contributions:
-
Creation of level design tools
-
GAS implementation
-
Angelscript implementation
-
Bug squishing
-
UI & HUD implementation
GAS & Angelscript
GAS Sticky-Grenade Ability
I implemented a sticky-grenade type ability where the player clicks to fire, then clicks again to detonate it when desired.
​
If it connects with any surface, it will stick to that surface until detonated.​


Click to fire...

Problem: input triggering detonation also launches a second projectile

...then click again to detonate!

Solution: GAS gameplay tags simply block additional projectiles until after detonation has finished
Adding to Angelscript
One of the core actions a player has is a melee attack that deals low damage and provides low healing
​
Additionally, an enemy whose ability has been stolen enters a stunned state when its stolen ability is used up.
​
Using Angelscript code implemented by programmers as a base, I modified the code to cause an instant-kill on stunned enemies with the melee attack and fully heal the player.​
The goal of this addition was to iterate on our design based on feedback. Players felt disincentivized from getting close to enemies because the risk of dying in situations when they wanted to gain health was too great.
​
This solution addresses not only this feedback, but also incentivizes the player to move around the arena, and adds an additional layer of skill to the gameplay loop to clear the arena as efficiently as possible.
Level Tools
Enemy Spawner

I created a robust enemy spawner actor that gives visual feedback when working in the editor.
​
My goal was to create something easy to quickly place into a level and try different combinations of enemy types and formations.


Creating it in this way allowed total control by level designers. The math calculates the center regardless of the actor's placement making it very easy to use and customize.

Crusher
The crusher uses linear algebra to situate itself within a space.
-
Places mesh & adds colliders
-
Finds the center point between the meshes
-
Animates actor in level using tweakable exposed variables
-
Start delay​
-
Forward rate
-
Reverse rate
-
Delay after crushing
Reflections
This was my first experience as a technical designer and I had a lot of fun! Supporting other designers' work is incredibly gratifying and I definitely want to pursue technical design roles in my career.
​
If I were to do this again, I would do a few things differently.
-
The crusher's mesh can appear in nearby corridors if they're too close together
-
Needed more care in the art approach, lacking technical art knowledge​
-
-
The enemy spawner's formations were too limiting in practice
-
Discuss a bit more about designers intentions with a tool before starting and leave room for refactors​​​
-