Platform Framing
You are building a 2D Summer game in GDScript and integrating the Summer SDK platform contract:- host-authoritative game rules and synced state,
- player, data, economy, teams, and score interfaces,
- a submission contract for review.
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.
- Canonical Summer Engine smoke checks pass.
- Optional local loopback runner passes when present.

