- 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.
1.8 KiB
1.8 KiB
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
# 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— aNode2Dcontaining twoTileMapLayernodes (FloorLayer,WallLayer) and aPlayernode. - Player:
CharacterBody2Datscenes/world.tscn > Player, driven byscripts/actors/player.gd.
Scripts
All scripts live under scripts/ organized by category:
scripts/actors/— character scripts (player.gddefinesclass_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 atlasWallLayer—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 Arrowmove_right→ D / Right Arrowmove_up→ W / Up Arrowmove_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).