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