Fio Leukert


Worked as full-time programmer at Bippinbits (Dome Keeper)
Professional and hobbyist Godot user, game designer, and programmer
Achieved B.Sc. in media informatics in 2023

Available for work starting in May 2024


Dome Keeper

Commercially successful 2D tower defense / mining game, published by Raw Fury. Actively in post-launch development.Part of the project for: ~1 year
Core team size: 4 - 5
Engine: Godot 3
Responsibilities: Telemetry Analysis, Feature Programming


Narrative Design & Custom Dialog System

Writing visual novels and programming the dialog system too.Released Titles: 2
Game dev time: 3 weeks / 1.5 months
System dev time: 2 months
Engine: Godot 4
Responsibilities: Narrative Design, System Programming, Background Art, Character Design


Swagbot Vs Entropy

Turn-based card game with a surreal flair.Dev time: 5 days
Team size: solo
Engine: Godot 3
Responsibilities: Game Design, Programming, UI Design


Oracle of Thorns

Physical PvPvE boardgame.Dev time: 5 months
Team size: 6 people
Responsibilities: Game Design, Mechanical Density, Playtesting, Iterative Rule Design

Dome Keeper


Overview
- Bippinbits team size: 4 - 5 (10+ including freelancers)
- Worked on the project for 11 months full-time & 3 months during prior internship
- Developed in Godot 3
- Commercially successful

Description
Dome Keeper is a 2D mining / tower defense roguelike, in which players defend their Dome from waves of incoming monsters. Outside of combat, players venture into the mines below to retrieve resources.
It has over 9000 Steam reviews (90%+ positive), and is developed by Bippinbits and published by Raw Fury.

Responsibilities and Learnings
Telemetry Analysis
My first task at Bippinbits was the self-directed learning of KQL and subsequent evaluation of player telemetry that was collected via playfab and stored in a Microsoft Azure data base. I authored KQL queries and presented them within the integrated Azure Data Explorer dashboard to better visualize our findings.
Over the course of this task, the motivators behind creating these queries and interpreting their results came from both team members and myself.

Furthermore, I visualized aggregate and cross-referenced data points in Google Sheets. We used this to gain insights into the comparative performances of player-controlled Domes vs enemy combatants.These and other insights were regularly presented to the team and the community.

Next to this work in Azure Data Explorer, I also programmed various features, which found integration through other team members.

Programming: Hole Generation
So far the underground mine in Dome Keeper was solid rock. Using a custom algorithm, the map generation would now scatter underground holes.
Downstream requirements such as a refactoring of the revealing of empty space via flood fill were also included in this task.

Programming: Mouse Support
This update added mouse controls to a game that previously only had keyboard or gamepad controls. This required expanding the existing input functions, and adding new options to the options menu.

Players could now aim the projectiles of the Assessor Keeper in arbitrary directions, including a snapping feature when hovering around the cardinal directions.

Programming: New Monster Behaviors
Part of a new wave of game content, I worked on the first iterations / prototypes of new monsters, featuring new movement patterns, balance passes, and visual elements.

Core Takeaways
Throughout my time at Bippinbits, making myself familiar with work and architecture built up by others was one of my regular activities. All of my programming tasks revolved around expanding existing systems or working within their defined constraints.

Within the Team
Active participation in team discussions and showcases / evaluation of work during weeklies were activities to which I readily added my own viewpoints. Voicing and critiquing divergent opinions is a skill I refined during my time here.

Since Bippinbits is 100% remote, the few times the team is in the same room are rare but pleasant. Such was the case at Gamescom 2023, during which we managed our own booth throughout the duration of the convention.

oracle of thorns

Note: Pictures of game pieces are in German, translations will be provided


Overview
- Team size: 6 (2 game designers)
- Student project
- Dev time: 1 semester (~5 months)

Description
Oracle of Thorns is a physical tabletop game for 2 to 6 players who battle each other and game-controlled events in a race to the finish line.

Responsibilities and Learnings
Game Design
As the team lead for 5 other people, it was important to create a development environment for everyone to enjoy partaking in, so that we may create a pleasant gameplay experience for our players. As a PvPvE game, balancing the game-driven events and making each character class feel unique and powerful was an interesting challenge that we conquered successfully.
Mechanical Density
The structure of a single game for a single player is roguelike-esque, in that players establish a build across the entire playtime. Finding ways to encourage different strategies without mechanical parasitism or a stagnant optimal play pattern posed a difficult but controllable challange for our game design.

