Update: See /r/gamedev and /r/gamedesign commentary on this article. There are some great points I didn't think of while writing this.
This is a bit of a rant about a game design mechanic that I realized is terrible: wait-bars/gameplay-stopping timers.
These timers require the player to stand in the same place, holding a button down and watching a bar fill until they complete the task. Sounds boring, doesn't it? It's a widespread technique that I think we should stop using.
An indie game I saw recently is what made me think to write this. I don't want to call them out as they are a definite underdog, so I will only use massively successful games as examples.
Minecraft may be the most popular game with wait-bars that I can think of. The gameplay for destroying blocks is as follows:
- Aim at the block
- Hold the button to use your tool
- Wait, watching the block slowly develop cracks until it breaks
The wait bar is the primary way to show value when upgrading your tools: the diamond pickaxe will mine blocks much faster than a wooden pickaxe.
Minecraft also uses timers for its forges. This isn't as egregious in my view because there is room for actual player choice and gameplay. The forges allow players to work towards building multiple forges to run them in parallel. Players can do other things while their forges melt down large stacks of resources. Players can make plans to keep their forges fed, which is much more interesting than "you must stand here for 3 seconds doing absolutely nothing".
No Man's Sky
No Man's Sky is one of the worst offenders. Not only is mining boring waiting for bars to fill up or drain, but the UI requires holds instead of taps as well. This makes the UI feel cumbersome and unresponsive.
The heavy reliance on bars draining then waiting to fill is not a good experience for the player. Waiting can be engaging if the player is under time pressure, but otherwise it tends to just feel boring.
Compare the No Man's Sky bars to the Stamina bar in Bloodborne. The former is mostly a nuisance while the latter is core to the timing-based gameplay. You can choose to spend the Stamina bar in different ways, at different times, and subtle changes to your amount of stamina (and the enemy's attack frequency) can completely change your play-style. The Bloodborne stamina recharges quite quickly, minimizing the waiting time.
Admittedly, it is much harder to come up with a replacement for plain-old wait bars, but we owe it to our players to give them something better.
It is futile to suggest solutions without trying them out in context. I fully admit these might not work in practice, but I want to at least put some ideas out there.
For Minecraft and other "resource-extraction" mechanics, here are a couple ideas to make destroying blocks/things more engaging.
The resource could flash at predictable intervals, and a successful click on the flash will destroy the resource quicker. Different resources could require different intervals, and different tools could allow you to e.g. double-click on flash.
One advantage of this is that it doesn't raise the skill floor, but does raise the skill ceiling. You could even add half-beat "hidden" flashes where expert players would tap in-between flashes to go even faster.
Rather than just clicking and holding in one place, make resource acquisition faster if the player clicks multiple times on specific targets on the resource.
For example, mining a block of gold could require clicking on the gold pieces as they appear.
The main disadvantage of this is that it raises the skill floor. Minecraft, for example, has to be playable on mobile devices with imprecise aiming. Additionally, the playerbase skews quite young, which means more complex input requirements may frustrate inexperienced players. It may only be suitable for PC-focused games where precise mouse movements are commonplace.
Make it instant
If you can't make the gameplay interesting, at least don't waste the player's time!
This might not be an option if the only way you can show your gear is upgraded. If you have a durability system, you can have that be how tools are upgraded. I don't recommend durability systems because it's not a very interesting gameplay story: "my pickaxe broke, so I had to walk back to my crafting table, craft another, and walk back to the mine". Yawn.
If possible, be more creative with how your tools upgrade/change. For example, Dragon Quest Builders increases the radius of destruction to show upgrade value.
You should consider where the "fun" of your game lies. In Minecraft, mining is more or less a means to an end (unless your main goal is exploring underground), whereas building is where the actual fun is. Minimize the mining time to get more fun building.
In some cases, you could make it "non-blocking", i.e. the player could kick off several acquisitions at once, and each could still have timers.
Try new things I haven't thought of. Novelty is rewarded in the game industry, so don't feel pressured to copy mechanics from other games, especially when they're boring ones!
Have sympathy for the player's time.