Aether Dynasty started out as a browser slot in my Next.js arcade. This version is a complete rebuild as a proper mobile game in Unity 6. It’s designed portrait-first so you can play it on your phone with one hand, and it has chunky, toy-like buttons, Greek key borders and three playful 3D gods, Zeus, Athena and Aphrodite, who stand above the reels and react when you tap them.
Behind the cartoon look, it’s a proper ways slot. There are six stone reels that start with 3 rows and grow to 6 (going from 729 to 46,656 ways to win). Winning symbols shatter and new ones drop in, golden frames turn into wilds, and once the board is full you get a storm of free games with a multiplier that keeps climbing.
Playful, not casino
Bright, toy-box style art and gods with real personality, so it feels like a game first and a slot second.
One-thumb mobile
A portrait layout with big buttons, and everything you need is within reach of your thumb in the bottom third of the screen.
Provably honest
The return to player is measured rather than guessed, the randomness is unbiased, and anyone can check demo rounds after they’ve played them.
02Screenshots
These screenshots were captured straight from the game. Tap any of them to see it bigger.
Title screen - the three gods on OlympusThe opening board - six reels, 729 waysDivine Win celebrationPerfect board - Zeus’s WrathAutoplay with stop conditionsIn-game rules
03Core Loop
1
Stake & spin
Choose your stake and spin the six stone reels. Each reel starts with 3 rows, which gives 729 ways to win.
2
Shatter & cascade
Wins pay from left to right on reels next to each other. Winning symbols shatter and new ones fall into their place.
3
Grow the board
Every reel that’s part of a win grows by one row. Golden frames turn into WILDs with a counter, and they keep paying until it runs out.
4
Summon the storm
Fill the board to 46,656 ways and you trigger 8 storm free games with a rising multiplier and the Golden Treasure.
04Key Features
⚡
Divine interventions
Zeus, Athena and Aphrodite can step in on any spin to help you out, and if you fill the board completely, Zeus’s Wrath goes off.
🏛️
Expanding reels
The reels grow from 3 to 6 rows, which can take the board from 729 to 46,656 ways in a single chain of wins.
🖼️
Golden frames
When a framed symbol wins, it turns into a WILD with a count of ×1 to ×3, and the count goes down with every win it’s part of.
🌩️
Storm free games
You get 8 free games that start with 4 rows, and the multiplier goes up on every winning spin.
🔁
Autoplay & turbo
Autoplay you can set up the way you like, with options to stop on free games or big wins, plus turbo spins if you want things faster.
📜
Round history
Every round is listed with its stake, how much it paid and the hash that proves the result was fixed before you spun.
05What I Built
I made this game on my own, so I handled the design, the code, the art pipeline, the audio and the release.
I designed the game, including how the board grows, how the gods step in, what triggers the free games and the paytable.
I programmed the gameplay and the UI in C#, building every screen in code with UI Toolkit.
I wrote the slot engine and random number generator as a standalone C# package, which the game provider also compiles and uses.
I built a procedural art pipeline in Blender Python that creates the gods, symbols, logo, skies and temple.
I also handled the audio mixing, the test that takes screenshots on different devices, and the RTP simulator.
06Under the Hood
Rules outside the engine
The slot rules and random number generator live in a separate C# package (com.aetherdynasty.core) that doesn’t depend on Unity at all. The same code runs in the game’s demo mode and on the game provider for real rounds, so the two can never get out of sync.
Code-built UI
There’s no hand-built scene. A director script builds the 3D stage, the screens and the HUD while the game runs, using UI Toolkit and styled from a single USS stylesheet. That meant supporting eight different device layouts was a styling job rather than building eight separate scenes.
Measured, not guessed, RTP
A .NET simulator plays tens of millions of rounds. The declared return is 94.1%, and three runs of 10 million rounds came out at 94.21%, 94.30% and 93.80%. About a third of rounds pay something, and free games come up roughly once every 193 spins.
Provably fair demo
Demo rounds use HMAC-SHA256(serverSeed, clientSeed:nonce:block) with rejection sampling, never a simple modulo, so there’s no bias. You’re shown the hash of the seed before you play, and the seed itself is revealed in your History.
07Art & Audio Pipeline
3D gods from a kit
build_gods.py takes KayKit characters and turns them into Zeus, Athena and Aphrodite, adding Greek props, recoloured textures and six animations (Idle, Summon, Celebrate, Wave, Jump and Hit).
Everything else, scripted
The medallion symbols, the logo, two skies, the temple, the gems, the WILD and the golden frame are all generated by Blender Python scripts, so any of them can be rebuilt with one command.
UI kit & sound
Buttons and paper cards from the Kenney UI Pack, lettering in Lilita One and Fjalla One, and music and sound effects put together from Kenney and OpenGameArt packs by a Python build script.
08Challenges & Solutions
ProblemEven though it’s designed for phones first, it still has to look right on foldables, flip phones and tablets.
SolutionA PlayMode test captures the loading, home, rules, game, spin, big win and autoplay screens on 8 device profiles every time it runs, so layout problems show up as images I can look at, not as bug reports.
ProblemIf demo money never runs out, players learn nothing about the real odds.
SolutionDemo losses stay lost. When your balance can’t cover the minimum stake, the game offers you a refill. Measured over 21 million rounds, it pays back about 95%.
ProblemThe old web version relied on Firebase, which tied it to one host.
SolutionI removed Firebase completely. Single-player now runs on the device, and real rounds go through the game provider’s audited random number generator.
Keeping the game rules in a plain C# package was the best decision I made, because this game has to run in two different places.
Simulating millions of rounds is the only honest way to state a return to player.
Generating assets with scripts makes it cheap to change the art direction. I rebuilt the gods several times.
Credits. It only uses free CC0, CC-BY and OFL assets (from KayKit, Kenney, game-icons.net, OpenGameArt and Google Fonts), and they’re all credited on the in-game About screen. There’s no AI-generated art or audio anywhere in the game.