1.8 KiB
1.8 KiB
Godot Game Development - GEMINI.md
This directory contains the Godot 4.5 game project for "Promiscuity".
Core Mandates
- Engine Version: Godot 4.5 (Forward Plus).
- Language: GDScript is the primary scripting language. C# is enabled but used only when performance or specific library needs arise.
- Naming Conventions:
- Files/Folders:
snake_case.gd,snake_case.tscn. - Variables/Functions:
snake_case. - Constants:
SCREAMING_SNAKE_CASE. - Classes:
PascalCase.
- Files/Folders:
- Autoloads: Use the established singletons for global state and services:
AuthState: JWT authentication and session.CharacterService: API calls for character management.QuestManager: Game quest progression.DialogSystem: UI dialog and interaction.
- Node Paths: Prefer
unique names(%NodeName) or@onreadyvariables for node references. Avoid fragile string paths.
Asset Pipeline
- Models: Blender files (
.blend) and GLB files are supported. Blender integration is preferred for easy editing. - Audio: Use
.oggfor music/loops and.wavfor short sound effects. - UI: Themes are stored in
themes/. Adhere to established UI patterns.
Project Organization
scenes/: Scene files and associated scripts.Characters/: Player and NPC scenes.Levels/: Game world/environments.UI/: Menus, HUDs, and UI components.
assets/: Raw assets (textures, models, audio).addons/: Third-party plugins (e.g.,simplegrasstextured).
Best Practices
- Signals: Use signals for decoupled communication between nodes.
- Resources: Encapsulate data in custom
Resourcescripts for modularity. - Tool Scripts: Use
@toolcarefully for editor-side logic. - Physics: Use
_physics_processfor movement and interaction logic.