My LinkedIn
[email protected]

I'm a gameplay designer with roughly 7 years in game dev including art & programming.
I love psychological effects in games, be it a feeling an ability produces, or events of systems leading to emotions and communication between players. During FutureGames' education I mainly designed and iterated on gameplay systems, player mechanics/abilities, and 3Cs.

Group projects

Time To Breach

Superhot- and CRPG-inspired ARPG

Role: Project owner, Gameplay & Audio designer
Team size: 8

Itch.io link

Thrall

1st-person horde slasher

Role: Technical gameplay designer, QA Lead
Team size: 16

Itch.io link

Spirit of Igneous

Turn-based tactics boss prototype

Role: Feature owner, Technical gameplay systems designer
Team size: 4

Ratatosk

3-Lane runner

Role: Gameplay designer, 3Cs
Team size: 14

  • 3Cs iteration with our programmer

  • Designing obstacle/collectable spawning patterns to create captivating moment to moment gameplay.

  • Balancing game difficulty and matching it with our main pillars; Accessibility, Empowerment and Fun.

Itch.io link

Lanthera

Puzzle adventure

Role: Gameplay designer, 3Cs
Team size: 15

  • Iterating on 3Cs and gameplay mechanics like ‘Block Pushing’ with our programmer.

  • Communicating with artists and designers to figure out how to convey psychological topics.

  • Using simple NPCs to present points of interest.

Itch.io link

Personal projects

Endless ARPG spell slinging & survival

Combat systems prototype in Blueprints

Role: Scripter, Technical gameplay systems designer
Team size: Solo

Cursed halls of Helm

Dark fantasy dungeon crawl, TTRPG Oneshot

Role: Game Master
Team size: 1 (+4 players)
Engine: D&D, Pen & Paper

Page WIP, sneak peek available :)

Looter Booter

Loot evaluation game prototype, a deep dive into C# structures

Role: Programmer, Technical gameplay systems designer
Team size: Solo

Time To Breach

Role: Project owner, Gameplay Designer, Audio Design
Genre: Top-down ARPG
Engine: Unreal 5
Timeframe: 2 weeks pre-production + 4 weeks
Team size: 8 (4 designers + 4 programmers)

Game description

Time To Breach is a slow-paced Action-RPG that takes inspiration from CRPGs and Superhot, and implements time manipulation as a core mechanic.

You play as a former TEA(Time Extraction Agency) commander — once loyal to the system — now a fugitive determined to breach into the asteroid mines and save her husband, who's condemned as “used material".

My contribution

  • Designed player abilities, comprising a flexible combat toolkit.

  • Tweaked game to match a desired level of control and pacing.

  • Created spatial UI images for ability aiming that describe functionality.

  • Kept our team's alignment to build the core gameplay and player fantasy within 4 weeks.

  • Strived to maintain a feasible scope without crunch.

  • Addressed issues in production and boosted team collaboration to keep the team up and running with a positive mindset.

  • Compiled feedback and bugs into actionable task lists for the team.

  • Balanced the game using results from multiple tests.

  • Enhanced the intended experience by separating exploration and combat with background music.

  • Conveyed the power, weight, and type of player abilities.

Gameplay design

Creating a 'Time Commando' experience

I translated our main character's narrative ...
A highly skilled sci-fi military commando with technology that allows her to manipulate time.

... into a tactical combat experience.
Slower-paced combat with bursts of action and tension.

The player character should feel clearly more powerful than her opponents, and so enemies produce serious problems mostly by overwhelming with numbers and surrounding the PC.

Core loop

To avoid player fatigue from non-stop combat, a maintainable pacing through-out the core gameplay loop is achieved by switching between exploration and combat like in most CRPGs.Exploration plays an important part in calming down the player after high tension and cognitive load in combat.

Combat loop

The player actively plans ahead through a bird's-eye view, attempts to perform effective action sequences, and takes breath shortly during time-slow effects before committing to new sequences.

Player abilities

I designed a flexible ability set with options for different engagement ranges, leaning into our pillars 'Control over combat' and 'Play as badass time commando'.The abilities got distinct visual identities from shapes that reflect their functionality, making it easier to understand when and where to use each.Ability usage is restricted by short cooldowns, encouraging an active in-and-out play style using Dash frequently between shooting-abilities.

Dash

To support burst-like combat, and how we aimed to create "I barely dodged it" -moments in the fashion of Superhot, I designed quick dashes to be used frequently as the main tool for avoiding getting hit by enemies' telegraphed attacks as well as creating or closing gaps.

Snipe

As an option for long range situations, Snipe got it's narrow shape for piercing multiple enemies in long corridors and catching enemies farther away in big rooms.To make the skill require situational awareness and difficult to use in melee, the ability's wind-up animation locks the PC to real-time for a moment while completely defenseless.
Disregarding this, many players used Snipe as a filler in the cooldown rotation like other abilities, making them vulnerable every once in a while.
Testing Snipe for its risk vs. reward proved that without piercing, it wasn't effective enough compared to other abilities' multi-hits.
Taking away the stagger or knockback effect made made this ability too underwhelming and lacking "The Juice".

Spread shot

This was planned to be a wave of automatic fire from side to side that could hit an enemy only once as a single hitscan, but after scrapping plans for combat stat systems (chances to hit etc.), hit declaration was based on projectile collision.This created challenges for balancing Spread Shot because all 5 projectiles could collide with a single target and deal extreme damage — up to one-shotting enemies — which changed the ability's affordances and created a shotgun.While having weak damage at full range, it can be used to stagger multiple enemies or easily demolish ones with wide hurtboxes.To reduce its power, stagger and knockback effects were weakened, and the projectiles do not pierce so one enemy may act as a meat shield for others.

Point-Blank

Quick iteration

Based on play testers' ability usage, this ability needed to evolve from shotgun-type, since its identity already existed in Spread Shot that could one-shot enemies at close-range.Point-Blank was made into a crowd control ability instead with strongest knock back, stagger effect, and a short-range AoE, hurting all enemies within range instantly.This solved some of the abilities' identity issues and combat balancing with reduced effort and greater payback compared to creating a new ability and/or modifying Spread Shot's functionality and/or visuals.

