Guides
Longer how-to notes from building Night Audit in Godot. The blog stays for short posts; this section is the reusable engineering cookbook.
- Godot Basics We Used
Scene tree, CharacterBody2D, signals, exports, and other project-relevant fundamentals.
- Top-Down Player Movement
Input.get_vector, move_and_slide, no gravity, facing, and time-scale compensation.
- Interaction System
Area2D proximity, Press E, highlights, groups, and collision exceptions.
- Dialog System
Multi-turn conversations, current_line advance, period lookup, typed arrays, and dialog bugs we hit.
- Dialog UI
PanelContainer anchors, CanvasLayer, portraits, and Control vs Node2D positioning.
- Scene Tree and Node Paths
$, get_node, @onready, groups, unique names, and null instance errors.
- AnimatedSprite2D and Sprite Animation
SpriteFrames, idle/walk, directional anims, flip_h, import filter, scale.
- NPC Architecture
One guest scene, GuestData, stations, stands, navmesh steering, schedules.
- State Machines
Enum-based guest states, transitions, dwell timers, dialog pauses.
- Timers and Scheduling
create_timer dwell, hourly clock, spawn cooldown, time_scale, avoiding await spaghetti.
- Data-Driven Content
JSON guests, Resources, roster, SpriteFrames paths, tradeoffs for jam size.
- Camera and Room Bounds
Camera2D on the player, Room areas, smallest-room-wins, limit expansion.
- Navigation and Collision
Walkable rects, generated walls, NavigationRegion2D bake, agent steering.
- Debugging Godot
Symptom / cause / fix / lesson for real errors from this project.
- GDScript Notes
Language quirks we hit coming from C# / Python / Java.
- Patterns Worth Reusing
Compact jam-ready recipes extracted from Night Audit.
- Mistakes / Gotchas
Short, searchable list of things that cost us time.