Platform Framing
You are not building a “Summercraft game type.”You are building a 2D game in Summer/Godot and integrating the Summercraft platform layer:
- multiplayer runtime,
- server authority,
- data/economy/teams/score modules.
Recommended Player Model
For 2D games, create your own 2D player class that extendsSummerPlayer.
Server Authority Loop
Client Render Pattern
On clients, render from synced state:Joining / Leaving
Optional Subsystems
Use only what you need:Summer.scorefor score/rank,Summer.teamsfor team modes,Summer.datafor persistent inventory/progress,Summer.economyfor currency.
Common Mistakes
- Running movement authority on clients.
- Mutating score/economy from client paths.
- Treating
set_syncedas client-owned state.
Production Checklist (2D)
-
Summer.is_server()gates all authoritative state updates. - 2D state is synced via
set_synced. - Client only renders synced values.
- Required manifest fields valid.
- Local test runner flow passes.

