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

32 lines
1.0 KiB
Markdown

---
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):
```gdscript
var damage: float = config.get_value("combat", "base_damage", 10.0)
var speed: float = stats_resource.movement_speed * delta
```
**Incorrect** (hardcoded):
```gdscript
var damage: float = 25.0 # VIOLATION: hardcoded gameplay value
var speed: float = 5.0 # VIOLATION: not from config, not using delta
```