One such solution was the finding of the correct ratio of character-specific and universal cards. Establishing a baseline of possible player actions helps ease the game flow and also makes balancing character-specific cards easier.

Playtesting
Along with one other team member, we held responsibility for conducting playtests. We gained experience with protocolling and communicating changes, examining causes of gameplay problems, and adjusting game mechanics to address those issues effectively.
Iterative Rule Design
As a physical tabletop game, Oracle of Thorns has no code forcing player actions, so the written rules needed to be clear and unambiguous on their own, while fitting within the manual. Over numerous revisions, the manual evolved to a point where it can resolve virtually all corner cases and game states, while also being easy to understand. As such, the manual includes:
- A QnA section where edge cases were resolved / explained
- A breakdown of how multiple simultaneously played cards are resolved
- A shortened version of the color identities


examples of design

Character Colors
We identified 4 avenues for Players to excell at: PvP (red), PvE (yellow), resource manipulation (blue), and board movement (green). This led to the creation of six characters, each with a unique color combination, which are utilized for card effects.

Emergent Mechanics
Additionally, these domains may get fused for greater effect. So one color (e.g. green = movement) may use the mechanical space of another color (e.g. yellow = game events) to inform the strength of its effects.

Card Economy
Players draw from the same deck. At the start of a player's turn, they look at the top two cards and pick one of them, creating a dynamic of weighing between advancing their own game plan and resource denial.
(Pictured: Example dynamics in a three player game.)

Custom Dialog System

Since October 2023 I have been working on a bespoke dialog / visual novel system, for use in Godot 4. Two more recent personal releases - When the Sea Received the Sky and Onyx Heart - use this system to present their narrative to the player.It includes a boolean fact system inspired by Firewatch, allowing for dynamic and branching dialog.It is still very actively in development, with several system-wide refactorings, feature expansions, and QoL improvements planned.

Narrative Design

While not publicly available yet, I have utilized this system internally for two visual novels already: As the sole writer on both When the Sea Received the Sky and Onyx Heart, writing deep and impacting stories has always been a priority for me.
Giving distinct voices and memorable designs to characters is a related skill that I honed throughout these projects.

Branching and Modular Stories
Onyx Heart is a highly variable game, with three distinct endings and a large number of interwoven story beats. The main challenge of this project was managing the creative and narrative consequences of these branching storylines, as well as the different permutations any given scene can play out. Through extensive iterations and rigorous testing, this was tackled successfully, and now any playthrough offers full continuity.

You can read more about my working processes and reflections on Onyx Heart's narrative design and project structure in this post mortem!

Swagbot Vs Entropy


Overview
- Team size: solo
- Personal project for MechJam II game jam
- Game jam result: Position 4 of 77 entries
- Dev time: 5 days
- Engine: Godot 3

Description
Swagbot Vs Entropy is a turn-based card battler roguelike. The goal is to stack sensible combinations of fruit into your mech to defeat increasingly lethal enemy encounters.

Responsibilities and Learnings

Game Design
As the sole developer, I conceptualized and implemented the core gameplay loop, while setting the scope to fit the very limited time window of 5 days.

UI Design and Player Feedback
Nonetheless, limited playtests were able to be conducted, which allowed me to refine the UX to a point where players could identify every sensible gamestate depending on the presentation of sensory output available to them.

Examples in the uncut gameplay footage:
- SFX for enemy actions (Compare 0:33, 2:38, 2:53, and 5:07)
- Pauses and floating values to visually process events (gif right)
- Adaptive button visibility based on if the player can currently take an action (gif below)

More Iterative Design
Other examples of iterative design include the "rounding" of armor's damage reduction from 35% to 50% to make it more intuitive (with according re-balancing in the rest of the game) and the decision that the amount of time most testers spent with the game (~15 min) was sufficient for the scope of a game jam.

You can read more about my working processes and reflections on SvE's game design in this post mortem!

Résumé


Experience

Dome Keeper (dedicated page here)
- Part of the project for ~1 year (Internship in 2022, Full-time in 2023/24)
- Evaluated player telemetry with KQL
- Presented telemetry insights in structured dashboards
- Programmed various features involving procgen, input methods, and enemy behavior
using Godot 3

