Fragment is a surreal puzzle-platformer adventure game where you're led through the subconscious by a spirit-guide. This page documents the work I did on the project, and my design process.
My Role: Gameplay Design. Product Owner
Engine: Unity 3D
Team Size: 11 (3 Designers)
Time Frame: 8 Weeks
Genre: Third person Puzzle-Platformer
What I did
Music & SFX
Pitching & Presenting
Scrum / Agile
Movement Design & Scripting
Puzzle Design & Scripting
In Fragment, the player explores a surreal world, together with their spirit-companion. They complete challenging puzzles in dangerous terrain, to uncover forgotten memories.
The main character had to feel weak and frail, as this was important in the game's narrative, and reinforced dependency on the spirit-companion. The design was therefore aimed towards players feeling nimble and light, but not acrobatic.
Movement With Flow
Complexity Through Level-Design
The player movement consists of several different scripts, with different functionality. They are all run through a main script, making it easier to manage.
Maps & Translates Input
Main Movement Script
Order of Execution
Stores Player States
Special Case Events
e.g. Jumping, staggering
Every frame, the Main Movement Script calls all necessary functions in the appropriate order, then applies movement to the player.
Grabbing & Climbing Ledges
The most technically challenging part of the movement was ledge-grabbing. It was a challenge to get it working consistently on different kinds of geometry.
How it works: when the player is in the air, while moving downwards, we run a series of checks, looking for something to grab:
Check For Wall
Check For Surface
Check For Edge
Check For Obstruction
Grab the Ledge
If any of the checks fail, we wait for the next frame, and run this again. If they all pass, we grab the ledge and switch to the hanging state. Once hanging, the player can press jump to climb up the ledge, following the same path as our "Check for Obstruction" traces.
Puzzle Design & Implementation
Puzzles in the game are based on directing a beam of light, using movable prisms. Light is used to power "receivers" that open gates and activate switches.
Puzzles are divided into three categories:
Onboarding puzzles, meant to introduce the player to concepts & mechanics.
Skill-check puzzles, that make sure the player understands the concepts.
Challenge puzzles, where players do actual puzzle-solving.
Level - "The Cake"
"The Cake" is the game's third and final level. Conceptual choices were made to serve the needs of our team and game:
Vertical spaces separate the level from the rest of the game spatially. Climbing a tower embodies the final events of the narrative.
The level features a unique mechanic, turning the center of the tower to unlock new rooms and paths. This adds mechanical complexity, when the player is comfortable with the game's main mechanics.
Make it a Challenge
This is the end of the game, and it should feel like it!
The level consists of a rotating center, with three floors, and surrounding rooms containing puzzle challenges.
The player's goal is to power two receivers at the top of the tower, to open the exit. This requires thinking spatially, and planning ahead.
The player needs to set up the surrounding rooms, and the tower's rotation, to direct beams up from the lower floors.
To rotate the level, the player needs to keep solving the room's puzzles. Each puzzle contributes something to the main goal of powering the exit, giving the level a sense of progression.
The player is guided through the level using assumptions and catches. Initially, the player assumes that they need to climb the tower, the catch is; the exit is locked. They then assume that they need to keep rotating the tower, but find out there's more to it than that.
This way, the player already has an understanding of the level's geometry, and the rooms layouts when they're introduced to the level's main challenge.
This project was made during the covid-19 quarantine, which made planning challenging. To keep organized, we used a virtual office, Miro, and regular meetings to clear up questions and make sure everyone was in the loop.
Throughout production, I helped the team manage our weekly sprints, user story backlog, roadmaps and meetings. Keeping everything flexible, and pivoting based on feedback was key for the project.
Weekly Presentations & Pitching
Each week, I would present the game to a jury of industry professionals. It was important to make sure I spoke for the team as a whole, so I would make sure to write it together with members of my team.