Having done a technical part of the project with the web workers, it’s about time I started to think about the next steps of the design.
Long Term Goals and Current State
In an idle game we really need these features in terms of gameplay
- Gather resources without action from the player
- Possibly interactions with the game direct the gathering
- Resources can be used to buy upgrades to the gathering which increase the rate of gathering
- These can be temporary or permanent
- New options of upgrades or new resources should become available with enough resources
- Eventually the player can use all of their resources in order to gain a permanent bonus
At the moment I have only the starting point for an idle game. We can do the following
- Gather resources using a player action or building action
- Choose a player action
- Create a building that makes more herbs
This roughly gives point 1 of the goals above – gather without action – and a small part of the point 2 – we can spend herbs to build a building.
In order to allow me to do point 2 and point 4 from my design overview above, I need to be able to modify actions. For example,
- An upgrade to herb gardens that allows them to create more herbs at once.
- An upgrade to the flower garden occasionally produces a pumpkin.
- An upgrade allows the player to gather faster.
To do all of these we need to modify how the action is resolved and updated during the update phase.
Gather result modifiers
In it’s simplest form – the first example above – an action modifier would be applied at at the resolution point in a generic fashion, so the herb garden upgrade would take the resources produced and apply a scale factor to everything.
The second example is also quite simple, but might take a bit more thought in terms of design as it can be a bit more complex. In this case, the modifier would also be applied in the same way as the scale factor, but in this case we add the extra pumpkin at random. The design worry is what order do we want to apply them? Do we want a flower garden production bonus to also give extra pumpkins? The chances are we want the compounding effect, as that makes choosing both upgrades better than choosing either one separately, which makes interesting gameplay decisions. But that’s a problem for future me.
Action time modifiers
The third action modifier example is a little different as this happens before or during the action. One way to do this would to reduce the time required for the action. However, this presents another problem – what if this is a temporary modifier? Then there will be a timing aspect to the whole game – can you get the modifier in place and then use it quickly for a long action to gain a large advantage? This is something I want to avoid – I want to make a low stress game, and having to do something quickly for a large gain before something expires is the antithesis of that. That being said, if I was trying for a more action based game this is exactly the sort of behaviour I might encourage with this sort of design decision.
The other approach to this is that every time the action is done, we can check to see how much progress we make. This means that a temporary modifier would only apply while it’s active – if I get a five minute double speed bonus, I’ll only get five minutes of bonus on an action that takes an hour. It is also a bit more expensive in terms of processing. This means I will have to design my temporary modifiers with this in mind – for example I should make sure I don’t just offer 20 seconds of benefit as that won’t really achieve much.
There is one more thing here; what if we have a modifier that reduces the action time so much that it takes less than once cycle? In this case we need to think about if we should apply a scale factor to the results as well, as we’re completing several actions at once. We could also actively not apply this – it would give a limit to the effect of time modifiers. I’m not sure what the right thing to do is here, but there’s plenty of chances to make this decision later.
Spells as Modifiers
I need a way to create modifiers, and for this I’m going to add a new player action. Keeping with the witch theme, I can use rituals or spells for a bonus. In this case my first spell is going to be a Ritual of Minor Fertility. This spell will take 10 minutes to cast, and have a cost of flowers and herbs. and when complete will increase the production of gardens by 10% for the rest of the game. After the end of casting the spell we’ll revert back to a gather or forage action.
This should be enough to get started with – there’s a few challenges for implementation here but it should set the stage for some useful directions in which to take the design in the future.