OCT // 2020
STEALTH PARKOUR
Level • 2 weeks • Unreal
An action-heavy stealth parkour level where the goal is to take pictures of suspects without getting caught.
ABOUT THE LEVEL
-
Co-created in 2 weeks together with Fannie Lorant
-
Unreal Engine
-
Assets from Synty's Simple Port and Polygon Pirate Pack
-
Inspired by Mirror's Edge
CONCEPT
GOALS
A politician has been rumored to strike deals with a local mafia lord. Your mission is to take pictures of the suspects. Double-jump and wallrun your way through a stealthy yet action-packed level without getting caught by the enemy guards.
Full-length playthrough of the level at the bottom of this page.
-
Improving my level design skills by implementing level design principles such as framing, composition, affordances, beats, and structure.
-
Work on my scripting skills by implementing player movement, enemy AI, and mission system tied to a narrative.
DESIGN THINKING AND PLAYER GUIDANCE
Click the arrow ">" for examples.
BLUEPRINT SCRIPTING
I scripted almost all of the in-game functionality. Player movement and UI is stored in the player character blueprint.
The photo mode was made using scene capture components and render targets.
The enemy AI is controlled with a behavior tree and switches between patrolling and shooting at the player on-sight.
Double-jump
Wallrun
Photo Mode
Zipline
Patrolling Enemy AI
PLAYER BLUEPRINT
Zoom and drag (right click).
ENEMY AI
Take a look at the level from start to finish.
PLAYTHROUGH
DEC // 2019
TITANFALL 2
Environment • 1 week • Unreal
A map I made, where I tried to improve on the level design of Titanfall 2.
⬤ Wall-run bits
⬤ Ammo pick-up
Titanfall 2 is one of my favorite FPS games. It is often praised for its amazing level design. That's precisely why I wanted to analyze it to see if there's something I could do to make it even better.
For this project, I set-dressed a small portion of the first level in the game and tweaked its level design. I built the map using free assets from Unreal's Marketplace.
You can click through my suggested iterations in the carousel showreel below.
BEFORE AND AFTER
Click the arrow ">" for examples.
FEB // 2020
MODULAR RAFT
Prototype • 2 days • Unreal
A prototype for a game where you control a raft made out of tiles that you can pick up and re-attach.
CONCEPT
I originally scripted the prototype as one of the main mechanics for FLOT. But the feature was later cut in production. I was inspired by the pick-up-and-drop mechanic from Overcooked and thought, what if the same principle could be applied to the ground your standing on.
In a later Ludum Dare I was happy to see that someone else had come up with the same concept and turned it into a little game. It's called Pink River. Try it if you haven't already!
WHAT I LEARNED
I think the biggest challenge for me was to figure out how to get the player to pick up the correct tile in front of him. I started by making a simple overlap function, but soon realized that wasn't precise enough as the tiles' collision spheres would begin to overlap each other.
The solution was to round the player's rotation to the nearest either X- or Y-axis and then line trace down from one tile's length in front of the player on that axis.
PLAYER BLUEPRINT // PICK UP AND DROP
Zoom and drag (right click).
JAN // 2020
BOMBERMAN
Prototype • 3 days • Unreal
A personal project where I tried to recreate the classic arcade-style game Bomberman in Unreal Engine.
WHAT I LEARNED
Now and then I like to test my scripting skills and recreate mechanics taken from some of my favorite games from my childhood. Bomberman is one of them.
A problem I ran into while making this prototype was handling the explosive chain-reaction of the bombs. I solved it by making an interface call that would trigger a chain-explosion event that would bypass the timer once a bomb was hit by any of the four line-traces going off from the initial bomb explosion
Zoom and drag (right click).
BLUEPRINT // BOMB
JAN // 2020
ZOMBIE AI
Prototype • 2 weeks • Unreal
A zombie virus AI system that uses branching behavior for a healthy state, infected state, and zombie state.
CHALLENGE
This was a project I did with my friend and classmate Love Åkerlund during a prototyping assignment at Futuregames. We both wanted to learn more about AI-scripting, so we chose to dive deep into Unreal’s behavior trees. Our goal was to create an NPC behavior that would simulate the stages of a zombie infection. From a healthy state, to infected, to zombie.
WHAT I LEARNED
As this was our first time using Unreal's behavior trees, there was a lot to learn. Having everything split up between blueprints, blackboards, and