This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a 3D multiplayer fighting game built in Godot 4.5 using an inheritance-based architecture. The game uses ENet for client-server networking with the Network singleton (autoload) managing all multiplayer connections.
## Key Commands
### Running the Game
- Open the project in Godot Editor and press F5 to run
- Or use: `godot --path . res://level/scenes/level.tscn`
### Testing Multiplayer Locally
1. Run the main scene (level.tscn)
2. Click "Host" on one instance to create a server (default port 8080)
3. Run another instance and click "Join" to connect as a client
## Architecture
### Inheritance Structure
The codebase follows an inheritance-based design pattern:
- **BaseUnit** (base class) - Common functionality for all game entities that can take damage/have health
- **Character** extends **CharacterBody3D** - Player character class (class_name: Character)
- Currently implements movement, jumping, sprinting, respawning, and skin customization
- Uses multiplayer authority for input handling (only the owner processes input)
### Networking (Network.gd)
- **Type**: Autoload singleton (accessible via `Network` globally)
- **Protocol**: ENet (UDP-based)
- **Architecture**: Client-Server (one host, multiple clients up to MAX_PLAYERS=10)
- **Player Data**: Stored in `Network.players` dictionary keyed by peer_id
When creating git commits, do NOT include "🤖 Generated with [Claude Code]" or "Co-Authored-By: Claude" in commit messages. Keep commit messages clean and professional.