Possible improvements

  • Increase stagger duration.

  • Allow staggered enemies to be critically hit to make crowd control more rewarding.

  • AoE would work better as a cone instead of a box.

Time grenade

We considered if the enemies should be rewound in time which was technically possible, but I guesstimated it to be too complex and risky for a short project to move multiple enemies around and make it meaningful and balanced for combat because it would also be affected by AI's behaviour, so my choice was the slowing effect for the Time Grenade.Grenades are consumables due to their strength, and to use them efficiently, the player needs to time the throw with enemy movement.
To assist this, the time between ability activation and effect's start is always roughly the same no matter the throw distance.

Volatile grenade

A damage-type grenade is given as a solution to kill grouped enemies fast, but in play testing, we noticed that the player had too many powerful grenades.As a quick adjustment before end of the project, Volatile Grenade ability was taken away from the kit so that the player would rely more on gun abilities and Time Grenade, which already withheld the game's core experience and dealt with possible combat situations.The Volatile Grenade can be brought back by allowing uses of it more sparingly, for example when they explore and discover rare resource rooms.

No basic attacks

To create an experience with pillars 'Control over combat' and 'Player agency' in mind, I wanted each action to be decided by the player instead of taken for granted like repeatable basic attacks.Furthermore, a repeating attack would defeat the purpose of the slow-time core mechanic, because PC actions in this game initiate real-time.

A challenge for combat loop

There are short moments of waiting when abilities are on cooldowns, or the enemies are still approaching as the player has just opened a door, or the PC is positioned without a cover to run to.
This downtime feels unnatural to the gameplay, and makes it a bit awkward.

Possible solutions

A combat reward system

Add bonus effect rewards like damage boosts, cooldown reductions, or extra functionality like "Dash knocks enemies back" for the player when they use skills efficiently, making the abilities more efficient as well while promoting the intended experience.Cooldown reductions can be used to create a flow state for the player in cases where they keep ability sequences running without missing a shot for example.This rewards quick thinking and acting flawlessly — like a commando — while tying player abilities with the envisioned rhythmic and burst-like action.++ Rewards extrinsically for taking actions.
+ Rewards intrinsically through the momentarily lifted power fantasy upon player's success.
+ A simple cooldown reduction or damage boost is quick'ish to implement and test.
- Multiple new effects and added complexity take much more time to create and balance.

Gameplay-to-level connection

Add/adjust environment objects in combat areas to create covers and mini corridors to run through.+ Makes normal movement more meaningful.
+ Allows quick testing and iteration.
- Requires rework for most rooms.

A "last resort" melee ability

Add an ability that requires real-time commitment and sacrifices the PC's defenses, but doesn't have a cooldown like other abilities.Example;
A melee combo with looping attacks that can be used in real time and to lock one enemy in close-combat, making 1on1 situations favour the PC.
+ Rewards for taking action.
+ Positioning becomes more important as the PC is vulnerable.
- Requires more animations and extra attack functionality.

Project owner / team lead

Biggest challenges

  • Readjusting project scope while keeping the intended experience achievable.

  • Finding out what is feasible for a new team and each individual within 4 weeks.

Personal Growth

  • Deepened experience in design leadership and communication.

  • Learned once again how great listening is as a skill.

  • Balancing ambition with production constraints — Early delays helped me realize project scale and stressed me to lower the scope.

What went wrong

I scheduled an early alpha test for us, so that we could spot quickly how much time the core features would take to implement.We fell into this safety net because my scheduling was too optimistic and due to it, we postponed other playtests as connecting core features together took longer than expected although they seemed to work in isolation.

How I rolled

To adapt to the situation, I hosted tests for player navigation instead, to see if level design was going in a good direction, and that the 3Cs felt intuitive for the player including object interactions and camera features.

Setting project scope

Starting from Superhot-inspired CRPG game idea where you control only one character, the scope was reduced in size from common CRPG party management.

CRPGs often have complex systems that together build an immersive experience, so one of my highest priorities was to keep chosen features compact and within the 4-week scope without crunch.

I wanted the design team to pick only one or two main aspects of CRPGs as the core, condense it, and build other necessary supporting features around that.

We chose tactical combat to be the focus.

Assessing features for the scope

I discussed with teammates whether to include or exclude features based on the core experience impact VS. time & effort.

As tactical combat was accompanied by only light exploration to inject player agency and varying pacing.
Light narrative features like speech pop-ups were added to help bridge the gap between player and their character in order to build immersion and player motivation.

Cutting the Combat Stats-system

I planned to focus the gameplay on evaluating risks from varying damage values, chances to hit, crits, resistances etc., but early in the project I realised that to get to the game's core - which was heavier on the action side - the game wouldn't require this system.The player should be able to rely on combat visuals and deterministic sequences of actions they choose to perform based on their current situation, because the game asks for quick thinking and isn't pure strategy.

To reward the player for acting decisively and spending resources, a hit on the enemy should damage them on each successful aim.
More over, if player's actions lead to situations where they have to take damage, the reasons should be clear and fair, and not up to chances.
As examples; Dashing to dodge enemy attacks wouldn't be as fulfilling if there's a chance they'd miss anyway.
Committing to a dash and an ability shot only to see that you missed feels disappointing in this game because the player has specific expectations.
It puts the player in an uncontrolled position which is incohesive with our 'Control over combat' pillar, and works against a flow state and the ability cooldown rotation.

The impact of slow-time combat, a core feature

Time is slowed globally when the player is inactive in combat, giving a stronger sense of control than using real-time, while keeping up tension and forcing to take action.It reduces small frequent mistakes that are common in any fast-paced games that have a larger margin of error, and emphasizes our pillar 'Control over combat'.Engaging with multiple threats as a single character is made feasible, but there's still enough time to think and react with precision, leaning into our pillars 'Play as a badass time commando'.On top of allowing easy adjustments on combat difficulty, this proved valuable for action feedback and intrinsic rewards as testers “wowed” over slow-motion animations.

Fog of War for exploration

  • Creates a sense of progression.

  • Guides player to new areas without pushing the player.

  • Keeps up mystery and intrigue.

  • Used to surprise when revealed.

Pick-ups and object interaction

  • Act as resources. (HP, Grenades)

  • Finding key cards is part of level progress.

  • Nudges towards exploring and figuring out a path to items.

  • Rewards the player. "Shinies!"

