bacontest/godot-isometric-report.md

156 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Isometric Game Development with Godot on Debian Linux
*A practical guide for Linux users with no Godot experience*
---
## Part 1: Getting Started on Debian
### Installing Godot 4
Godot 4 is self-contained — no package manager needed. Download, extract, run:
```bash
# Download latest stable (4.7.1)
cd ~
wget https://downloads.godotengine.org/linux/Godot_v4.7.1-stable_linux.x86_64.zip
unzip Godot_v4.7.1-stable_linux.x86_64.zip
chmod +x Godot_v4.7.1-stable_linux.x86_64
./Godot_v4.7.1-stable_linux.x86_64
```
Or via Flatpak (auto-updates):
```bash
sudo apt install -y flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.godotengine.Godot
```
> ⚠️ Debian's `apt install godot3` gives you Godot 3.x (legacy). Use the zip or Flatpak for Godot 4.
### Required System Packages
```bash
# Graphics stack (Godot 4 needs Vulkan or OpenGL 3.3+)
sudo apt install -y libgl1 libvulkan1 mesa-vulkan-drivers
# If you have Intel GPU
sudo apt install -y intel-media-va-driver
# Optional development tools
sudo apt install -y gimp inkscape tiled git audacity
```
### Recommended Free Assets
Don't generate art with AI yet. Use existing free assets:
- **Kenney.nl** — high-quality CC0 game assets
- **OpenGameArt.org** — community-contributed sprites and tilesets
- Search for "isometric tileset" on either site
---
## Part 2: Isometric Games in Godot 4
### Why Godot 4 for Isometric?
Godot 4.3+ introduced `TileMapLayer` (replacing the old `TileMap`), which has **built-in isometric support**. Key features:
| Feature | What It Does |
|---------|-------------|
| **TileMapLayer** | Create isometric grids with automatic coordinate conversion |
| **Tile Shape → "Isometric"** | One-click isometric projection (2:1 ratio) |
| **Y-Sorting** | Objects further "back" draw behind objects further "front" |
| **Auto-tiling** | Automatic terrain transitions between tiles |
| **NavigationAgent2D** | Pathfinding works on isometric grids automatically |
### Quick Isometric Setup
1. Create a `TileMapLayer` node
2. In TileSet properties: set **Tile Shape → "Isometric"**
3. Set **Tile Size** to match your art (e.g., 64×32 for classic isometric)
4. Paint your map — Godot handles the projection
### Common Gotchas
- **Y-sort anchor**: Use the object's feet/base position, not center
- **Coordinate confusion**: Game "north" = up-left on screen, "east" = up-right
- **Tile seams**: Add 1-2px padding on tile edges to avoid visible gaps
- **Collision shapes**: Physics works in screen space, not isometric space
---
## Part 3: LLM-Assisted Development (Vibe-Coding)
### What LLMs Can Do for Godot
| Capability | Quality | Notes |
|-----------|---------|-------|
| Write GDScript | ⭐⭐⭐⭐⭐ | Movement, combat, UI, state machines |
| Debug errors | ⭐⭐⭐⭐⭐ | Paste error → get fix |
| Explain concepts | ⭐⭐⭐⭐⭐ | "How do signals work?" → clear answer |
| Boilerplate code | ⭐⭐⭐⭐ | Scene transitions, save systems, spawning |
| Isometric logic | ⭐⭐⭐⭐ | Coordinate conversion, camera setup |
| Scene tree setup | ⭐⭐ | Requires manual work or MCP plugins |
| Visual design | ⭐ | Positioning, layout, animation — mostly manual |
### Best AI Tools for Godot (2026)
| Tool | GDScript Quality | Best For |
|------|-----------------|----------|
| **Claude (Sonnet/Opus)** | ⭐⭐⭐⭐⭐ | Cleanest code, stays on Godot 4 |
| **Cursor + Godot MCP** | ⭐⭐⭐⭐⭐ | Best IDE experience with scene awareness |
| **GPT-4o** | ⭐⭐⭐⭐ | Strong but sometimes mixes Godot 3/4 |
| **DeepSeek** | ⭐⭐⭐⭐ | Budget-friendly, good GDScript |
### Godot AI Plugins
- **Godot AI** (Asset Library) — connects Claude/Copilot to live Godot editor. Can build scenes, write scripts, run tests from chat
- **AI Assistant Hub** — embeds Ollama, Gemini, OpenRouter inside Godot
- **GodotPrompter** — agentic skills framework for Claude Code
### Feasibility Verdict
**Vibe-coding a simple-to-medium isometric game is very feasible in 2026.**
LLMs handle 60-80% of coding. You still need to:
1. Learn Godot fundamentals (2-3 hours of tutorials)
2. Handle visual design and scene setup manually
3. Use free assets instead of AI-generated art
4. Start small: movement → one mechanic → expand
### What Works vs What Doesn't
| Approach | Success Rate |
|----------|-------------|
| Simple game (movement + 1 mechanic) | ✅ High |
| Prototype for a game jam | ✅ High |
| Medium complexity (inventory, NPCs, dialogue) | ⚠️ Feasible with patience |
| Complex systems (multi-system architecture) | ❌ Overwhelms LLMs |
**Community wisdom:** "Start with one mechanic, get it working, then add the next." LLMs excel at iterative development, not architectural design.
---
## Quick Reference
```bash
# Install Godot 4
wget https://downloads.godotengine.org/linux/Godot_v4.7.1-stable_linux.x86_64.zip && unzip Godot_v4.7.1-stable_linux.x86_64.zip && chmod +x Godot_v4.7.1-stable_linux.x86_64
# Install dev tools
sudo apt install -y gimp inkscape tiled git
# Graphics dependencies
sudo apt install -y libgl1 libvulkan1 mesa-vulkan-drivers
```
**Resources:**
- Godot Docs: https://docs.godotengine.org
- Isometric Tutorial: https://docs.godotengine.org/en/stable/tutorials/2d/using_tilemaps.html
- Kenney Assets: https://kenney.nl/assets
- OpenGameArt: https://opengameart.org
---
*Report generated by Hermes Agent — 2026-07-20*