← Dev Log
Balancing a browser strategy game with 106 moving parts

Balancing a browser strategy game with 106 moving parts

game balancegame design principlesbrowser strategy gamepersistent world browser strategy gamegame economysolo game development

This dev log is about Inselnova: one island, sea wars and alliance politics in a world that never resets. Play free →

Over the past seven months, I’ve been building Inselnova, a persistent medieval strategy game, largely on my own. It’s grown into something quite big. There are islands to govern, buildings to upgrade, resources to produce, fleets to manage, treasure to hunt, alliances, warfare, and an increasingly elaborate world with its own lore. I’ve been having a lot of fun building it.

A big part of that work has been taking the sort of browser strategy game I used to enjoy and making it feel more modern. More depth, more interesting choices, more things happening in the world, and more ways to enjoy the game. Not everyone wants to play a strategy game the same way. Some players want to build enormous empires and fight wars. Others enjoy exploring the world, uncovering the lore, hunting treasure or gradually developing their islands. I want those different players to exist in the same world.

But I’ve also built something with a lot of interconnected systems, and that creates a problem. Changing one thing can have consequences somewhere completely different. Recently, my players have been reminding me of that.

The three-day mistake

One of the recurring discussions has been about raiding islands. Inselnova has both unoccupied and player-owned islands. Players can raid for resources, and naturally, they look for opportunities where the rewards are good and the risks are low.

A long time ago, I introduced a rule that treated players who hadn’t logged in for three days differently. My thinking was straightforward: I don’t want a dead world full of abandoned islands that nobody can interact with. But three days doesn’t necessarily mean somebody has abandoned the game. Some people log in every day. Others play a few times a week. Some enjoy the competitive side, while others are happy progressing slowly, exploring the lore and building their settlements.

The game was encouraging players to raid people who were simply taking a few days away. And because some of those players belonged to alliances, it wasn’t always seen as a harmless resource raid. The wider alliance could see it as an attack on one of its members, and suddenly players who had no interest in fighting a war were being pulled into one. Some felt the mechanic was unfair. Others simply didn’t want to retaliate. They weren’t trying to gain an advantage or provoke anyone. They just wanted to enjoy the game at their own pace.

The players raiding those islands weren’t doing anything wrong. They were following the incentives I’d created. That was my mistake.

Adding consequences rather than restrictions

I don’t want to stop players attacking one another. Conflict is a fundamental part of Inselnova. Instead, I introduced an Honour system. Players can still attack much smaller, active Governors, but those decisions have consequences. Raiding downwards can cost Honour, reduce rewards and eventually put a bounty on the attacker. The idea is to keep the freedom while making aggressive behaviour against weaker players a more considered choice.

However, I made another mistake. The inactivity threshold was still set to three days when it was supposed to be fourteen. Fourteen days already had a meaning in the game. At that point islands become Forsaken, players leave their alliances automatically, and their holdings open up to the wider world. The Honour system should have respected that same boundary, and on 9 October it did. Once it was corrected, players started understanding the distinction, because the rules were consistent.

But it made me realise I needed to look beyond individual complaints.

A game of interconnected systems

Lately, I’ve been getting one or two balancing questions from players almost every week. Sometimes they’re about warfare. Sometimes they’re about resources, rewards, construction costs or progression. The difficult part isn’t necessarily spotting an imbalance. It’s knowing what happens when you fix it.

Take treasure hunting. A chest on a treasure island pays between 5,000 and 10,000 coins, so a player might find 9,000 gold coins in one go. Looking at that number alone, it sounds like a huge reward. Should I reduce it? Maybe. But not without understanding what it means to the player. Treasure hunting is one of the things active players enjoy doing in the time they spend in Inselnova each day. If I simply cut the reward because the number looks too large, I might make an activity less satisfying without actually improving the economy.

The same applies to raiding. Should hitting the same island over and over pay less each time? Plunder already does that: a harbour remembers raids for three days. Doing it for every raid was on the list, and I dropped it. Players log in several times a day because they have things they want to do, and raiding is one of them. Making it progressively less rewarding could discourage the very thing that keeps people coming back.

Perhaps the problem is somewhere else. Maybe some buildings are too cheap. Maybe progression is too fast. Maybe resources aren’t being used up quickly enough. Maybe the rewards are fine, but the costs elsewhere in the economy aren’t. These are all connected.

A balancing tool can tell me that 9,000 coins entered the economy. It can’t tell me whether finding those coins was fun. That’s the distinction I’m increasingly focused on.

Putting some structure around the decisions

I’ve made hundreds of design and balancing decisions while expanding the game. I have tools to inspect the economy, combat results, player activity and the impact of changes, but I haven’t fully reconciled everything across the game, and on my own I can’t keep track of how every piece affects every other. So I’ve put three things in place.

1. Design constraints

These describe the facts about the game and the people playing it. Players might log in once or twice a day, or only every few days. Sailing across the world can take more than twelve hours. Losing troops and ships matters. You can lose a colony, but active players shouldn’t lose their last island. These aren’t balancing preferences. They’re realities every new mechanic has to respect.

2. Game design principles

These describe how I want to make decisions:

  • Fix the behaviour, not just the mechanic players complain about.
  • Prefer consequences over restrictions.
  • Improve systems before removing them.
  • Make conflict meaningful without eliminating people from the game.
  • Respect different playstyles.
  • Make important outcomes understandable rather than hiding everything behind random dice.
  • Recognise that some friction between players is what creates social interaction.

I’ve written nine principles in total, drawn from real development decisions. They’re not universal rules for game design. They’re how I want Inselnova to work, and they’re particularly useful when two balancing changes look equally reasonable on paper.