Testing interactions

Interactables like doors and pick-ups caused frustration.
Testers thought they had interacted wrongly and couldn't find a way to succeed.
Factors included:

  • The interaction animation was slow and the player could cancel it accidentally by moving before the event completed.

  • The game did not give understandable feedback when receiving input.

  • The required distance for interaction wasn't clear to the player.

Improvements made

  • Interaction event fires as soon as the character gets to the edge of the interactable collider.

  • Removed interaction animations. The player can move away as soon as an item is interacted with.

  • If a consumable was picked-up, the action bar UI has a temporary notification.

Camera options for different players and situations

'Locked' mode allows players to focus on directing the PC second-to-second and reduces the cognitive load a significant amount in combat.'Limited free roam' mode was created to give the player a tool to plan paths without exposing the PC to danger, increasing the feeling for player agency.In playtests, I found both modes were used depending how comfortable the player felt moving the character and viewing off-screen areas or panning through combat situations at the same time.

Testing: big take-aways

Non-target audience

Biggest takes were level navigation, and UX and tutorialisation.Non-target audience showed me unintended and outside of the box-ways to play the game.
They were great for pointing out the biggest flaws in the general flow of the game, and made it easier to build a priority list of features to work on or even exclude from the game.

Target audience

Target audience tested the game in when the project was closer to the intended experience with combat. They could use abilities more efficiently, read and followed text prompts a bit more, and they started to optimize strategies earlier using tools that were given to the player.

These testers could show us if the game can capture the target audience, wear the badge of the genre, and point out new interesting mechanics or failed attempts that didn't meet their expectations.

Learning curve

The game's learning curve is steep, making the game niche. It was difficult for players to take in all of the different abilities and core features first time playing.The target audience managed to get into the intended experience and flow of combat faster, while non-target audience was often left wondering still at the end of the experience whether or not they understood their capabilities.

Players who had experience in turn-based games, or even fighting games, were the most likely to spend time methodically in learning and testing the combat functionality.I believe this behavior comes from the expectations in these games, where the point is to learn complex mechanics and use them as leverage to win.

Audio Design

Combat atmosphere

I analysed music in my libraries and looked for a piece that would create pressure on the listener to focus on a situation of life or death.Reason:
I imagined how the main character would feel inside her helmet while performing actions near her limits, and so the music I chose has an element that reminds me of heavy breathing.
In our commando's mindset, combat is a sequence of efficiently and flawlessly performed actions. That sequence has a rhythm to it, like a heart beat.The piece I chose has reverbarating percussion like hard impacts and forces a relentless rhythm that reflects the nature of combat. In conjunction with player ability design, it creates pulsating intensity in second-to-second gameplay.

Exploration atmosphere

For exploration, I chose a piece that gives off slight constant tension even while the player is out of combat.Reason:
The main character's mission is to breach into a chaotic and hostile environment, and even though they might be able to navigate the rooms and corridors with ease, in the mind of the commando, ambushes and other elements of danger are always to be expected.
Continuous chords of the digital instruments in the background often start fading away but then appear again, reminding of the persistent danger and vigilance of the main character.

Thrall

Role: Technical gameplay designer & QA Lead
Genre: 1st-person horde slasher
Timeframe: 7 weeks
Engine: Unreal Engine 5
Team size: 16

Game Description

Doom- and Darktide-inspired horde slasher that immerses the player to experience combat first-hand through the perspective of a half-resurrected king.

Take revenge against traitors with great slaughter. Moving from body to another, possessed minds of soldiers reveal your past and unveil what lies behind the tragic events.

My contribution

  • Co-designed combat loop, classes, and mechanics.

  • Designed a distinctive gameplay feel and intended experience for player- and enemy characters.

  • Designed AI behaviour that complements player mechanics.

  • Balanced classes through playtests.

  • Processed feedback into actionable tasks.

  • Implemented and iterated on 1st-person and enemy combat features.

  • Worked with programmers and connected combat mechanics to animations and AI.

Gameplay design

Co-designing combat gameplay

Classes

The gameplay revolves around possessing enemy soldiers, so all enemy classes were created also as 1st-person player classes.Using common archetypes as understandable starting points: Knight(melee), Marksman(ranged), and Mage, we designed 3 combat classes, of which 2 made it to the final version. These 2 classes, melee and ranged, were enough to make the game interesting and keep it within scope, so the Mage was left as a backup.In addition, a non-combat class is an invisible ghost that the player uses for exploring and choosing the first body to possess.
It's also used for resetting the player between arenas..!

Distinctive feel


I worked with animators to develop an immersive power fantasy and distinctive gameplay feel for player- and enemy characters in 1st-person combat where you are..

.. wielding a claymore with ease and can plow through hordes of enemies while possessing a knight's body.

..or controlling a body of a marksman for a change in tactics and cranking heavy crossbow mechanisms with bare hands.

As we started discussing with animators, I sent a quick video example and description about the intended experience and narrative so that the player character's supernatural strength could show up in both melee as well as crossbow animations. We also aimed to match it with aggressive push-forward gameplay mechanics.

" Feel free to add emphasis on supernatural strength or magic! The weapon / arrow can become imbued visually (VFX), and will shoot a faster arrow as well.The possessed bodies should feel more powerful, aggressive and reckless than the other normal human animations. In comparison, a crossbow enemy could use their leg and full body to reload for example "


Gameplay goals & balancing

10+ enemies VS 1 player

While co-designing gameplay with multiple designers, we aimed for a balance between braindead fun and working hard to win with
'aggressive' 'push-forward' gameplay that "keeps you on your toes".
I designed player mechanics and enemy AI behaviour to compensate for the unfavourable hordes of enemies, and to keep the player active and reactive second-to-second.

Solutions

To destroy enemies more efficiently and provide a power fantasy:

Player melee class

We gave the melee class a huge 2-handed sword with an AoE-like horizontal attack to mow down enemies.Extending the range of the sword collider much further than the actual sword model helped the player to perceive engagement distances correctly, though in reality they were skewed in favour of the player but felt accurate due to 1st-person perspective.

Player ranged class

