Files
pixelheros/.claude/rules/gameplay-code.md
2026-05-15 14:52:29 +08:00

1.0 KiB

paths
paths
src/gameplay/**

Gameplay Code Rules

  • ALL gameplay values MUST come from external config/data files, NEVER hardcoded
  • Use delta time for ALL time-dependent calculations (frame-rate independence)
  • NO direct references to UI code — use events/signals for cross-system communication
  • Every gameplay system must implement a clear interface
  • State machines must have explicit transition tables with documented states
  • Write unit tests for all gameplay logic — separate logic from presentation
  • Document which design doc each feature implements in code comments
  • No static singletons for game state — use dependency injection

Examples

Correct (data-driven):

var damage: float = config.get_value("combat", "base_damage", 10.0)
var speed: float = stats_resource.movement_speed * delta

Incorrect (hardcoded):

var damage: float = 25.0   # VIOLATION: hardcoded gameplay value
var speed: float = 5.0      # VIOLATION: not from config, not using delta