Skip to content
Tilting Jar ikonuOur own product2026

Tilting Jar

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

iOS
Let’s build something like this
Real Tilting Jar gameplay screens with the jar, colored blocks and physics-based puzzles
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

  1. 01

    Place

    Drop candy while considering its shape, weight and color match.

  2. 02

    Prepare

    Build a stack that can survive the announced jar movement.

  3. 03

    Progress

    Earn stars, discover new mechanics and find a different balance.

DECISIONS THAT SHAPED THE PRODUCT

/ 01

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.

/ 02

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.

/ 03

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.

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

Slam dropJar nudgeGyroscopePocketFeverJokerRoped twinsRolling candyGiant blockL pieceSplitting jellyMagnet

Technology

Unity 6C#RevenueCat
Engine
Unity 6000.5.0f1
Levels
300
Languages
TR · EN · DE · ES · FR
Level generation & validation

Deterministic generation

seed = level index

300 levels swept

INSIDE THE PRODUCT

The engineering behind the interface.

Systems we built and concrete problems we addressed in this project.

01

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.

02

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.

03

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.

Tell us about your project

From Türkiye to the US, UK, Australia and everywhere in between.

ENGINEERING NOTES FROM THIS PROJECT

Tilting Jar: why reproducible levels matter ↗