I changed crossbow bolt from single target projectile to a piercing "Linear AoE" to balance it with the powerful melee class.
The ranged class felt weaker so I increased attack & reload speed drastically.
I added headshot colliders to let bolts one-shot enemies if aimed well. This kept the gameplay leaning towards our pillars 'Aggressive' and 'push-forward'.

Enemy AI melee class

Melee enemy AI surrounds the player and attacks in turns instead of all at once to balance combat and create a fight scene where you feel the horde's pressure but don't get completely stomped by it.

Enemy AI ranged class

Enemy rangers only shoot after a lengthy and visually clear reload time, and run away for a few seconds if the player is close until it's forced to stop, aim, and fire to let the player catch them sooner than later.

Both player classes needed to have approximately the same "time-to-kill x-amount of enemies" in most common situations.
When I realized that it's easy to calculate the amount of enemies hit per attack in my head, I could balance the two classes fast with collider adjustments, attack speeds, and damage values.

Implementation and iteration

Melee

Power fantasy challenge

In early alpha testing, players often crowned the crossbow as the better option because they could run around kiting, and felt afraid in close-combat. Even with a huge claymore in their hands.

I found that the problem was how enemies had no special reactions to getting hit, and swung back at the player anyways which led to obvious HP loss, but also created a feeling of being prey instead of being the predator.

Iteration

A sense power fantasy and being in control comes from impacting other objects or beings.
Taking away an enemy's ability to act and displaying a stagger-animation does exactly this and encourages players to go ham.

We added a stunned state for enemies when they're hit, along with a strong knockback from sword hits.
Even though a piñata effect is fun, we reduced the amount of attacks required to kill and set it to 3 hits. This equals to ~1.75 seconds to kill an enemy.

Combat flow challenge

Player's heavy and slow sword attacks that sell the weight of the action led constantly to situations where they have to wait for the start of a new swing.During this time the player's movement is normal which creates a floaty feeling and a lack of groundedness becuase the fast character movement speed doesn't match with the feeling of the swing visually, nor mechanically.

Iteration

To help the player push forward, the attack was made more valuable by increasing the reach of the sword collider to hit many enemies with one swing, a knockback effect, as well as states and animations for stunned enemies.

Possible improvements

Add a noticeable slowdown to movement speed during-, and after attacks to make the player feel more grounded and require more commitment, and a slight dash forward at the start of an attack to keep the player in range of knockedback enemies.This makes PC more stationary and vulnerable to ranged attacks if the player keeps swinging at hordes.

Ranged

Class balancing challenge

Once the melee felt appropriate to play as, the ranger needed a glow-up. Shooting a single bolt with slow and weighty reload animations in lacked in killing power and made players retreat.Below: Seeing early footage of players running away in combat boosted our intention to make the player feel more powerful.

Iteration

1.
I tried bolts that pierced to make each shot count multiple times. I was afraid it was too powerful, so I asked our crossbow programmer to implement a tweakable maximum amount of pierces, and projectile slowing for each pierced enemy.
2.
The weapon's power was still too low as it still only killed enemies from 2 slow attacks even though it hit a few more enemies. Seeing the slowed bolt also felt weak.
The player had to stop or manuever around which was incohesive with our 'Aggressive' and 'Push-forward' pillars.
The crossbow needed a more immediate effect on situations where hordes are charging and trying to surround you.

3.
I increased attack & reload animation speeds, and removed any slowing effects from the bolt which naturally made it strong.
Down-side:
Faster animations caused us to lose their original intentions as the details and motion couldn't be seen properly.
This is why we avoid creating animations too early!
4.
The final addition was to let headshots one-shot enemies. Now player skill mattered more, and the player could push through enemies much easier.

Possible solutions to get closer to original animation without losing power

Lower player attack speed, but make bolts very fast!
Headshots should be the goal, so widening collision on heads/bolts and making AI's movement less twitchy will let the player rely on their aim.
Increasing enemy stun duration from crossbow hits also makes enemies less scary while still keeping the crossbow weaker against multiple surrounding enemies because of the linear nature of the attack.Strengths and weaknesses encourages switching bodies frequently!

Responsiveness and Input feedback

A slight anticipation in heavy animations gives a powerful feeling just before the sword hits enemies. It activates blood splatters, hitmarkers on the reticle UI, and hit SFX.

Input buffer

First sword attack iteration felt a bit tedious to use, since starting a new swing was only possible after a swing animation was complete.I created an input buffer to have a smoother swinging experience.
It resets a boolean with an animation notification on a specific frame, so that the player can make a commitment to a new swing near the end of an attack.
I decided not to implement animation cancelling mechanics to intentionally interrupt attacks because I want the player to commit to aggression and have a rhythm, especially when it comes to melee.

Attack timing and distancing from enemies is part of the moment-to-moment gameplay thinking.

Future improvements

This buffer can also be used for an additional mechanic that supports the push-forward design pillar.e.g. An attack speed/power boost that gets activated if the player inputs a new attack within the input buffer time frame.This effect could stack a few times for each succesful hit, and reset on a miss.

AC_Melee

BP_MeleeHands

ABP_Hands_Sword

Post-project scripting reflection

I prototyped many 1-st person features for Thrall, and most of those scripts stayed in the final version due to lack of time for cleaning up during production.
As I reflected on my panic spaghetti, I learned to avoid unnecessary casting in blueprints, and to use interfaces instead for more optimized communication.

I applied ragdolls with impulses to add a last layer of fun and impact.

My LinkedIn
[email protected]

About me!

Combining wide perspectives and knowledge led me to believe that design was something I'd love, and so I did!
BUT! I actually started my game dev journey as an artist in 2017.
I graduated from uni with a major in game graphics, and soon after, decided to learn more about game programming to bring my ideas to life.Psychology and human behaviour have been some of my favourite topics to learn about — and perhaps linked to this —
my personal interest in games peaks in co-op experiences with dark medieval fantasy! 8)
Though, I do love playing all sorts of games from fighting games and TTRPGs to puzzles and racing games.I balance cave life with athletic and adventurous things like bouldering, gym, cycling/mountain biking, and hiking. I wish to travel, experience, and learn new things whenever I get the chance!

Located currently in Stockholm, and very open to relocate. :)

The Sealed Spirit of Igneous


Temp vid - Design montage WIP!

