54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
# 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).
|