Roll your way through 60 fast-paced levels to try and find the way back home after a magic exam goes wrong, leaving a young mage stranded in a strange dimension.
Inspired by the likes of Marble Blast and Super Monkey Ball, Marble Mage delivers a unique spin on the classic ball-rolling formula. Charge up a burst of energy, then release to launch yourself at high speed in any direction, but be careful not to fall off!
General
Released in 2021 for Android, iOS, and PC, Marble mage is a retro-inspired marble platforming game.
Points of Interest
- Solo Project — I designed and created nearly every aspect of Marble Mage myself, including but not limited to: gameplay, physics, UI, levels, shaders & effects, 3D models, animation, textures, and skyboxes.
- Handcrafted Physics — The player physics in Marble Mage do not use Unity’s built-in rigidbody system. Instead, I used a character controller component for collision detection and then programmed the forces and physics interactions by hand. If the game were more complex, this could save some performance on mobile devices, but I chose this implementation mostly as just a challenge to myself.
- Painted Skyboxes — As a performance optimization for mobile devices, I chose to use only skyboxes as backdrops for the game’s levels. Additionally, I thought that having the skyboxes look painted would be ideal for the game’s overall art style. A challenge arose from this however, as I would need to be able to paint on a 2D canvas and have the perspective look correct when applied to a cubemap. To overcome this, I developed a workflow which involved painting over a panoramic render of a 3D scene and then converting the result into a cubemap using Blender. I continued to improve this process over the course of the project and am generally pleased with both its results and overall time-efficiency.
Development
In January 2020, I decided I wanted to do something which I had never done before: release a finished game.
I shelved the project I had been working on up to that point, a rather ambitious tabletop card game, and began concepting ideas for a smaller project I would be able to complete in a relatively short amount of time. Settling on an idea I had jotted down about two years earlier, I decided to attempt creating a game which would combine elements of Kirby’s Dream Course with Super Monkey Ball. As an additional design goal, I believed the game would be an ideal candidate for mobile platforms if I could distill the controls down to consist only of one button and a single-axis analog stick.
During initial prototyping, the idea didn’t seem like it would work; however, some things changed as I experimented and the game began to evolve. Notably, a second button button was added to control braking for the player, and the idea of of having the player come to a stop before being able to use their dash ability was dropped to make the gameplay feel more fluid. By the end, I felt I was able to create a game that was faithful to my original design goals while still also being fun to play.
Developing in my spare time, the majority of the game was finished by the end of 2020, and I began turning my effort towards starting an LLC to publish it. Having no experience with business, advertising, publishing, or web development at the time, it took awhile to get everything set up, polished, and ready to go for release, but in September 2021, I released Marble Mage on Android, iOS, and PC under my company Clay Dragon Games.
Attributions
The following people contributed to the development of Marble Mage:
Djordje Marinkovic — The game’s sound effects were commissioned from Djordje.
Allison Eddy — For the game’s story animatic, I drew the initial storyboard and then commissioned Allison to illustrate the final version.
Benjamin Lewin — Ben is a fellow game developer who playtested early versions of the game and provided professional critique.
Stevia Sphere — All music in the game was created by Stevia Sphere and licensed under Creative Commons (CC BY 3.0).
Rafael Olivo — The game’s main typeface is “Arco” by Rafael Olivo.
Additionally, Marble Mage was developed using Unity Engine and the following extensions:
Nice Vibrations — A universal interface for controlling vibration/haptics on controllers and mobile devices, created by More Mountains.
LeanTween — A lightweight tweening engine for Unity, created by DentedPixel.
Steamworks.NET — A C# Wrapper for Valve’s Steamworks API, created by Riley Labrecque.
Gallery

Character design process. From left to right: (1) Initial character design sketch; (2) Model reference sheet; (3) Finished 3D mesh; (4) Final character model with textures & shaders.
Gameplay footage — First 15 levels.

Skybox painting workflow: (top left) Initial 3D scene; (top right) Panoramic render with base color and mist passes; (bottom) Final cubemap render after paintover.
Gameplay footage — Showcase of a variety of levels.