Role: Feature owner, Gameplay system designer
Genre: Turn-based tactics boss encounter
Engine: Unreal 5
Timeframe: 3 weeks
Team size: 4 designers

Boss prototype description

  • A narrative set piece, Omnipresent in story.

  • A Force of Nature, Static boss.

  • Arena Shift, AoE attacks, clockwork-like attack patterns.

  • A Significant brain exercise on cognitive load and short-term memory.

Work overview

Feature owner

  • Scoping, scheduling

  • Kept project direction aligned

Technical gameplay design

  • Objective systems

  • Player attack and object health logic

Prototype overview

Play as two champions who have been chosen to vanquish the raging spirit of the volcano.
Your village’s future depends on you!

Narrative

Volcano on an island, and a village around it.
Every 100 years the volcano erupts. The religious village chooses two champions to defeat the spirit of the volcano in order to stop the eruption.
It's the culmination of the champions’ journey as they have ventured up the mountain path from their village.The fight takes place in the caldera of the volcano, where the fiery intensity of battle shakes and changes the arena floor as the spirit gets more agitated.

Game challenge

The player must learn the boss's arena gimmicks(moving wall structure), use action economy efficiently, and be vigilant of numerous boss attacks to move two characters safely and reach objectives.Optimally, the two characters are used in tandem to deal with obstacles and objectives'Simon memory game' mechanics requires the player to keep attention on boss attack patterns. Because the encounter requires using the player's own short term memory, the quicker the player's decisions are, the better chances of survival they have.

2 Phases

Defensive

1. Boss is invulnerable.
2. Avoid AoE attacks in Simon memory game style.
3. Fight your way through the arena's shifting walls and falling rubble, and destroy obelisks that keep up the boss's seal(shield).
4. Destroy 3 obelisks to activate phase 2.

Aggressive

1. Boss can become vulnerable
2. Boss attacks more frequently
3. Additional direct attacks towards the player like sweeping "lasers" and a cone of fire.
4. A power-up pick-up spawns to previous Obelisk locations, for the players.
5. A powered-up character can stun the boss, for the other character to deal damage to it.
6. Rinse and repeat until boss dies.

Feature:
Obelisks that I created connects to the whole encounter design since they point where the PCs need to move towards while trying to get past walls and avoiding boss AoE attacks.
The Phase 2 power-up spawns at previous Obelisk locations also force the player to travel to one of these points which is always the farthest away from the two characters, and this was designed so because I wanted the players to use the whole circular arena for the battle. It wouldn’t be smart design-wise to use a circular arena if the player didn’t use a part of it more than once.
Player character attacks that I created give agency to the player by letting them destroy obstacles plan how to progress through the level. They also connect with the level’s layout and destructible walls since choosing a path means not only thinking where you’re moving but calculating how many action points you have left and whether or not you should use them to destroy a wall.

My best work:
Probably the most important technical work for the project itself was setting up attack logic and keeping all interaction systems and objects working with it.
This includes rules like which character is it, what are you attacking at (destroyable wall, boss, destroyable objectives or their shields), how much damage does it do, how taking damage affects other systems, or if something is destroyed what else needs to react to it, like a chain reaction.
Honestly, I feel that my best work was the design work and effort I put in for all parts of this clock-like boss encounter to work in synergy. This includes collaboration with the other designers and keeping an eye on project production time.

What I learned:
Team & Project management!
As I started to understand what each team member naturally leaned towards in development, I tried to plan in my mind if we had everything covered in terms of in-engine work for mechanics and kept estimating the amount of time needed until we would have a testable proto.
I kept tabs on what everyone was working on and if they had blockers etc., and I was able to have the team work on design and implementation that was of the highest priority. Most of the time😊. On a few occasions important communication didn’t happen and that led to a small part of a system being scrapped, so I also learned to encourage communication and updating other team members on completed and current tasks.
I learned what turn-based games need to feel interesting, like how the player is engaged when they need to estimate things and act based on their assumptions or take risks, or when they see what surprising events occur on an enemy’s turn.
The player engagement does not mainly come from anything like second-to-second feel like in action shooters (though it still helps in immersion and feeling powerful etc.), but the interest of reading situations or trying to get a better insight on a concept through trial and error, or just plain brainwork and deduction. For example, in our game the player would need to look at the bosses’ attacks as well as how the changing level structure works to not get hit, and the tension builds up as the PCs get closer to objectives or hitting the boss.
Each turn acts as a new puzzle to solve.

Playtest:
I hosted 5 tests for our game.
All tests were non-functional testing and were used to see how the testers act and react in the game, as well as to see how well they understood how the game works and what made them confused or frustrated.
I gave the testers information on the setting/narrative, controls and what the player would know already about mechanics by having played the game until this boss. I also asked their opinions on different aspects like movement and action allowance, which weren’t tweaked a lot, and seemed to fall in place without greater issues.

Further development:
- Iterate on Phase 2 power-up spawn logic or make the MacGuffin more interesting with additional mechanics/rules.
- Fix: Collision bugs where characters might get stuck inside a wall that is elevated.
- Make a dynamic camera that changes perspective depending on which state of the game is currently.
o Allow for camera rotation and maybe movement on the horizontal plane.
o Problem: Camera movement might make the player forget boss attack AoEs faster.
Instead test isometric camera or lower FoV etc.
- Give players an extra ability. Raising a wall or a shield, dodge with a turn-based cooldown.
- Fix: Action points should be consumed based on distance travelled on ground, not only when mouse input for movement is held down.
- Experiment with new environmental objects and hazards!
- Experiment with ads (small enemies)
- Give the boss a spherical attack around it if a player character stays at melee range.

Dev Log

Week 1

Outlined the whole prototype (base narrative and main mechanics), so that the team knows what we’re after.

I made quick a camera test where the camera wouldn’t reposition itself, but would look towards the midpoint between 2 PCs and the boss.
This didn’t work well because PCs could move to the edges of each side of the view, and the mouse cursor couldn’t be used for navigation.
Navigation and player sight would also be obstructed by the environment.

Paper prototyping,
Setting up the attack mechanic,
Created logic to randomly raise and lower specific walls to make the level dynamic.
Ideating player objectives in the arena. Thinking how a destructible structure / object would work in 2 different phases and offer meaningful reasons to move around in the level.

