Nymble
A turn-based puzzle platformer
Designed and built end-to-end, on my own, from concept to production.
Official Website | Nymble 2 DemoDesigned and built end-to-end, on my own, from concept to production.
Official Website | Nymble 2 DemoNymble is a mobile indie game I built and evolved over multiple years as a solo developer, combining UX design, game development, and orchestral music composition.
It started as a way to showcase my music skills in an interactive format, but gradually became a full end-to-end playable product spanning all of these disciplines:
UX research and design (my professional background)
game design and development
graphic design and pixel art
orchestral scoring and music production
animation (frame-based and procedural)
app store deployment
level progression analytics tracking
social media and video production
The project has evolved through multiple major iterations (Nymble 1 → 1.1 → Nymble 2), including a full rebuild once I had a clearer understanding of game architecture and runtime behavior.
Over time, it gained organic traction, including discovery on Newgrounds and unsolicited player gameplay recordings, which became a core source of real-world UX feedback.
I’ve always wanted to compose music for games — not beats or background loops, but full orchestral scores shaped by pacing, tension, and emotional structure. I’m classically trained, so I think about music through harmony, texture, and timbre — using them to express ideas that visuals alone cannot.
The problem was simple: music on its own is hard to show in a portfolio. Most people won’t click a SoundCloud link and sit there listening.
So I built a game to put the music in context.
I chose a puzzle platformer because it was manageable for a solo project, but still flexible enough to support a range of environments and pacing. That gave me room to write and showcase a wide variety of musical styles.
In 2018, I took it upon myself to learn game programming. After some research, I decided that GameMaker Studio was the right choice, since its proprietary language GML was based on C and Javascript, which I was already familiar with. After some brainstorming, I finally arrived at an idea for a turn-based puzzle platformer with a twist—what if you could jump?
At first, the code was messy, but that was the point — I was learning how game systems actually work in practice. The biggest shift was understanding the game loop: games don’t behave like web apps. Everything runs continuously, frame by frame, which changes how you think about state, flow, and interaction.
At this stage, I was experimenting constantly:
mechanics
controls
animation
audio pipeline
Within a week or two, I was programming fairly comfortably in GML.
📌 Nymble 1.1 marked the first production-ready release, including deployment to the App Store. This required navigating platform guidelines, review processes, and compliance constraints — shifting the project from a personal build to a shipped product.
After learning the fundamentals, I rebuilt the project into Nymble 1.1 — this time with a clear platform strategy. The web version was the primary entry point: instant access, no install, maximum reach. iOS was always the end goal.
That meant the web build couldn’t feel like a prototype. It had to perform well and make a strong first impression.
So the rebuild focused on:
keeping performance tight in the browser
minimizing input lag and frame drops
maintaining enough polish to reflect the intended mobile experience
This directly shaped the architecture — simpler, more efficient systems, designed to hold up under real-world conditions.
Throughout this, I was working full-time in UX design, so development happened in focused two-week sprints during vacation periods.
That rhythm forced discipline:
clear scope
realistic goals
meaningful iteration per cycle
It also created distance, which helped me re-evaluate decisions objectively between builds.
Here are some "vacation photos":
Over time, something unexpected happened: players started finding and sharing the game organically. This wasn’t driven by marketing — it was discovery-based. The game was featured on Newgrounds, and received recognition within that community. Players began recording gameplay and sharing reactions without prompting.
That turned Nymble into something more than a vehicle for my music.
I treated this as real research data:
where players hesitated
what they ignored
what they enjoyed unexpectedly
how they interpreted UI and pacing
This feedback loop directly influenced iteration decisions.
At one point, I also had direct communication with Tom Fulp, founder of Newgrounds, who engaged with the project and provided feedback when I explored distribution options outside the platform.
That experience reinforced an important lesson: distribution strategy and product design are tightly linked.
By the time I started Nymble 2, the GameMaker engine had evolved significantly, providing more efficient ways to code things. So I made the difficul decision to start from scratch instead of building on the Nymble 1 codebase.
This phase was heavily influenced by my UX career and experience working with Product Managers — especially around prioritization, trade-offs, and go-to-market strategy.
In 2026, my work situation changed, and I was able to work on Nymble 2 full time while planning my next career move. It was during this period that I decided to release the game on Steam based on analytics and player feedback.
And this is where Nymble is at today...
Animation and motion in Nymble is a combination of frame-based animation and procedural animation. Sprite animations like walking and idle loops are usually done with frames. Decorative sub-pixel animations like jiggles, screen transitions, and particles, are done procedurally.
I wanted the title screen to show a little teaser of the game but also have a clean UI, so I panned the camera to an empty area of the room when the menu flies in from the right.
This interaction design also gives more room for the title theme music to be heard.
The pause menu hides away the player stats that are not needed during gameplay, such as the star rating and scores. This keeps the gameplay experience minimal and focused on puzzle solving.
I incorporated clouds into the background to add a touch of personality and polish.
After receiving feedback on audio levels and screen shake, I designed an interface to allow the player to personalize their experience.
Added a scrolling background as an homage to the retro games of the past.
The title theme music also plays in this UI, giving it yet more air time
Even after spending hundreds of hours building a fully playable game to showcase my music in context, I realized execution alone doesn’t guarantee attention or evaluation from the industry.
Building the experience is only 10% of the effort — the rest is getting it in front of players. Which is why, with Nymble 2, I’ve started treating product strategy and marketing as part of the design process, not an afterthought.
I didn’t start Nymble to become a game developer. I started it because I needed a way to prove my music composition abilities. And in the process, I ended up building something else: a full-cycle product that combines UX design, game systems, and orchestral composition — bringing all my core interests into one place.