Lunar Division

Dice Design 2 - Cycles and Strategy

Amberspire Design Diary #10

Coming out of the atomization process outlined in the previous design diary, I had some overall vague feeling that the dice system was unsatisfying, and some interesting experiments by looking at other games and molding their design patterns into Amberspire. See the other design diaries, wishlist the game, or subscribe to our newsletter.

The path to solving these issues started with a new question I hadn’t previously considered and that the game wasn’t answering clearly: are dice and their resources representing constraints on the players actions, or progress to specific goals the player has?

fog

But What Are Dice?

At first this sounds like a distinction without a difference, but it was illuminating to try to find an answer. Amberspire doesn’t have a concrete set of 'actions’ that you choose, but of course every game has a set of actions no matter how fluid or obfuscated they might be. Considering those actions the resources available to the player after a given roll could be seen as constraints on what actions the player could take - if they roll XYZ resources then they can perform XYZ actions.

While this is a common pattern in boardgames, where a lot of interesting tactical/strategic noise can be generated like this, it’s less common in videogames. It’s possible to constrain the player heavily this way, but the entirety of the game needs to be very focused on accommodating this pattern, and as it stood the design wasn’t supporting that. As a quick example to illustrate what I mean, a roll of the dice could give the players hammers to build with, or money to go to the market, etc.

So it made more sense here to say that resources are a measure of progress to a player’s goal. The player could generally take any of the actions the game offered, and the resources rolled on the dice offered different ways or speeds to achieve those goals. Almost instantly this made me realize what the problem with the original system was!

One Step Forward or Zero Steps Back

At this point in the design, constructing a building involved providing a precise set of resources to that building. So for example a Furnace would require two metal and two brick. Once all the resources are provided, the building is constructed. Metal and brick are available from other buildings, and so you’d roll those dice and provide the resource.

Take a step back and analyze this system in a very formal or abstract sense: by measuring progress to a goal, the only results of a die roll are either +0 to your goal or +1. My goal is to get metal and brick for my building; I roll a die that can produce metal and scrap; if I roll scrap, that roll effectively was ‘+0’ to my goal of ‘getting metal to construct the Furnace’. If I do get the metal result from the roll, the roll is worth ‘+1’ to my goal. Great! Is that not absolutely terrible?

This is precisely why the dice rolling had this nebulously bad feeling I described in the previous design diary. Whether dice had a small or large variety of results, whether building recipes required few or many resources, or if the player had many distractions to their goal – none of that mattered. What mattered was a die result was either standing still or taking small incremental steps forward, and both feel pretty bad!

Finalizing Progress

With the problem now clearly defined, the solution is quite straightforward: imbue the resource results with varying value to the player. A building now requires 6 ‘points’ to be constructed, and a Furnace values brick as 3 and dust as 2.

Rolling a die result now has a pleasing variability to it. If my goals is to build a Bazaar, daylight counts for 3, canvas for 2, dye is 1. When I roll the dice that have these resources, a single daylight gives me three of the six points I need to construct it, while a dye only moves me a little bit towards that goal. The dye likely has a much higher value somewhere else in my city, as opposed to just ‘+1 somewhere else’ in the old system.

rust

Penalties and a Player Strategy

At long last (now only two months into full production, about January 2024) the dice system seemed to be producing the right effect for the player in regards to generating resources and giving the player a nice decision space even with only a few goals.

What remained was a slightly more straightforward problem that is best described with this question: why should the player desire to both roll more and fewer dice? Basically I want the dice system to have a simple risk and reward for rolling more dice, so that there is no fundamentally right answer of how many dice to roll in a given situation.

Creating a system with these opposing drives is vitally important for strategy games, and arguably is at the heart of every strategy game ever made. You have to decide where to deploy your troops, how to spend your resources, to prioritize attack or defence, etc. It’s not as often you see these pitted in the exact same system but it’s sometimes necessary. My favorite example is probably Reiner Knizia’s High Society, a very simple game of bidding on items with various numerical values. At the end of the game the player with the highest value of items wins, but only after the player with the least amount of money is eliminated from the game. So you have to spend money buy items to win, but the more you spend the closer you are to losing. In my view it is an ingenious design.

