Six Regions and a Lift Attendant Named Sepp

The game grew from one resort to six regions across the Alps, Canada and Japan, each with its own specialities in the last expansion phase. Region unlocks depend on production instead of money, and an old lift attendant named Sepp welcomes new players.

Until this day, Ski Resort Empire had one resort. A single mountain gets boring quickly, so the plan changed: six regions, each a fictional resort with its own name.

Same foundations, different character

The first three phases (beginner slope, family area, winter sports centre) are the same in every region: lifts, huts, rental, restaurants, gondolas. That is what every ski area has, and it keeps the game easy to read. The fourth phase is where each region shows its character:

The resorts got names that sound right without being real places: Silberkamm in Austria, Monte Fiocco in Italy, Val Céleste in France, Frostridge in Canada, Yukihana in Japan and Gletscherkristall in Switzerland. (The Austrian resort was called "Hochfirst" at first and was renamed later.)

Unlock by production, not by money

A new region used to cost money. That had an odd effect: you could save up, buy the region and arrive there with an engine that could not afford anything. I changed it so that a region unlocks when your production per second reaches a threshold. Production measures how strong your resort really is. Money measures how long you waited.

This rule became more important later, when balancing aimed for players to always run a main region and a side region in parallel.

Sepp

New players need a short introduction, and I did not want a dry tutorial. I wrote a tiny three-card story instead: Welcome to the valley, The dream of an empire, Start small. It is told by Sepp, the old lift attendant who has run the platter lift for decades.

Sepp speaks with a slight Austrian accent in German ("Servus, i bin der Sepp!") and became the game's narrator for important moments. His first painted portrait looked a bit too much like Santa Claus, so he was repainted later with different colours. He also learned an important lesson about restraint: at first he commented on every new region, and it felt like a guide who never stops talking. Today he greets the player once in the second region, with a personal memory instead of a spoiler, and leaves the rest to the player.

Two tutorial details from this day stayed in the game:

When the status bar ate the settings button

The first test on a real phone (a Xiaomi 14) showed a problem browsers never have: the app drew under the status bar and the camera cut-out, so the top line was unreadable and the settings button could not be tapped. The fix is to respect the device's safe area. Capacitor provides the insets as CSS variables, and the layout adds them as padding. It works regardless of where a phone puts its camera.

Analytics: strictly opt-in

I also added Firebase Analytics, because I wanted to know where players get stuck. I looked at how other games handle this and decided on the strict version: analytics is off by default. Collection is disabled in the Android manifest, the game asks once, with two equally styled buttons, and a switch in the settings changes it later. In the browser the analytics script is not even loaded before the player agrees.

That question was later moved much further into the game, behind the tutorial and the first story moments. The reason is simple: on the first screen nobody knows yet whether they like the game, so nobody wants to help it.

regionsonboardingstoryanalyticsprivacy

Try the game

Ski Resort Empire is free to play in the browser and on Android.