match-3 grid generation
make game scene modular global debug mode
This commit is contained in:
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
## Project Overview
|
||||
|
||||
"Skelly" is a Godot 4.4 mobile game project featuring a match-3 puzzle game within a broader game framework. The project includes a menu system, settings management, audio handling, localization support, and a comprehensive debug system.
|
||||
"Skelly" is a Godot 4.4 mobile game project featuring multiple gameplay modes within a unified game framework. The project currently supports match-3 puzzle gameplay with planned support for clickomania gameplay. It includes a modular gameplay system, menu system, settings management, audio handling, localization support, and a comprehensive debug system.
|
||||
|
||||
**For detailed project architecture, see `docs/MAP.md`**
|
||||
|
||||
@@ -17,9 +17,10 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- Debug UI: Press F12 in-game or use debug button to toggle debug panels
|
||||
|
||||
### Testing & Development
|
||||
- Debug mode can be toggled with F12 key or debug button UI
|
||||
- Debug mode can be toggled with F12 key or debug button UI (available on all major scenes)
|
||||
- Match-3 debug controls include gem count adjustment and board reroll
|
||||
- Difficulty presets: Easy (3 gems), Normal (5 gems), Hard (8 gems)
|
||||
- Gameplay mode switching: Space+Enter in game scene switches between match-3 and clickomania modes
|
||||
|
||||
### Audio Configuration
|
||||
- Music: Located in `assets/audio/music/` directory with loop configuration in AudioManager
|
||||
@@ -37,6 +38,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- **ALWAYS** use `GameManager` for scene transitions - never call `get_tree().change_scene_to_file()` directly
|
||||
- Scene paths are defined as constants in GameManager
|
||||
- Error handling is built into GameManager for failed scene loads
|
||||
- Use `GameManager.start_game_with_mode(mode)` to launch specific gameplay modes
|
||||
- Supported gameplay modes: "match3", "clickomania"
|
||||
|
||||
### Autoload Usage
|
||||
- Use autoloads for global state management only
|
||||
@@ -56,9 +59,11 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- **This file** - Claude Code specific development guidelines
|
||||
|
||||
### Key Scripts to Understand
|
||||
- `src/autoloads/GameManager.gd` - Scene transition patterns
|
||||
- `src/autoloads/GameManager.gd` - Scene transition patterns and gameplay mode management
|
||||
- `src/autoloads/DebugManager.gd` - Debug system integration
|
||||
- `scenes/match3/match3.gd` - Match-3 implementation reference
|
||||
- `scenes/game/game.gd` - Main game scene with modular gameplay system
|
||||
- `scenes/game/gameplays/match3_gameplay.gd` - Match-3 implementation reference
|
||||
- `scenes/game/gameplays/` - Individual gameplay mode implementations
|
||||
- `project.godot` - Input actions and autoload definitions
|
||||
|
||||
## Development Workflow
|
||||
@@ -75,8 +80,10 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- Check mobile compatibility if UI changes made
|
||||
|
||||
### Common Implementation Patterns
|
||||
- Scene transitions: Use `GameManager.change_to_scene()` methods
|
||||
- Debug integration: Connect to `DebugManager` signals
|
||||
- Scene transitions: Use `GameManager.start_game_with_mode()` and related methods
|
||||
- Debug integration: Connect to `DebugManager` signals and initialize debug state
|
||||
- Gameplay modes: Implement in `scenes/game/gameplays/` directory following modular pattern
|
||||
- Scoring system: Connect `score_changed` signal from gameplay to main game scene
|
||||
- Settings: Use `SettingsManager` for persistent configuration
|
||||
- Audio: Use `AudioManager` for music and sound effects
|
||||
- Localization: Use `LocalizationManager` for language switching
|
||||
Reference in New Issue
Block a user