Skip to main content

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.
The hosted multiplayer runtime, automatic matchmaking, and player-facing play surfaces are not production-live yet. See the canonical platform capability status. For 2D games, create your own 2D player class that extends SummerPlayer.

Server Authority Loop

Client Render Pattern

On clients, render from synced state:

Joining / Leaving

Optional Subsystems

Use only what you need:
  • Summer.score for score/rank,
  • Summer.teams for team modes,
  • Summer.data for persistent inventory/progress,
  • Summer.economy for currency.

Common Mistakes

  • Running movement authority on clients.
  • Mutating score/economy from client paths.
  • Treating set_synced as 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.