Game objective

Week 2

Trello task tracking setup.Reflecting on previous week’s design:
A problem:
Randomly placed and activated enemy AoEs can mean unmeaningful attacks and de-escalate the development of the encounter.
A strength:
We can decide how and when to launch attacks against players, be it individual turns or the bosses’ turn.
A bonus:
A bonus is that the player decides naturally which AoEs are important to remember and possibly disregard others, while the game still seems like a chaotic volcano environment.
Creating objectives (obelisks) to destroy. They also have walls around them that rotate each round to protect the obelisk.
Boss checks how many obelisks are left.
Setting up:
• Game mode
• Obelisks
o Move down when destroyed
o Has walls around it and rotates
• Phase 2 idea for Power-ups
o 2 possible versions:
1. Character picks up by walking into it, and their attack then sends boss into a vulnerable state.
2. Character stuns instantly boss by walking into into it.
• Boss
o Goes through checks for obelisks and current phase to use specific attacks.
• Concerns about “clock hands laser “
o How much should it turn per round?
o How should the level be laid out to give the player tougher decisions to make for pathing?
• Camera should show the arena better
o Doesn’t allow for accurate aiming when characters are far away from the camera or behind obstacles
• Implement pacing for boss attacks, so that they are not shown all at the same time.• Made a purely as visual "falling boulders" as better indicators for when damage triggers from the “scatter attack”.Hosted first playtests at the end of week 2!

Week 3

Planned for final week with the team, hosted more playtests!
Bug fixing AttackTrace that wastes AP without having valid targets and created turning walls for Phase 1 Obelisks.
Finalized Phase 2, although the boss was still bugged. It kept staying vulnerable after getting stunned, but otherwise worked.
So, the prototype works. You can stun the boss .. MacGuffin spawns correctly farthest away from the average position of the two PCs
.. and boss starts attacking again after you've hit it out of the stun and all..!Made quality of life changes like aim trace, obelisk, and MacGuffin colour tweaks.
(Final presentation!!)

ARPG Prototype


Role: Technical gameplay systems designer
Engine: Unreal Engine 5
Timeframe: 4 weeks
Team size: Solo

Prototype description

I solidified my scripting skills with clean and modular structure while feeding my curiosity with mechanics that I've spent time with throughout my life;
Abilities, Status effects, Ability manager, Enemy and ally AI, Round progression, and spawners.
I iterated on feedback effects as playtesting proved hit effects to be unclear.

Abilities, Manager, Status effects

I created these features with tweakable variables and flexibility in mind to make the experience suited for heroes and enemies alike!!

3 abilities

I created Acid spray, Bubblebeam, and Frozen Orb that use a Data Table for their stats, so it's easy to adjust or make new ones with new behaviour! Each filled with love and/or nostalgia.

Ability data table

Like other abilities with more than 1 projectile, the Frozen Orb actor pools a set amount of BP Ice Spikes based on 'projectileAmount' and 'cooldown', and launches them with adjustable intervals, speeds, etc.

AC_AbiltiyProjectile_FrozenOrb

BP_Projectile_FrozenOrb

Status effects

Because who doesn't love forced impediments in gameplay. They create sudden challenges in second-to-second gameplay, and enhances the power fantasy for the player who's causing them.Poisoned and Slowed/Cold status effects are processed in AC_Health when "ProcessHealthChange" is called.In future development I'd implement a status effect component to separate this from health related events and make it modular.

Ability manager

Takes care of ability calls and deals with resources.

Dealing with tedious setups for ability component calling sparked my curiosity, and I thought of a way to call only one event from input and have the right ability component be called via index by finding the numerical input key value.A neatly tied package with a new automated way of calling abilities:

AI

Enemy melee

To avoid hitting the player instantly anytime they're within attack range, I prototyped attack waiting times with variance that sometimes gives the player a chance to move out of the way.

Ally healer and 'Restore' ability

An invincible Ally follower that restores HP and MP periodically.
As an extra challenge for the player, this ally can get stuck behind enemies. Leaving it behind means that the player will have no ways to heal, and only slow mana regeneration for spells.

Game mode and pacing

Round progression

Each round advances in difficulty. More enemies spawned, more egg demons to freeze.

BPs Coming soon...

Spawners

Enemy spawners set the pace of the game.
Empty them all and win a quick advancement to the next round..!

BPs Coming soon...

Cursed halls of Helm

Role: Game Master
Engine: Pen & Paper
Team size: 1 (+4 players)

Oneshot decription

This oneshot introduces new players to different sides and strengths of DnD and TTRPGs like strong player agency and reactive worlds.
The group wished to experience a gritty dark fantasy dungeon crawl with blasphemy and faithless looting in an unforgiving world.

Theme and tone

To design a dark onehot, I created scenarios where the players are provoked psychologically to teeter on the border of good and bad morality.Each player character was prepared take deadly risks in order to gain power and wealth.Benevolence in this story means a taking heavier path with greater intrinsic rewards through righteousness, while malevolent or highly selfish choices show an easier or faster way out and even rewards the players extrinsically with powerful loot and more gold.Evil in this story relishes in blasphemy of benevolent gods, especially Helm, and gains power from twisting their followers into dark cultists.

Page WIP, working on it diligently. 3:)

  • Modified DnD 5e encounters.

  • Abilities.

  • Status effects.

  • Custom story.

  • World setting for a dungeon crawl.

Combat & System design

Cursed church of Helm, Dungeon level 1

Main encounter: "Preach"

First introductory combat encounter sets an obvious target on an evil priest who preaches heresy to enthralled villagers. This is the second big connector to the lore after the two neutral NPCs at the entrance.

  • The direction for approaching is wide enough to let PCs spread, but it reduces the possibilities a Game Master needs to prepare for and guides the players to engage.

  • Narrative lures the players to walk in the middle of enemies before engagement.

  • Pews and pillars for cover.

  • Players may listen before making contact.

  • Stirring the priest's attention causes braziers to light up on both sides for dramatic effect, revealing the priest's empty eye sockets.

Possessed priest of Helm