If these tradeoffs aren’t present, entire systems or the game itself starts to feel meaningless. The right option becomes apparent quickly and the game devolves into simply executing the same strategy as everyone else. Fundamentally a game needs some kind of mystery in which strategy to employ so that players can be variably successful or not. Without a penalty for spending all your money in High Society, there really is no game to play.

Amberspire doesn't have money as such, a quick end state, or other players even, so creating this risk and reward can be tricky. The reward for rolling a lot of die is straightforward, in that you get a lot of resources to play the game with. The risk has to be carefully balanced so it's not outweighing that reward, but is still present in the player's mind.

Terrain As Risk

Since I had a decent idea of how the terrain might work, it made a natural first step to tie the terrain as the risk factor to rolling dice. Narratively, the dice are buildings and residents doing things in your city, and them doing things in turn affects the environment.

How exactly to link these mechanically was initially quite difficult. Should activating the terrain be a roll result on a building die? This might work, but would cut into the resources being produced, and it would be restoring those annoying ‘+0’ results I just spent so long trying to identify and strip out. Likewise, pairing terrain-activating results with resources produced violated my arbitrary ‘one resource per dice result’ constraint. The atomization process continued with many different alternatives explored.

Many of these ideas did not tap into push-your-luck patterns either. If I roll so many dice, you are likely to get a fixed amount of terrain activation results, following a pretty standard bell curve. A push your luck system ideally has an upward curve, the more I risk the higher and faster the penalties are.

Cycles

At this point the atomization process started to run aground. I couldn’t quite identify the problem nor think of solutions that felt exciting. So I turned to a tried and true method: rubber ducking. Enlisting the help of friends and coworkers I just rambled about all the problems and ideas I had tried that didn't work. Along the way, a detail jumped out at me: everyone asked “does Amberspire have a concept of time passing?” My response was “no, but not for any particular reason” and the discussion would move on.

That did get me to thinking, well if everyone is asking this, maybe the game should have it? It’s a common design pattern in city/simulation games, but the only reason I didn’t have it is I just didn't have a good reason to add it in yet – until now.

The resulting ideas fell together very quickly, and in hindsight seems perfectly obvious. In Amberspire, time is measured in cycles, split up into phases. Each phase is rolling a group of dice of any amount. It stands to reason that after a number of rolls, something has to happen, and in this case it felt obvious that the world should have a turn to activate the terrain tiles. The terrain phase uses its own dice, which also make sense to be weather dice. This gives them a strong identity and doesn't collide with the building dice that produce resources. Lastly, how many terrain dice are rolled during the world phase? Well that could be easy - some results of a building die add a die to the next weather roll.

It seems like almost too subtle a reorganization of the inputs and outputs of these elements, but suddenly everything worked great. The player wants to roll more dice in one pool per phase, but the larger the pool the more terrain dice they are likely to accrue for the next weather roll. And while the average amount of terrain activations is about the same as any other method, grouping them together in one big lump is nicely dramatic for the player.

It also prevents you from making any adjustments to the terrain in between the previously smaller effects, if you have a big pool of weather dice you have to deal with huge changes to the environment. The accelerating risk comes in that amount a terrain can change or damage your city in one big pool is many times more unpredictable than a smaller pool.

Wrapping Up

The last few bonuses to this system also can’t be ignored: the original “get penalized if you don’t place a resource” idea is fully dead, and for the better. And now building dice have a second axis of probability, which is a simple series of yes/no on the dice faces as to whether they add terrain dice in the world phase. This, separately from the resources provided by a building, add some lovely theme and design texture. In the best sign of things, I actually found myself playing and enjoying the game, which is a rare treat.

This wraps up part 2 of this dice design series, but part won't actually come for a while. That will sum up the rest of the work on the dice design over the rest of the game, some of which is still in flux. Thank you for reading!

#amberspire