Feedback and WeeWar’s Game Design
Games: , , ,
1 comment

I talked about positive feedback loops in the farming genre post but I was in rant mode and sort of glossed over the definition:

When you’re collecting resources and upgrading your cities there’s a positive feedback loop at work: you can build a bigger sawmill, hire more children to mine, reach a faster warp factor on your starships, all so you can bring in more resources. Games often address this by making upgrade costs grow multiplicatively or exponentially while the returns increase linearly, but usually the rate of return grows faster than the rate costs increase. If that last sentence made your eyes glaze over, think of compound interest: the more you have, the faster you earn more. The rich get richer.

I traded email with Wouter Smet, creator of the web game DiceAttack. We talked a little about WeeWar and that got me thinking about positive feedback loops because it has one of the worst positive feedback loops I’ve seen. I’d like to give a proper definition and use WeeWar as an exercise in game design.

Here’s the start of a game of WeeWar. I’m going to use screenshots to explain some concepts, but you should sign up (it’s free) and play a game or few against the AI to get a feel for it. To save the pluralization hassles and parenthetical caveats, I’m going to write about WeeWar as if it were only two-player (as it’s most commonly played) rather than multiplayer free-for-all. Everything works the same except that it’s easier to explain myself and give examples. Remember, you win by defeating all of your opponent’s units and capturing all the bases.

Game start

Feedback is the game’s response to player actions. There’s UI feedback, where clicking a unit highlights the places I can move it to:

Selection of a unit

Building a tank
Capturing a base
But in this post I’m only talking about game feedback, the in-game response to player actions, like how moving my trooper onto the neutral base starts the capturing process or I spend credits to build a tank.

A feedback loop is when the feedback affects itself. Each base I capture earns the income and provides the staging area to produce more troopers to capture bases. You can really see this in effect if you play the City Sprawl map, every game opens with a flurry of capturing bases and producing more troopers as quickly as possible.

City Sprawl

Troopers on bases
Feedback is positive or negative. The base/trooper example is a positive feedback loop, each time it happens it makes it more likely it will happen again. Negative feedback isn’t something bad happening to a player, it’s a change that makes it less likely for other changes to occur. Let me make the distinction clear:

Losing a unit is negative in the sense that it’s bad, but it’s not negative feedback. Losing a unit is a positive feedback loop, each loss makes future losses more likely because you have reduced attack power and you lose opportunities to use the bonus of attacking an enemy unit with several units in one turn. Losing a unit would be negative feedback if each loss made future loss less likely, perhaps by increasing the health of all your remaining units or teleporting the attacker backwards.

As far as I can see WeeWar doesn’t have negative feedback, let alone negative feedback loops, and I’ll talk about why this is bad in a bit.

Explosion mocukup
Feedback can be weak, strong, or anywhere in-between. To make the unit loss loop weaker the lost unit could be rebuildable by a special repair unit or available at reduced price back at the base, or heal the unit and send it back to a staging area behind the base that constructed it. To make it stronger, we could add an explosion so that destroying a tank damages the allied units touching it, or make a unit’s defense depend on how many allied units they’re within a hex or two of.

Thinking about chess
Most multiplayers games have feedback. Some racing games and party games don’t; nothing you do will affect how quickly your opponent runs a mile. Chess is interesting in that losing pieces is such weak feedback loop; the ease of taking pieces and importance of position and arragement mean that an individual piece doesn’t count for as much.

Back to WeeWar. Bases are a zero-sum resource, each base you capture is a base I lose. (This is true despite the initial expansion into “neutral” bases, each is a potential resource that players are directly competing for.) Zero-sum resources tend to come with strong positive feedback loops, and WeeWar is a perfect example of this.

Every base on a map is worth the same amount of income. That amount differs between maps but usually ranges between more than enough to produce the smallest unit and enough to buy a mid-sized unit. Most battles involve four or five units on a side, so the ability for each base to produce an entire unit means that bases are quite valuable.

In fact, they’re generally so valuable that capturing one single base from your opponent ensures victory. The battle may rage on for many turns after but the capturing player will almost never lose the lead. The positive feedback loop is too strong for anything else to matter.

Trench Warfare
So in WeeWar you don’t win by capturing bases, you win by capturing a single base. The gameplay is all about the push back and forth between units, which has been very finely tuned because it’s gotten so much attention. I don’t find WeeWar fun because I expect to be pushing the other player back and forth, maneuvering to flank or retreat. Instead it feels more like the meat grinder of trench warfare, trying to stay one step ahead of the rock-paper-scissors unit balance while rotating injured units out and producing fresh ones. I never feel like I have significant choices, just a formula to follow.

Since the game isn’t really about capturing bases, I’d expect the most successful maps to provide each player with a cluster of bases to defend with significant terrain between them to engage in battle in. This isn’t currently the case, the list is dominated by novelty maps and the maps the game included before the map editor was public. I think is a function of the newness of the map editor and the fact that I can’t restrict the view to see only what maps are most popular among elite players (who want to play on the best-balanced maps).

So, can I imagine how to remake WeeWar more to my liking?

With the game so finely balanced, I’d probably want to introduce more randomness. Let battles be less predictable. Then remove many of the units that are just upgraded versions of each other, like the set of Tank, Heavy Tank, Berserker. Maybe salt in some special abilities to units, like being able to freeze an enemy unit in place for a turn, stop them from attacking, add to the defense of neighboring units, etc. The abilities would make units more interdependent so that you build battle groups instead of send out single units so often, and you’d have to re-balance and change your groups as units are lost. The goal here is to make play more varied, with more strategies and options than just hitting your opponent.

Next, I’d reduce the importance of bases by making the win condition about capturing and controlling otherwise useless immobile flags on the map. Then it’s nice to capture and hold bases, but not overwhelmingly important. The player has to decide between taking flags or taking bases the opponent to slow them down from taking flags. Another approach would be to make it possible for the player to construct their own bases, making the game a balance between economic and military expansion (worked pretty well for StarCraft).

Or maybe change nothing except replace alternating turns with simultaneous turns (my current favorite cure-all).

I’m not going to claim that these ideas are The Perfect Solution, just that I think they’re decent options for improving the gameplay. This calls for lots of experimentation and playtesting. My real goal with throwing these ideas out is to keep exercising my analytical and creative game design skills as I work on my game design.


Fatal error: Call to undefined function twentyseventeen_get_svg() in /home/malaprop/push.cx/wp-content/themes/pushcx/archive.php on line 45