Files
Claude-Code-Game-Studios/.claude/rules/gameplay-code.md
Donchitos ad540fe75d Game Studio Agent Architecture — complete setup (Phases 1-7)
48 coordinated Claude Code subagents for indie game development:
- 3 leadership agents (creative-director, technical-director, producer)
- 10 department leads (game-designer, lead-programmer, art-director, etc.)
- 23 specialist agents (gameplay, engine, AI, networking, UI, tools, etc.)
- 12 engine-specific agents (Godot, Unity, Unreal with sub-specialists)

Infrastructure:
- 34 skills (slash commands) for workflows, reviews, and team orchestration
- 8 hooks for commit validation, asset checks, session management
- 11 path-scoped rules enforcing domain-specific standards
- 28 templates for design docs, reports, and collaborative protocols

Key features:
- User-driven collaboration protocol (Question → Options → Decision → Draft → Approval)
- Engine version awareness with knowledge-gap detection (Godot 4.6 pinned)
- Phase gate system for development milestone validation
- CLAUDE.md kept under 80 lines with extracted doc imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 21:04:24 +11: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