A living world where every soul remembers
A Valheim-style open world RPG with AI-powered NPCs using Claude API, built in Godot with Cursor IDE.
Hearthbound is a session-based RPG where NPCs have daily routines, memories, and personalities powered by Claude AI. Explore a realistic low-poly world of villages, forests, mountains, and seas. Every conversation matters. Every quest has consequences. Every session tells a new story.
- Godot 4.3+ - Download from https://godotengine.org/download/
- Cursor IDE - Download from https://cursor.com/
- Anthropic API Key - Get from https://console.anthropic.com/
-
Open in Cursor:
cd Hearthbound cursor .
-
Install Godot:
- Download Godot 4.3
- Extract to your system
- Note the path (you'll need it)
-
Configure Cursor for Godot:
- Open Cursor Settings (Cmd/Ctrl + ,)
- Search for "Python Path" or create a task
- Add Godot path for GDScript support
-
Add Your API Key:
- Open
scripts/managers/ai_manager.gd - Replace
YOUR_API_KEYwith your actual Anthropic API key - Or create
.envfile (see below)
- Open
-
Download Assets:
- Follow instructions in
docs/ASSET_DOWNLOAD_GUIDE.md - Download Quaternius packs (all FREE)
- Place in
models/folder
- Follow instructions in
-
Open Project in Godot:
- Launch Godot
- Click "Import"
- Select
project.godotin this folder - Click "Import & Edit"
Hearthbound/
โโโ README.md # This file
โโโ project.godot # Godot project file
โโโ .cursorrules # Cursor AI configuration
โโโ .gitignore # Git ignore rules
โ
โโโ docs/ # All documentation
โ โโโ ARCHITECTURE.md # Game architecture
โ โโโ VALHEIM_STYLE_ASSETS.md # Asset guide
โ โโโ COMPLETE_WORLD_ASSETS.md # World building guide
โ โโโ GODOT_SETUP_GUIDE.md # Godot setup
โ โโโ QUICK_REFERENCE.md # Quick reference
โ โโโ CURSOR_WORKFLOW.md # How to use Cursor
โ
โโโ scenes/ # Godot scenes
โ โโโ main.tscn # Main game scene
โ โโโ world/
โ โ โโโ village.tscn # Village area
โ โ โโโ forest.tscn # Forest area
โ โโโ characters/
โ โ โโโ player.tscn # Player
โ โ โโโ npcs/
โ โ โโโ npc_base.tscn # NPC template
โ โ โโโ farmer.tscn # Farmer NPC
โ โ โโโ bartender.tscn # Bartender NPC
โ โโโ ui/
โ โโโ dialogue.tscn # Dialogue UI
โ โโโ quest_log.tscn # Quest log UI
โ
โโโ scripts/ # GDScript files
โ โโโ player.gd # Player controller
โ โโโ npc.gd # NPC base class
โ โโโ managers/
โ โ โโโ game_manager.gd # Game state
โ โ โโโ quest_manager.gd # Quest system
โ โ โโโ time_manager.gd # Day/night cycle
โ โ โโโ ai_manager.gd # Claude API integration
โ โโโ data/
โ โโโ npc_data.gd # NPC definitions
โ โโโ quest_data.gd # Quest templates
โ
โโโ models/ # 3D models (import here)
โ โโโ characters/
โ โโโ buildings/
โ โโโ environment/
โ โโโ props/
โ
โโโ materials/ # Materials & shaders
โ โโโ water.gdshader # Water shader
โ
โโโ audio/ # Sound effects & music
โ
โโโ tests/ # Test scenes
โโโ test_ai.tscn # Test Claude API
Cursor is an AI-powered code editor built on VS Code that integrates Claude directly into your workflow.
1. Cursor's Built-in AI (Quick Edits)
- Cmd/Ctrl + K - Inline edit (select code, describe change)
- Cmd/Ctrl + L - AI chat (ask questions, get help)
- Perfect for: Quick fixes, explanations, small changes
2. Claude Code CLI (Complex Tasks)
- Run in terminal:
claude-code - Agentic coding assistant
- Reads .clinerules configuration
- Perfect for: Creating files, refactoring, complex features
See docs/CLAUDE_CODE_GUIDE.md for complete Claude Code tutorial!
-
Ask Claude to Generate Code:
Cmd/Ctrl + K - Open inline AI edit Cmd/Ctrl + L - Open AI chat -
Example Prompts:
"Create a GDScript function to spawn NPCs in a circle around the tavern" "Add a quest system that tracks multiple objectives" "Write shader code for animated grass that responds to wind" "Create a day/night cycle system with dynamic lighting" -
Claude Code Understands Context:
- It knows you're using Godot
- It knows the project structure
- It follows GDScript conventions
- It integrates with your existing code
-
Best Practices:
- Keep
.cursorrulesfile (tells Claude about your project) - Ask specific questions
- Review generated code before running
- Test one feature at a time
- Keep
- Code Completion: GDScript autocomplete
- Error Detection: Catch bugs before running
- Refactoring: Rename variables across files
- AI Chat: Ask questions about Godot API
- Multi-file Editing: Edit multiple scripts at once
- CURSOR_WORKFLOW.md - How to use Cursor's built-in AI
- CLAUDE_CODE_GUIDE.md - How to use Claude Code CLI (agentic coding)
- GODOT_SETUP_GUIDE.md - Complete Godot setup
- VALHEIM_STYLE_ASSETS.md - Download assets
- ARCHITECTURE.md - Game systems design
- COMPLETE_WORLD_ASSETS.md - World building
- QUICK_REFERENCE.md - Quick lookup
1. Download Quaternius Medieval Village pack
2. Import to models/buildings/
3. Create village.tscn in Godot
4. Place one building
5. Test (F5)1. Use Cursor to generate player controller
2. Prompt: "Create a 3rd person player controller for Godot"
3. Test movement
4. Add camera follow1. Create NPC scene
2. Use Cursor: "Add interaction system for NPCs"
3. Connect Claude API
4. Test dialogueCmd/Ctrl + K, then type:
"Generate a function that..."
Select code, Cmd/Ctrl + L:
"What does this code do?"
Cmd/Ctrl + L:
"I'm getting this error: [paste error]"
Select code, Cmd/Ctrl + K:
"Refactor this to use signals instead"
- Install Godot extension for VS Code
- Add Godot to PATH
- Check
.cursorrulesfile exists - Be explicit: "In GDScript, create..."
- Check API key in
ai_manager.gd - Verify key has credits
- Check console for errors
- Ensure files are in correct folders
- Refresh Godot FileSystem (F5)
- Check file formats (.gltf or .fbx)
- Official Docs: https://docs.godotengine.org/
- GDQuest: https://www.gdquest.com/
- Cursor Docs: https://cursor.com/docs
- Cursor Discord: https://discord.gg/cursor
- Quaternius: https://quaternius.com/
- All assets are CC0 (free to use)
- Week 1: Village scene + player movement + 1 NPC
- Week 2: Quest system + dialogue UI + 3 NPCs
- Week 3: Forest area + monster encounters
- Week 4: Time system + NPC routines
- Week 5: Combat system
- Week 6: Quest variety + polish
- Week 7: Co-op (optional)
- Week 8: Playtesting + balance
- Read:
docs/CURSOR_WORKFLOW.md - Setup: Follow Quick Start above
- Download Assets: See
docs/ASSET_DOWNLOAD_GUIDE.md - Start Coding: Open Cursor and ask Claude!
- Use Cursor chat for architecture questions
- Use inline edit (Cmd+K) for code generation
- Test frequently in Godot (F5)
- Commit to git after each feature
- Ask Claude to explain Godot concepts
This is your project! Use Cursor + Claude Code to:
- Generate new features
- Refactor existing code
- Fix bugs
- Add content
- Code: MIT (do whatever you want)
- Assets: CC0 from Quaternius (free to use)
Open Cursor, start the Godot editor, and begin building your living world RPG!
Questions? Ask Claude in Cursor: Cmd/Ctrl + L