Files
stefwill bb1c9f9284 feat: Add core map generation and management system
- Introduced MapData, MapGenerator, and MapPainter classes for procedural map generation.
- Implemented LevelManager to handle level initialization and navigation.
- Created TurnManager for managing turn order in a turn-based system.
- Added Player and Enemy character classes with movement and turn-taking capabilities.
- Established pathfinding using AStar2D in PathfindingHandler.
- Integrated new scenes for player and enemy characters, along with world setup.
- Included a new tileset for futuristic Zelda-themed assets.
2026-03-16 16:24:32 +11:00

54 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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).