Goal – Create platformer utilizing mouse controls for extra flexibility
Focus – Game design, UX design, Level design
Engine – Unity
Reactive objects - UE Prototype
Focus – Scripting, emergent game design
Engine – Unreal
This is a scale-able and emergent system where objects can interact based on overlapping properties.
How it works
Reactive Object properties
Objects can have two types of properties that specify how they can interact.
Internal properties – how objects may be affected by other objects.
External properties – How objects may affect other objects.
Matching external and internal properties enables specific interactions between objects.
For instance, both the player and the fire can interact with a stick, but in different ways.
How interactions work
1: Player-Interaction
The player has 3 innate external properties: move, hold, and throw.
If the player looks at an object they may interact with, such as the stick, an outline is shown.
If the player holds an object, they may interact with other objects as if they shared properties. For instance, if the player holds the stick, they may interact with fire.
2: Collisions / Overlaps
When two objects collide or overlap, they attempt to interact. The player can throw a torch at the ice wall, causing it to melt.
GameLike SceneCamera - UnityTool Prototype
Focus – Tool design, tool prototyping, experimenting
Engine – Unity
This tool moves the scenecamera like a top-down gamecamera without entering play mode. The intention is to speed up level design workflow, by reducing time spent testing in gamemode.
How it works
This tool creates a pivot capsule and attaches the camera to it.
The pivot can move with WASD along the ground, with the camera following.
This means that the camera maintains offset even on slopes.
Design intention
- Reduce need to enter game mode when testing views
- Less loading time
- Simplifies setup of compositions
Limitations
- The pivot follows the navmesh.
- Requires baking, which slows down as levels get fleshed out
- Only for topdown games atm
- Unitys install fee debacle convinced me not to finish this
Game Jam - Fire Runner
Team size – 7
Role – Level Designer, QA
Game Jam – Ludum Dare 46 (Keep it alive)
I’ve done some game jams and this is one of my favourites.
About
Fire runner is a speedrunning game where the players are expected to bring a fire to the end of the level without letting it die from hazards or letting the time run out. It thus fullfills the theme “keep it alive” by asking the player to keep both their flame and their run alive.
The player uses a shield as skateboard, as well as a shield against water & Wind.
My main contributions this game jam was blocking out levels and finding the fun.
BounceRunner - small Solo UE Project
Focus – Visual scripting practices, gameplay design
Goal – Create gameplay loop using one fps movement mechanic
BounceRunner is a small speedrunning game where your primary movement is bouncing.
Process
I wanted to make a game based on jumppads, as I’ve always found them to be a fun way of traversing levels.
Iteration 1
The initial jumppad fully decided player launch trajectory and was signified by the arrow. This was too hard and clunky for players.
Iteration 2
The second iteration removed the arrows, and used the players movement input as horizontal launch force. The different colors signified vertical launch force. This was much better, yet still too slow.
Final Iteration (3)
I removed the jumppads altogether, and instead, let players instantly launch themselves by holding their mouse buttons.
Why the final iteration worked
This worked because there was very little friction because of it’s instantaneous feedback, making it much easier to get used to.
This made me realize just how limited FPS movement mechanics are, which I attribute to not being able to see the character move relative to the level.
Citadel - FutureGames Project
Team size – 13
Role – Gameplay Designer, Technical Designer, Product Owner
Citadel is a single-player action–adventure, inspired by Diablo where the player is a versatile mage exploring his old place of learning, but realizes that everyone, and everything wants him dead.