Modified Priest stat block
Commands its villager thralls and casts cleric spells using a metallic symbol of Helm.
Once the priest dies, villagers can be commanded by holding the symbol of Helm. Their enthralled state ends within 24h.
Added spell: Sanctuary.
Buys more time for thralls to attack the players and might force them to kill some when they act as meat shields.
The intention is to make the PCs a bit uncomfortable fighting villagers who are forced to follow commands.

Enthralled villager

Modified Acolyte stat block
Villager thralls attack with clubs and can cast cure wounds on enemy priests.
Villagers may be saved by killing the priest first. This will leave the villagers in an otherwise non-responsive state, but they can be commanded by holding the symbol of Helm that was used for the enchantment.
After 24h they will wake up to the horrors they've witnessed.

Imp

Imps, transformed into rats, .
When an imp is reduced to 0HP, or when it enters the church, they transform to their original form.

The Crypt, Dungeon level 2

Players descend to the 2nd level's claustrophobic corridors through a pair of stairs.

Main encounter: Blind paladin and Possessed priest of Helm
Claustrophobic corridors, a hulking undead paladin, and a possessed priest of Helm commanding it.
Originally I wanted to create a scenario where the players could notice the paladin+priest duo from further away and sneak past them by hiding in tight spaces between stone walls and rows of caskets.If the player's would be seen, they'd run through the corridors trying to avoid getting cornered or halted by the paladin's command spell.Learning from our first session and being under time- and physical constraints, I managed to create a more linear experience that would be quicker to play through, hoping we'd finish the two last dungeon levels of the one shot.

Possessed priest of Helm
Modified Priest stat block
Wields 'Cursed idol of command'
Ability: Grant unholy vision
Duration: 1 round.
- As a bonus action, point to a target location within 60ft. At that location, a 15ft. diameter sphere of wispy magic appears and enemy creatures in it need to succeed on a Dex saving throw DC 14 or be lit by this magic.
Failed creatures are visible and targetable for the Blind paladin of Helm.
Blind paladin of Helm (Fremont)
Undead. Blind. Blindsight 10ft. Resistance to psychic damage.
HP: Originally 52.
As it was too easy for four lv3 characters, I increased it to 62 and 72 during a couple rounds to keep the tension (and the dignity of this hulking undead paladin).
AC 15 (Half-plate)Great sword. Melee weapon attack. +7 to hit, reach 5ft., one creature, Hit: 10 (2d6+4) slashing damage.Ability: Modified Command "Grovel"
- As a bonus action, Fremont chooses a target and points towards it.
- Target needs to succeed on a DC 14 Wisdom saving throw. On a fail, fear strikes the target and they go prone at the start of their turn. Their turn is spent in fear, groveling to be spared.
- An affected target is considered visible to the paladin. The paladin will attempt to approach the target and attack it with the greatsword.
Ability: Necrotic slash
- 3 uses per encounter.
- Requires the summoner to cast 'Grant Sight' succesfully on creatures or objects.
- Uses a heavy great sword to cast a 15ft. cone of necrotic energy that deals 3d6 necrotic damage on a failed Dex save. Half damage on a successfull save.

Domain of Anekloth, Dungeon level 3

Players enter the last level through a pool of blood and bones that sends them to Hell.The Matriarch (possessed by devil Anekloth) beckons the party closer to weave them into devilish pacts, securing its safe position.And of course players want to just punch it in the face.

Corrupted Matriarch of Helm (Anekloth)Lair actions:
Ability: Summon blood rain.
- Components: Verbal, Somatic.
- As an action, summon dark red clouds above target location. Heavy blood rain soaks the ground within 15ft. radius.
Ability: Summon blood spikes.
- Components: Verbal
- As a bonus action, choose up to 5 creatures standing on bodies or pools of blood, each at least 5ft in diameter, within 30ft from caster.
- Chosen creatures make Dex saving throws DC 12. On a failed save, spikes of blood pierce the creatures and deal 2d4 piercing damage.
- The Matriarch heals half of the damage dealt as the spikes liquify, fly towards get absorbed into her body.
Ability: Summon skeleton warriors.
- Components: Verbal, Somatic.
- 1 use per encounter.
- Spawn 4 skeletons warriors (Skeleton stat block)
This is to balance the action economy, present additional targets to keep all PCs occupied, and lastly to establish dominance over death.
Minion improvement ideas
- Use Lemure stat block as "Blood Golems" and/or Blood Memphits as minions instead of skeletons. They'd fit better with the scenario in Hell and the bloody theme.
- Use a bulky devil as a bodyguard that charges and pushes one of the PCs to distract them from simply nuking the boss.

Oneshot structure

Player and game expectations

I expected my first-time players to experiment with freedom, so I presented events that ramp up in stakes and difficulty on each of the 3 levels of the dungeon to teach about TTRPGs' reactive nature.Knowing that the players would take unexpected turns, I kept an open mind and flexible setting for unplanned possibilities to give the players agency and rewards for their actions.

A provocative setting

The loot hungry PCs were set on a quest where they'd witness the downfall of a church of Helm, one of the last bastions of benevolence in the region.The big hook in addition to survival and looting is the representation of evil in the environment and NPCs.PCs witness sacrilegious acts against the religion of Helm, and to twist the knife, one of the PCs is a cleric of Helm. This puts social dynamics of the party to the test and produces natural conflicts, since all PCs are focusing on finding riches or power and getting out alive. This helps doubling down on emotions produced by a dark world and avoiding purely mechanical dungeon crawl.At the culmination of the story, the players fight against a foreshadowed matriarch of the cult and are expected to escape from its domain as its death ends a spell around the dungeon which releases a horde of devils into the world.

Church of Helm, Dungeon level 1

Start
Players were eased into roleplaying in-character as soon as they entered the stage.
They may talk with a hysterical cleric who utters a few words about someone taking their companion's mind.
The cleric will die from bleeding if not healed, which offers another opportunity declare whether a PC is a force of good, or someone who's here to find power, riches and focuses on their own survival.

Main interest of the level
A preacher and villagers are the first things that the PCs could see or hear in the main hall. By sneaking, they'd hear about sacrilegious acts against Helm's religion.
PCs could also talk with them to reveal something more specific like The Matriarch (main boss).
...Or they can attack without asking questions!
Optional exploration
A chapter house with books to browse allows finding out about recent events. This is another way of foreshadowing The Matriarch (main boss).
A small outdoors area with thick invasive red fog that inflicts a permanent 'Dread' status effect on a failed Charisma saving throw.
This effect forces a disadvantage on mental saving throws, affects conversations, and affects how unholy enemies sense you.
Imps transformed into rats lurk about, gather to eat corpses on the ground and attempt to enter through open doors.

