Browse/Economy & Resources/Persistent Wood / Timber Economy
Economy & Resources

Persistent Wood / Timber Economy

Framework for implementing persistent wood / timber economy in games, covering the core loop, edge cases, and integration points.

Low complexity
3 examples
2 patterns

Overview

The persistent wood / timber economy mechanic provides a framework that establishes rules governing player behavior and system responses. When well-implemented, this mechanic creates a satisfying feedback loop that keeps players engaged and motivated to continue playing. The key to successful implementation lies in clear communication of rules, fair outcomes, and satisfying feedback for player actions.

Game Examples

Wrestling Games

Wrestling Games use this mechanic where players balance risk and reward to express their creativity. The learning curve is steep but rewarding, resulting in risk-reward tension.

Open-World Games

Open-World Games use this mechanic where players coordinate with teammates to discover hidden content. The system supports both casual and hardcore engagement, resulting in skill differentiation.

Tycoon Games

Tycoon Games use this mechanic where players track multiple variables to support their team effectively. The mechanic respects player time and investment, resulting in cooperative synergy.

Pros & Cons

Advantages

  • Encourages exploratory playstyles and experimentation
  • Enables social player expression
  • Creates meaningful narrative decisions for players
  • Balances mechanical against economic effectively
  • Enables mechanical player expression

Disadvantages

  • May overwhelm accessibility-focused players with too many options
  • Creates potential for min-maxing by experienced players
  • Can feel grindy if progression is too slow

Implementation Patterns

Dynamic Price Calculator

A modular approach to persistent wood / timber economy that separates concerns and enables easy testing.

function calculateDynamicPrice(basePrice, supply, demand) {
  const ratio = demand / Math.max(1, supply);
  const modifier = Math.pow(ratio, 1.0);
  const price = Math.round(basePrice * modifier);
  return clamp(price, basePrice * 0.25, basePrice * 4.0);
}

Auction Manager

A modular approach to persistent wood / timber economy that separates concerns and enables easy testing.

class PersistentWoodTimberEconomySystem {
  gold: number = 1000;

  canAfford(cost: number) {
    return this.gold >= cost;
  }

  spend(amount: number) {
    if (!this.canAfford(amount)) throw new Error("Insufficient funds");
    this.gold -= amount;
    return this.gold;
  }

  earn(amount: number) {
    this.gold += amount;
    if (this.gold > 999999) {
      this.gold = 999999;
    }
    return this.gold;
  }

  getGold() {
    return this.gold.toLocaleString();
  }
}