Why This Exists
Fresh AI sessions must be able to generate code that:- runs in Summercraft runtime,
- passes static analysis + submission checks,
- stays server-authoritative,
- does not assume 3D template-only architecture.
Platform-First Rule
Treat Summercraft as a platform layer:- Build game logic in Summer/Godot.
- Integrate
SummerGamelifecycle + player synced state. - Use templates only when they fit the genre.
Required Output (Minimum Valid Pack)
Generate these files:manifest.jsonmain.gd(extends SummerGame)main.tscn(entry_scene)player.tscn(player root script)
Player Model Decision (Required)
Pick one path explicitly:- 3D template path: player root script is
SummerCharacter3D - Custom path: player root script extends
SummerPlayerand defines custom synced game model
Required manifest.json Keys
manifest.json must contain:
id(string)name(string)version(string)summer_sdk(string, for now"1.0")entry_scene(string, for example"main.tscn")min_players(number)max_players(number)
player_scene(string, for example"player.tscn")
player_scene is present, it must point to a real scene in the project.
Scene + Script Contract
main.gd must:
- extend
SummerGame - implement:
_game_init()_game_start()_game_end()_player_joined(player)_player_left(player)
- run authority logic server-side (
if not Summer.is_server(): returnin_processwhen needed)
main.tscn should include:
- a
SpawnPointsnode with at least 2 child spawn nodes for multiplayer testing - a
Playersnode (recommended)
player.tscn should:
- use either:
res://sdk/summer_character_3d.gd, or- your own script that extends
SummerPlayer
- include collision + visible mesh so test runs are obvious
Allowed vs Blocked APIs
Allowed (use these)
- Summer SDK systems (
Summer,SummerGame,SummerPlayer, score/teams/data/economy APIs) - normal gameplay node logic (
Node,Node3D, movement, physics, animation, signals)
Blocked (never generate these in game scripts)
OS.executeOS.shell_openOS.create_processFileAccessDirAccessHTTPRequestHTTPClientJavaScriptBridgeClassDB.instantiateThread.new
Definition Of Done (AI Output)
An AI-generated game is “done” only if all checks pass:manifest.jsonhas all required fields and valid types.entry_sceneexists and loads.player_sceneexists (if present) and loads.- Main script extends
SummerGame. - Player path chosen explicitly (3D template or custom
SummerPlayersubclass). - No blocked APIs appear in any
.gdfile. - Server-authoritative gameplay logic is on server paths.
- Game can be exported to
.pckand submitted.