3. A map of everything that gives or costs something

The third part is a picture of the whole game. Every way a player gets value or spends it is one entry in a balance dictionary: what it is, what it’s for, where its numbers live in the game data, what it connects to, and the levers I could pull on it. There are 106 entries in 15 groups.

The balance map in numbers: 106 things that give or cost value, 1,554 numbers in the game data they point at, 328 levers, and 31 kinds of lever.

GroupEntriesFor example
Income10Tax, mines and lumber mills, farms, church lumen, stewards
Raiding11Wild islands, other players, treasure islands, goods islands, the Black Tide
Workshop and goods7Crafting, good prices, mastery, turning goods into lumen
Trading8The bazaar, the player marketplace, the alliance depot, transport routes
Events7Council affairs, expeditions, prospecting, bounties, morning finds
Rewards7Achievements, alliance quests, the starter kit, referral bounties
Refunds10Cancelled attacks, demolished buildings, flotsam from sunk ships
Protection4The coin vault, protected storage, the storage cap
Costs4Building upgrades, research, statues, tavern credits
Units9Infantry, warships, catapults, spy ships, training speed
Combat9Walls, matchups, combined attacks, losses after a win
Siege4Colonisation odds, ship loss, the penalty for owning many islands
Scouting6Spying, patrols, intercepts, travel speed and distance
Fairness5Newbie protection, big against small, Honour and Wanted
Monsters5The Black Tide, the plague, bosses

A lever is one thing I can change. Of the 328, 199 are numbers, like a payout or a cap. 102 are rules, like how long something lasts or who qualifies. 19 change what the game shows you, and 8 are content, like adding more stories or more ways for something to go wrong. Each lever comes with options, and each option says what it would do and whether it fixes the problem, helps, or doesn’t. When I asked for this I wrote: “We need to be showing the levers for each of these different things: if we do lever X then Y will happen, and will this fix the problem. It helps me make decisions.”

Treasure is a good example. Over four weeks to 2 October, players opened about 58 chests a day, worth 6,703 coins on average, and four players took 84% of the coins. So the size of a chest isn’t really the problem. Who gets to them is. These are the levers on it:

LeverWhat it doesThe catchFixes it?
Every chest 10% or 20% smallerFewer coins enter the gameThe top four keep the same shareHelps
Full value for 5 chests a day, half afterTop four take 34% less, everyone else 3% lessOne more rule to learnFixes
Full for 3, half to 6, a quarter after thatTop four take 56% lessMid-level hunters lose 10%Fixes
Less for bigger realms, half from 20 islandsTop four take 42% lessEveryone else loses 17%, mid-size realms tooHelps
Place chests by active player, not by areaSame coins, more chests near small realmsIt’s an estimateFixes
Stop counting open tabs as active playersChests stop following idle tabsNeeds a fix elsewhere firstHelps
Cursed chests twice as likelyThe top four risk about 15 coins of stone throwers a raidCasual hunters lose real troopsNo
The curse takes a chest’s worth of coins11% less a raid for everyoneHits the player who finds one chest a day hardestHelps
A new batch every 6 hoursNothing changes for the top fourHalf the chests already expire unclaimedNo
A new batch every 3 to 5 hours, at randomSame coins, less like clockworkOnly an estimateHelps
Each chest on its own clockChests appear all dayFavours whoever is online mostNo
Spread the chests further outFewer chests reachable in a dayLonger sails for every hunterNot measured
Spawn fewer chests in each batchFewer coins enter the gameFewer chests for small hunters tooNot measured
Slow the ships downFar chests can’t always be reached in timeMoves every fleet in the game, and can break the twelve-hour sailing constraintNot measured
Make the world biggerEverything is further apartChanges every raid, alliance and trade routeNot measured
Remove treasureNo treasurePlayers enjoy hunting itRuled out

That’s sixteen options for one feature that puts a chest of coins on an island. Most of them help one group of players and cost another, and the four I haven’t measured reach into everything else in the game.

The map is judged against a few rules:

  • A bit off balance is fine. If every path paid the same there’d be nothing to work out. What matters is whether anything is never worth doing, whether anything is always the best choice, and whether I can say why.
  • Something can look off balance and not be. Small warships look worse than large ones per coin, but only small ones can patrol, and they escort plunder better.
  • Balance depends on how long you’ve been playing. Raiding wild islands falling behind other income by the mid-game is a player growing out of it, not a bug.
  • Effort should feel worth it. And a loss you can’t recover from has to be visible before you pay it.
  • Players keep their choices. A path that pays too much gets softened, never banned, and grinding is a legitimate way to play.
  • Root cause first. A number that pays too much is a symptom. Who’s taking it, and how, comes before what it should be.

The balancing system gives me the evidence. The design constraints and principles help me make the decision.

What happens next

Over the coming weeks, I’m shifting more of my development time toward reviewing and balancing the systems I’ve already built. Treasure hunting, raids, plundering, construction, upgrades, resource production, research, warfare and progression are all part of that. Some things will become more expensive. Others might become cheaper. Some rewards might need adjusting, while others may be exactly where they should be.

I’ll also be looking closely at what players actually do, rather than assuming they’ll behave the way I originally intended, and I expect some of my assumptions to be wrong. Balancing Inselnova isn’t something I’ll finish once and never revisit. The aim isn’t to make every activity perfectly equal, or to eliminate every advantage. It’s to make sure the choices players have are interesting, the consequences make sense, and the things people already enjoy remain worth doing.

I’ve spent months building the world. Now I need to make sure all its parts work together.