The Crypt, Dungeon level 2

Below are 3 iterations for dungeon level 2, The Crypt, out of which I had to choose one that goes with the criteria:
- Introduces a new PC to the party with the smallest risk of getting accidentally ignored by other PCs as they explore.
- Includes narrow corridor(s?) where the hulking undead paladin would be more terrifying.
- Includes a grand entrance to the last dungeon level.
- Fits two A4 print papers while keeping the correct scale for minis.

Item design

Helm’s Conviction, Glaive +1

Description
A metallic spear with a hefty leaf-shaped blade that curves slightly at the tip, and an octagonal pure silver shaft with a round brass hilt.
Effects
Heavy, Reach, Two-Handed, Mastery: Graze.
You have a +1 bonus to attack and damage rolls made with this magic weapon.
While attuned to this weapon, its attacks’ critical hit threshold is reduced by 1.Helm’s Conviction can be unsummoned and summoned to and from the user’s hand to a pocket dimension with a bonus action. Summoning is blocked by solid objects and creatures. There needs to be enough space for the weapon to appear.
When unsummoning, it cannot take anything with it to the pocket dimension.

Set: Helm’s Tenet
1. Helm’s Conviction (Weapon, Glaive)
2. Helm’s Bulwark (Shield)
Helm’s Conviction’s set bonuses with Helm’s Bulwark:- Ignore the ‘Two-Handed’ property on this weapon.Helm’s Tenet set bonuses (2 pieces):- While attuned and wielding Helm’s Tenet, gain the feat ‘Observant’. Ignore its requirements and choose from its options upon attunement completion.Observant
Increase Intelligence or Wisdom score by 1 up to a maximum of 20.
Choose one skill from list:
Insight, Investigation, or Perception. You gain proficiency in it if you didn't have it, you gain Expertise if you had proficiency in it.
You may use Search action as a Bonus Action.

Helm’s Bulwark, Shield +1

Description
-
Effects
-

Set: Helm’s Tenet
1. Helm’s Conviction (Weapon, Glaive)
2. Helm’s Bulwark (Shield)
Helm’s Bulwark's set bonuses with Helm’s Conviction:-Helm’s Tenet set bonuses (2 pieces):- While attuned and wielding Helm’s Tenet, gain the feat ‘Observant’. Ignore its requirements and choose from its options upon attunement completion.Observant
Increase Intelligence or Wisdom score by 1 up to a maximum of 20.
Choose one skill from list:
Insight, Investigation, or Perception. You gain proficiency in it if you didn't have it, you gain Expertise if you had proficiency in it.
You may use Search action as a Bonus Action.

Ring of the Torchbearer

Description
A translucent bronze ring enveloped by shimmering circular patterns on its surface that move slightly in constant motion. Something glimmers inside it, like clusters of countless tiny stars in the night sky.
Effects
You can cast both Augury(modified) and Aura of Vitality once per Long Rest. It recharges during the next dawn.
If you die while attuned to this ring and you’re wearing it, you are brought back to life with 3d6 health, everything within 5ft is knocked back 10ft from you by force (DC 18 Strength save) and any harmful effects and physical objects are removed from inside your body. Mortal injuries are healed.If this happens during combat on another combatant's turn, the effects take place at the start of your next turn.The ring captures your soul and it joins countless of others in boundless space within the ring.Your body becomes the vessel for those before you, and for those who come after. It doesn’t age or require sustenance. Your body cannot be brought back to life, nor turned into an undead creature.Every time this ring brings a creature back to life, they experience a random death event from one of the bound souls.After being brought back to life, the next time you die, your corpse will slowly wither like a hollow ashen husk.

Augury (modified)
Level 2 Divination
Casting Time: 1 minute
Range: Self
Components: V, S, M (specially marked sticks, bones, cards, or other divinatory tokens worth 2+ GP)
Duration: Instantaneous
(modified to fit the lore of the ring)
You seek guidance from the torchbearer souls inside the ring about the results of an action you or another non-hostile creature wish to take within the next 15 minutes.
The souls(DM) answer telepathically with cryptic wording, flashes of another being's memories, and strong emotions.
The spell takes into account your own memories and knows about the nature of the situation including the alignments of relevant creatures and objects and possible conflicting or aligning ideals on the action.Aura of Vitality
Level 3 Abjuration
Casting Time: Action
Range: Self
Components: V
Duration: Concentration, up to 1 minute
An aura radiates from you in a 30-foot Emanation for the duration. When you create the aura and at the start of each of your turns while it persists, you can restore 2d6 Hit Points to one creature in it.

Narrative design

Narrative of Dungeon Level 1

The church is trapped in a hellish pocket dimension.Possessed priest preaches to enthralled villagers. When the priest spots a PC, they urge them to approach and talk about the situation and heavy burdens of the current world state in a twisted manner. They promise salvation and holy power in exchange for only their willingness, and their sight, as sacrifice.Everything about their actions and words is complete blasphemy to the religion of Helm. (Religion skill checks to know more about Helm)Since the player party has a cleric of Helm, the possessed priest will attempt to sway them with "newly found evidence" of religious history.
The priest claims "The old texts were wrong about Helm's innocence and that in truth, salvation lies in taking away our sight from Helm that in irony, we offered away so blindly. No more shall he peer through our eyes.."
If players refuse the proposition, their sight will be taken by force. (Enter combat)


Role: Programmer / Technical gameplay systems designer
Engine: Unity
Timeframe: 5 weeks
Team size: Solo

Looter Booter

I improved my C# skills in a short-length game project by programming boot strapping with addressables and controlling order of execution with pure C# scripts instead of relying on monobehaviours.The game throws items at the player for evaluation.
Their value is based on attributes with guided randomization, and the player needs to decide under time pressure whether or not to keep the loot or toss it away.

Boot strapping

Video

Items, attributes, and their values

Video

Gameplay code

Video

Old..

Video

..Versions

Video