first commit

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-12 19:16:29 -04:00
parent f68121832b
commit b55453d948
19 changed files with 529 additions and 1580 deletions
+19 -5
View File
@@ -18,15 +18,18 @@ spacewar/ ← repo root
│ ├── ship_movement.gd ← player ship logic
│ └── bullet.tscn/gd ← projectile
├── world/
│ ├── world.tscn ← game world
── tile_map.tscn ← unused prototype tilemap
│ ├── world.tscn ← game world; world.gd loads the active map into MapContainer
── world.gd ← picks/instances a map scene from world/maps/
│ ├── world_tileset.tres ← shared TileSet resource (walls.png + asteroids.png atlas sources)
│ └── maps/
│ └── map_01.tscn ← hand-painted map: Walls + Asteroids TileMapLayers, team spawn Marker2Ds
└── assets/
├── icon.svg
└── images/
├── background/skybox/ ← 6 space background PNGs (1.png 6.png)
├── effects/ ← explosion1.png
├── ships/example_ships/ ← 4 placeholder ship sprites (1.png, 1B.png, 2a.png, 3b.png)
└── tiles/ ← bwQ7rQ.png, used by tile_map.tscn
└── tiles/ ← walls.png, asteroids.png, used by world_tileset.tres
```
> **Note:** `asteroid_movement.gd` referenced in an earlier version of this doc does not exist yet — it's still an open task (see `CLAUDE.md`).
@@ -40,8 +43,8 @@ MainMenu (Control) ← main_menu.gd builds all UI in _ready()
### `world/world.tscn` — game world
```
World (Node2D)
├── TextureRect ← static space background (skybox/1.png)
World (Node2D) ← world.gd instances MAP_SCENE into MapContainer on _ready()
├── MapContainer (Node2D) ← holds the instanced map (world/maps/map_01.tscn), background included
├── Player ← instance of ships/ship.tscn
├── HUD (CanvasLayer)
│ └── HealthLabel
@@ -49,6 +52,17 @@ World (Node2D)
└── TeamSelect (CanvasLayer, layer=20) ← menu/team_select.tscn; queue_free()s after selection
```
### `world/maps/map_01.tscn` — hand-painted map
```
Map01 (Node2D)
├── Background (TextureRect) ← per-map space background (skybox/1.png); visible while editing this scene
├── Walls (TileMapLayer) ← painted by hand in the Godot Tile Editor, uses world_tileset.tres
├── Asteroids (TileMapLayer) ← painted by hand, same shared tileset
└── SpawnPoints (Node2D)
├── TeamASpawn1 (Marker2D) ← group "team_a_spawn"
└── TeamBSpawn1 (Marker2D) ← group "team_b_spawn"
```
### `ships/ship.tscn` — player ship
```
Player (CharacterBody2D) ← ship_movement.gd