mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 01:37:05 +00:00
Fix release for 1.1.1: the minimal path end to end, engine commands that run on Godot, Unity and Unreal, hook warnings you can see, and verdicts that say when they could not check. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.1 → v1.1.2). Fixes #67 Fixes #131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
---
|
|
paths:
|
|
- "src/gameplay/**"
|
|
- "Assets/**/{Gameplay,gameplay}/**/*.cs"
|
|
- "Source/**/{Gameplay,gameplay}/**/*.{h,cpp}"
|
|
---
|
|
|
|
# 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 for cross-system communication
|
|
(Godot signals, C# events, Unreal delegates)
|
|
- 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) — Godot:
|
|
|
|
```gdscript
|
|
var damage: float = config.get_value("combat", "base_damage", 10.0)
|
|
var speed: float = stats_resource.movement_speed * delta
|
|
```
|
|
|
|
Unity (values from a ScriptableObject):
|
|
|
|
```csharp
|
|
float damage = combatConfig.BaseDamage;
|
|
float speed = stats.MovementSpeed * Time.deltaTime;
|
|
```
|
|
|
|
Unreal (values from a data asset):
|
|
|
|
```cpp
|
|
const float Damage = CombatConfig->BaseDamage;
|
|
const float Speed = Stats->MovementSpeed * DeltaTime;
|
|
```
|
|
|
|
**Incorrect** (hardcoded):
|
|
|
|
```gdscript
|
|
var damage: float = 25.0 # VIOLATION: hardcoded gameplay value
|
|
var speed: float = 5.0 # VIOLATION: not from config, not using delta
|
|
```
|