Pages on Pages: Images from Taking Flight
Taking Flight is a game I developed over the course of a summer and, after a bit of a scramble, released before heading back to university. I’d like to share some insight into its design process, coupled with photos from my sketchbook!
First Concepts
I started working on the game in April of 2025. It wasn’t a serious project at that time — I wanted to try developing with Pico-8, a limitation-led “fantasy console” game engine. I did some work on it, showed it off to some friends at a game development club meeting, and left it off to focus on schoolwork as finals crept up on me.
I only came back to it in June, this time using Godot, a more robust game engine. I intended to flesh it out and finish it over the summer. Of course, I started by pulling out pen and paper and jotting down as much as I could.
I wanted to make a bullet-hell game. Taking Flight is a retro side-scrolling bullet-hell game in which you pilot a flying ship, carrying packages between floating cities and weaving through airborne dangers.

Here are the first concept sketches I made.
Whenever I work on anything these days, my notebook is never far. It’s a lesson hard-learned in my game development class; sketching helps me not only to communicate with others but also to communicate with myself.
The original concept used a pseudo-3D perspective. I switched to a purely 2D side-scrolling perspective; the pseudo-3D made dodging bullets unwieldy.
I split the game into “routes”; at the start of each “route”, you’re given a collection of packages to deliver to the end of the route. Each route is a series of randomly chosen “phases”, each with unique bullet patterns and visuals. I chose this structure because it was nicely modular; I could add as many phases of as much complexity as I felt like, based on how much time I wanted to commit to the project.
Mapping the Unknown
The game has a map; it went through two big iterations.
Originally, it was a map of different cities you travelled between, trying to spread your deliveries and not let too much mail build up in one city. To introduce some strategy, each city had its own weather cycle, which affected which phases might appear while traveling toward it — the idea being that if a city had inclement weather, in order to suffer less damage you might risk not traveling there until the weather abated. In practice, though, this didn’t spark any interesting decision-making; often, you’d just end up moving in a set pattern, and “which-phases-might-appear” was too abstract a danger to matter. So I scrapped that idea!


I switched from a map of cities to a map of phases. This focused in on the actual decision-making I wanted to see happen with the original map: choosing between different paths based on which phases you’re most comfortable completing. Instead of an interconnected web, it became a branching tree, inspired by Slay the Spire. At the end of the map was your next city; reaching it would complete the route.
Moving back and forth between cities on the original map felt like spinning your wheels; the more linear map gave the player a stronger sense of progression as they made their way to their destination.
I also wanted to include points of interest within a route. These could appear in otherwise unfavorable paths, nudging you to try unfamiliar or dangerous phases for a reward. I only got to implementing one, a rest stop that healed some sustained damage.
Phasing In Phases
A big chunk of the project was designing phases! The game’s modular structure allowed me to work on them as I pleased, sliding new ones in whenever they were done.
Each phase was sketched in my notebook before it was implemented into the game. Here you can see some of the phase design process:


I wanted each phase’s visuals and dangers to feel unique. I made sure to match the behavior of bullets onto their phase’s visual theme.




When the player is hit, they drop some of the packages they were carrying. The packages float around the screen a little before disappearing; you can pick them back up if you’re quick enough — or suffer even more damage if you’re not.
Here’s another set of sketches. You can see more developed concepts for the rain phase (left) and the heat phase (right).

Near the bottom, you can see designs for the UI flow. In order to preserve the player’s sense of forward momentum, I wanted transitioning from phase to phase to be as seamless as possible. I created a cloud wipe that swept across the screen, cleanly swapping out the previous phase with the next before falling away behind the player. I kept the player firmly in front of the wipe so they never disappear, supporting their sense of continuity.
Between phases I inserted a special “night-time” phase, where a map of the route is displayed in the form of a constellation. Without keeping tabs on the map, players quickly lose track of their progress; the map was a good way to remind them of how far they’ve come in a route. During the night-time phase players can also choose where to go next in the route.
Summer Wanes
As the summer closed, so did my time with Taking Flight. If you’re curious, you can play it on itch. I might return to it eventually to polish it up and give it a proper release (more than just downloads shared with friends, that is). For the time being, I’m happy with the amount of thought and polish I put out in a summer’s time!