Small chick. Big balls. One more try.

Yolko is a character-driven arcade game for iPhone and iPad. You play a little chick in an eggshell, wearing aviator goggles and carrying a chain launcher. Dodge bouncing balls, split them into smaller ones, and clear the arena. When things go wrong, Yolko makes sure you notice.

Why I built it

I wanted to make a game that feels good within seconds: move, shoot, dodge, and try again. The challenge was to give a simple arcade loop its own personality.

Yolko is more than a player sprite. Heat makes him pant, cold makes him shiver, storms upset him, and defeat becomes a little animated comedy. His reactions turn a failed attempt into something you might actually want to share.

What you can play

The published iOS release includes seven worlds and 140 levels, each introducing new hazards: slippery ice, lifts, teleporters, moving platforms, pirate cannons, and zombie balls that climb back out of their graves.

The core loop is simple: move, launch a chain upward, dodge the bouncing balls, and split them until the arena is clear. Each split creates more hazards, turning a familiar action into a test of timing and positioning.

Yolko's personality also changes how you play. Irritation builds his rage meter; when it is full, tap the flame to unleash a red charge through the balls. At the end of the first world, a grumpy storm-cloud boss spits balls and throws lightning. Collect up to three stars per level, earn hats through play, and chase your own record in the endless Panic mode.

Every attempt starts with three lives. Restarting is always free, with no energy timer and no ads. Touch controls include a left-handed option, and the game also supports controllers and keyboards. It is localized in English, Czech, and German.

The gallery also previews version 1.4, build 23, which is awaiting Apple review. That update expands the game to eight worlds and 160 levels, adds a space world and its boss, and introduces Boss Rush. The space-boss image shows this upcoming update; it is not part of the currently published release.

Monetization with RevenueCat

RevenueCat powers the annual Yolko Pass and consumable gem purchases.

The entire first world is free. An active Pass grants access to the paid worlds and additional worlds released during the subscription. In the Czech App Store, the Pass costs 249 CZK per year; players see their local price before buying.

Buying access preserves the progression challenge: to reach the next world, a player must complete all 20 levels of the previous world and earn at least 45 of its 60 stars.

Gems can be earned through play or purchased separately. Spending 15 gems allows one continuation per attempt, restoring three lives in the current level. The Pass does not include gems or free continuations. Hats are earned with stars rather than sold.

This separates content access from optional convenience while keeping the basic retry loop free. Purchase restoration is available in the in-game shop.

How I built it

The iOS game is built in Swift with SpriteKit. Its simulation, level data, rendering, controls, and progression are organized separately so that new worlds can introduce mechanics without rewriting the core loop.

The art pipeline uses scripted Blender models and pre-rendered animations. Character attachment points connect animated props and effects to the correct frame. Music and sound effects are generated with Python tools.

RevenueCat handles purchase and subscription state. Game Center provides achievements and leaderboards. Firebase supports the app's operational tooling.

An Android port is also being prepared, using Kotlin and OpenGL ES. Its release is still under Google Play review.

The hardest parts

Splitting one ball creates more moving hazards, so the game has to remain readable as an arena gets crowded. Movement, collision handling, platform behavior, and input responsiveness all have to agree.

Character comedy adds another challenge: an animation must fit what actually happened in the game. Weather, defeat, celebration, and boss reactions need to feel connected to the simulation, rather than pasted over it.

Finally, paid content access and earned progression are different states. The shop, saved progress, and world map must consistently respect both.

What I learned

A small arcade loop can carry a lot of personality when animation, sound, and mechanics reinforce each other. Losing becomes less frustrating when the character makes the moment entertaining, but the next attempt must still start immediately.

Shipping also means learning from real players. Yolko already has public ratings, other players posting leaderboard scores, and a Facebook reel that passed 10,000 plays. Those are early signals rather than proof of sustainable growth; I am testing localized creative and acquisition campaigns to understand what converts into actual play.

What's next

Release the submitted space update, finish the Android launch, and improve the game using player feedback. Then keep adding worlds, bosses, and reactions while preserving the immediate, free-to-retry arcade loop.

Try Yolko

Download the published iOS game and start with Sunny Valley: the entire first world is free. Use the movement control to dodge and the shoot button to launch the chain. Each attempt starts with three lives, and you can restart immediately.

For Shipaton judges, private redemption instructions provide three months of Yolko Pass at no charge, without automatic renewal. The offer is redeemed through Apple; no code-entry field inside the game is needed. After redemption, use Shop → Restore Purchases if access has not appeared. Premium access preserves the star-based progression challenge.

Play Yolko: https://apps.apple.com/app/id6816505304 Website: https://yolko.fun/en/

Built With

Share this project:

Updates

Submission history