TKKG and the 12.000 detectives
- 2 month professional project
- Live Escape Room Consultant for Mantikor
- Worked in a team of 7 game designers

Swagbot Vs Entropy (dedicated page here)
- 5 day personal project
- Godot 3
- Placed 4/77 in its game jam
- Solo project
- Source on GitHub, Post Mortem on itch.io

(Co-)Written several TTRPG documents
- A Remedy For Stale Adventures: Co-authored booklet about food and cooking in TTRPGs
- This Will Affect The Trout Population: Co-authored rules for a GM-less arena fighting TTRPG
- Dodecahedronic Desolation: Solo Journaling RPG using d4, d8, and d12 dice

Ampguard
- 10 month student project
- 10.5k Downloads
- Worked in a team of 7 game designers

Education

Sep 2019 - Jun 2023
B.Sc. at University of Applied Sciences Mittweida
- Part of the Game Design Dept of beta 2022
- Mentor for the Game Design Dept of beta 2023
- All student projects: Ampguard, Planets of Topology, Legally Distinct Block Game In Space!, Oracle of Thorns (physical game)
Aug 2012 - May 2019
A-levels at Semper Gymnasium Dresden

My Proficiencies

GAME DESIGN

Game Economy Design
Loot and reward systems
UX & UI Design
Working under constraints of physical games
Game state-adaptive UI
Encounter & Boss Design
Player-focused challenges
Combat rhythm & timing
Mechanical uniqueness in limited design spaces
Difficulty curve design

Design Principles
Game essence-driven design
Identification of required player skills
Designer-to-Player Communication
Manual & text production
Iterative design on UI interactions
Accessible Designs
Communication of player skill requirements
Designing with game feel in mind
Documentation
Documents that communicate for themselves

SOFT SKILLS
Communication
Active in game design discussions
Structuring and aiming discussions
Autonomous Working Rhythm
Experience with remote work
Self-organizing
Working within existing frameworks
Rapid scope finding during game jams
Convention Experience
Exhibited and maintained booth at Gamescom 2023 and MAG-C 2024
Experience with 8+ hours of B2C
Mentoring
Communicating possible approaches to problems and weighing between them
Sharing knowledge with other developers
Incorporating outside knowledge and backgrounds
Protocolling playtests
Feedback Process
Giving constructive feedback
Extracting design insights from player feedback

HARD SKILLS

Engines
Professionally: Godot
Personal & University projects: Godot, Game Maker Studio 2, Unity, Unreal

Godot: 12 published projects, many more prototyped (2D)
GameMaker Studio 2: 1 published project (2D)
Unity: 2 published projects (3D and 2D)
Scripting (GDScript, Python, JavaScript)
Usage of GDScript in Godot
Student project with Python and JS
Programming (Java, C#, Node-RED)
Basic education in Java and C#
Student project with Node-RED
Query Languages (KQL, SQL)
Professional experience with KQL
University education with SQL
Documentation (Miro, Figma, Gitlab, Google Docs)
Miro Board for Dome Keeper
Gitlab Wiki for Ampguard
Google Docs, Figma for personal projects
2D (Illustrator, Clip Studio Paint, GraphicsGale)
Vector graphics: Concept art, flow diagrams, playing card layouting
Raster graphics: Character art, Environment art, Photobashing

Contact


You can find me online on itch.io, Twitter, and LinkedIn.
Or shoot me an email at leukert.fio@gmail.com.

About me

My name is Fio (they/them) and most recently I have been part of Bippinbits, the team behind Dome Keeper. In this professional environment I have sharpened many critical skills, such as self-structured working and KQL querying, in addition to my game developing activities outside of work, most of which you can find on itch.io. In 2023 I achieved my B.Sc. in media informatics at the University of Applied Sciences Mittweida.Creating meaningful and artistic experiences for people through the medium of games, whether physical or digital, has always been my dedication. Or put shortly: I like making games. While working towards my degree, I was able to further those aspirations by formally learning to employ structured game design processes, team and project management, UX design, learning different scripting and programming languages, and many more facets of game development.My creative process is driven by pulling inspiration from all experiences in life, and a commitment to documenting those ideas as soon as they emerge, either on paper, or digitally.