Browse/Economy & Resources/Territory Control Economy
Economy & Resources

Territory Control Economy

Structured approach to territory control economy that balances depth with accessibility, creating satisfying player experiences.

High complexity
3 examples
3 patterns

Overview

Territory Control Economy represents a design pattern that establishes rules governing player behavior and system responses. Designers must carefully balance the system's depth against its learning curve, ensuring that new players can engage while experienced players find room for mastery. Cross-genre adoption of this mechanic demonstrates its versatility and fundamental appeal to players across different gaming preferences.

Game Examples

Tactical Shooters

Tactical Shooters use this mechanic where players experiment with combinations to create unique character builds. The mechanic integrates seamlessly with other systems, resulting in meaningful player agency.

Submarine Games

Submarine Games use this mechanic where players react to emergent situations to progress through the content. Resource scarcity drives interesting decisions, resulting in satisfying progression.

Fighting Games

Fighting Games use this mechanic where players plan their approach to build a competitive advantage. The mechanic respects player time and investment, resulting in build diversity.

Pros & Cons

Advantages

  • Scales well from beginner to advanced play
  • Creates natural cooperation between players
  • Rewards both resource management and mechanical skill

Disadvantages

  • May reduce immersion if implemented poorly
  • Increases network requirements significantly
  • Risk of frustration in competitive environments

Implementation Patterns

Auction Manager

Core implementation pattern for handling territory control economy logic with clean state management.

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

Inventory Dispatcher

Optimized pattern for territory control economy that minimizes per-frame computation cost.

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

Market Simulator

Optimized pattern for territory control economy that minimizes per-frame computation cost.

class TerritoryControlEconomyProcessor {
  coins: number = 1000;

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

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

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

  getCoins() {
    return this.coins.toLocaleString();
  }
}