# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project **Shadow Pixel Run** — a 2D pixel art game built with Godot 4.6 (Forward Plus renderer). ## Running the Game ```bash # Launch the game /home/stefwill/Applications/Godot/Godot_v4.6-stable_linux.x86_64 --path . # Run headless (e.g. for script testing) /home/stefwill/Applications/Godot/Godot_v4.6-stable_linux.x86_64 --path . --headless ``` There is no build step — Godot runs the project directly from source. ## Architecture ### Scene Structure - **Main scene:** `scenes/world.tscn` — a `Node2D` containing two `TileMapLayer` nodes (`FloorLayer`, `WallLayer`) and a `Player` node. - **Player:** `CharacterBody2D` at `scenes/world.tscn > Player`, driven by `scripts/actors/player.gd`. ### Scripts All scripts live under `scripts/` organized by category: - `scripts/actors/` — character scripts (`player.gd` defines `class_name Player extends CharacterBody2D`) ### Assets All assets live under `assets/sprites/`. Godot auto-generates `.import` files alongside source assets — these are gitignored and should not be manually edited. ### Tilemaps The world uses two `TileMapLayer` nodes with 32×32 tile atlases: - `FloorLayer` — `office_floor.png`, simple single-tile floor atlas - `WallLayer` — `office_walls.png`, terrain tileset with corner/edge peering bits for seamless auto-connected walls ### Input Map Defined in `project.godot`: - `move_left` → A / Left Arrow - `move_right` → D / Right Arrow - `move_up` → W / Up Arrow - `move_down` → S / Down Arrow ### Viewport 640×360 with 4× window scale — targets a retro pixel art look. Default texture filter is **Linear** (set per-sprite if pixelated filtering is needed).