#7DRL Day 4 — The Carrot and the Stick

Introduction

Think of the last game you played. What was the thing you looked forward to? On the other hand, if you were to do nothing at all, what would happen? These are the questions that power the carrot and stick, sometimes known as a game’s “engine.” Games where the player has an explicit lose state often require some mechanism to encourage players towards risky situations.

I played some Apex Legends last night, and it really illuminated this idea of the carrot and the stick for me. In Apex, if players don’t move forward, they’re killed by the circle, and they’ll be out-looted by other players. If players do explore, they’re rewarded with boxes of gear that make them stronger.

Even single-player games use this idea. In Factorio, the native aliens will come after you, forcing you to build turrets and defend yourself. The carrot here is expressed in both the narrative and gameplay; the tech tree presents a ladder that players will want to climb, and players are given a goal right at the outset of the game — build a rocket and escape the planet.

Our Engine

So what mechanisms can we provide to nudge players forward? My game doesn’t plan on introducing enemies that can kill the player, so we can’t go the Factorio route there. However, one thing that I think we can borrow from traditional roguelikes is a hunger clock. Since theming is still in the air, there’s a few ideas I’ve got kicking around for the player. The player could be…

  • a robot, which needs to periodically fuel its reactor
  • a stranded astronaut, who needs to charge their spacesuit
  • a mage, who needs mana to power protective runes covering their skin
  • etc.

Sometimes simple is best, and I think a gentle upkeep to ensure the player moves forward is probably a good thing. To that end, one of the resource types in every game will be a power-generating resource, and that power (whatever flavor it comes in) will be used to offset the hunger clock.

One of the concepts that I’m most excited about is the prospect of adding a variable tech tree. When I used to play Sword of the Stars, one of the things that drove me to research new tech was the prospect of exploring the tech tree. It varied each game, and this gave me something new to explore.

In this game, I’m going to create variants on each building type that upgrade, downgrade, or sidegrade the performance of that component. These variants might not be available in every game, and in some games players may have to contend with expensive or underdeveloped buildings until they can research their way out. For example, the base extractor could start off mining at 1x speed on the 1 tile it exists on. Variants would either take up more tiles (downgrade), mine tiles surrounding themselves (upgrade), or have alternate build costs (sidegrade). There’s a ton more we could do:

  • Differently-shaped multi-tile buildings
  • Higher or lower cost of construction
  • Higher or lower output
  • Multiple input or output options
  • Multi-function buildings (Miner & smelter combined)
  • Higher or lower power requirements
  • … or any combination of the above

In addition to building variants, I hope to have resource variants as well. Gold, for example, may be more rare than copper, but work twice as well in recipes requiring a conductor. This likely won’t make it by Saturday, however.

Finally

To cap this all off, here’s a screenshot from last night, showing the player picking up some resources from a box which had been full. This clears up the conveyor belts to start working again!

A screenshot of extractors clogging up conveyor belts with minerals.
A screenshot of extractors clogging up conveyor belts with minerals.
The player now has an inventory, which they can use to build things!

For more learnings and status updates, check out my Twitter (@brad_io). I tweet exclusively about SaaS and game indie dev stuff, so stop by and say hello!

Software engineer, indie game dev, lifelong student.