Tilting Jar
Stack candy in a glass jar. The jar has a mind of its own.

- Project
- Our own product
- Our role
- Game design · Unity development · Economy systems · Release
- Duration
- 7 months
01 / PRODUCT & APPROACH
A little jar. Layers of game design.
In Tilting Jar, players drop candy into a glass jar; four touching pieces of the same color pop. The jar tilts, turns and changes gravity. Around this simple starting point, we developed gameplay, level generation, audio and economy systems together.
In match-and-clear puzzles the board is static; players memorise it within days and leave. Adding physics fixes that but opens a new problem: real physics makes every attempt different, which can slide into a feeling of unfair randomness. On top of that the game needed 300 levels, an economy, a daily loop and a shop, and a one-person team could not hand-build all of it.
The decisions inside a round
- 01
Place
Drop candy while considering its shape, weight and color match.
- 02
Prepare
Build a stack that can survive the announced jar movement.
- 03
Progress
Earn stars, discover new mechanics and find a different balance.
DECISIONS THAT SHAPED THE PRODUCT
Surprise, with room to prepare.
Jar events are announced before they happen. Players make decisions for the coming tilt or turn as well as the current gap. Mechanics such as the gyroscope, pocket, joker and magnet expand this physics-based decision space.
Content generation begins with teaching.
The first 24 levels are handcrafted as a learning sequence. Later content uses deterministic generation seeded by level index. Across 300 levels and 15 chapters, reproducing the same level from its index also makes investigating problems easier.
Game feel and economy belong together.
Procedural music and chord-matched pops accompany play. Cosmetics, daily tasks and offers sit around that loop. Progress can be unlocked with stars, while ad and purchase integrations remain separate from game logic.
THE RESULTING PRODUCT
From a playable idea to a complete game system.
300 levels, 15 chapters, 12 mechanics, 5 languages. A star gate every 20 levels, and progress is never locked behind money. Headless bot runs measure every level’s pass rate; the balance report lives in the repo. iCloud backup merges field by field with "best wins", so local progress never regresses. Ads and purchases sit behind provider-agnostic layers; with no key configured the game runs on a fake store. The build chain runs Unity → Xcode → pod install in one command and refuses to build if the AdMob app id is missing. The game is live on the App Store.
02 / Inside the product
The experience, on screen.
Open a screen to explore the details.05 images
03 / Scope & details
The details make the experience.
- 01
300 levels, 15 chapters, 12 distinct mechanics
- 02
Deterministic generation: seed is the level index, everyone plays the same level
- 03
Four-layer procedural music, explosions tuned to the chord
- 04
Context-aware offer engine
- 05
5 languages, auto-detected
Technology
- Engine
- Unity 6000.5.0f1
- Levels
- 300
- Languages
- TR · EN · DE · ES · FR
Level generation & validation
Deterministic generation
seed = level index300 levels swept
INSIDE THE PRODUCT
The engineering behind the interface.
Systems we built and concrete problems we addressed in this project.
Learn through 24 levels, then continue through generation
The first 24 levels form a handcrafted learning sequence. Later levels are generated from the level index, so a level’s starting conditions can be reproduced for design review and debugging.
The offer engine measures annoyance instead of assuming it
Six offer types (starter pack, a booster when stuck, the smallest gold pack that suffices, remove ads, double reward, free booster) pass through one gate under the same do-not-annoy rules. Rewarded ads are never blocked; interstitials are always capped.
Bot balance runs and iCloud merging
A headless bot plays levels on its own and reports pass rate and attempts per pass; because physics is fixed-step, running faster does not change the result. iCloud backup merges field by field with the best value: max stars and gold, union of ownership; local progress never regresses.
Your idea could be next.
What could we build for you?
From a first release to a growing platform. Let’s plan the design, development and launch together.
From Türkiye to the US, UK, Australia and everywhere in between.
ENGINEERING NOTES FROM THIS PROJECT
Tilting Jar: why reproducible levels matter ↗