Drop
Tap an empty tile.
Tap an empty tile.
Three that match, touching.
One merge sets off the next.
Nothing here is in a hurry.
Least of all you.
Earned, never issued.
Clear one cell.
Upgrade a whole tier.
Grow a new tile.
Each with its own weather.
Five minutes at a bus stop.
Or all evening.
Match code
What the game is made of, and why it works the way it does.
Sky City is a merge puzzle and a city builder, and the single decision that shapes both halves is that the board has no clock of its own. Every timed thing in the game — the tide coming in on Tropic Isle, the aurora opening over Snow, the Slow Shine crawling across the towers of Neon Night — is driven by placement. Put a building down and the world takes one step. Put the phone in your pocket and it takes none.
That is not a setting or a difficulty mode. It is how the code is written: one function runs after each placement, and every clock in every world hangs off it. The effect is that a run has no wrong moment to stop. You can play for the length of a bus ride or the length of an evening, and the game is in exactly the same state when you come back, down to the next building waiting in the queue.
A reskin would have been cheaper. Instead each of the fourteen worlds carries its own ground, its own weather, its own decor and its own signature — a rule that belongs to nowhere else. Firefly Sanctuary counts constellations across the buildings you have placed. Wildflower Village runs a harvest. Volcanic Isle cools black rock into buildable land. Desert Sands and City of Glass deliberately run silent, so that arriving somewhere with a trick still feels like arriving somewhere.
The buildings themselves climb ten tiers, from a Hut holding four people to a Landmark holding three hundred and twenty thousand, and each tier is three of the one below it. The city that sits on top of all that carries a title of its own — Campsite, Hamlet, Village, and up through Metropolis and Megalopolis to World Capital.
Nothing here is a mock-up or a render. The fourteen posters drifting behind the title were photographed off the live canvas by a script that loads the real game, plays it into a real state and reads the frame back. The heads-up display is drawn in a separate layer from the three-dimensional scene, so a capture of the canvas cannot include it even by accident. When a world's palette or its buildings change, the pictures are baked again, because a store page that flatters the thing it is selling is just a slower way of disappointing somebody.
The friend match was built to be cheap enough to run for nothing and simple enough to explain in a sentence. You send someone six characters. Those six characters are the board: the seed is derived from the code itself, so two phones cannot disagree about the city even for a moment, and nobody has to trust a server to deal fairly.
There is no shared simulation and no turn order. You each build the same city at your own pace on your own phone, their population climbs quietly on your board as they play, and when both runs end the bigger city wins. Somebody who walks away while ahead keeps their score. All of it is one document in the database, one listener and one write every few seconds — which is why it costs nothing and why it keeps working on a bad connection.
Sky City is a React Native app built with Expo, with the city itself rendered in real time on the device's GPU. Scores are ranked through Play Games Services, which verifies them server-side. Progress, purchases and friend matches live in Firestore behind rules that let a wallet go down but never up. The site you are reading is three static files and no framework at all.
It is free to play. There are no lives, no energy meter and nothing that expires while you are away.