- Health, stamina, hunger, warmth and wet with HUD bars, status tags and clock - 20-minute day/night cycle with moon, stars and lit clouds - Campfire fuel (2 min start, 15 min max), heat radius, cooking needs a lit fire - Berry bushes (regrow 10 min), mushrooms, roasted mushroom, torch - Stamina costs for sprint, jump and harvest hits - Death respawns at island start and leaves a grave bag - Saves include stats, time of day, fire fuel, regrowth timers and graves - New test_survival_stats suite; tests fail if a script error aborts them
3.3 KiB
Continuing on another machine
This project is a self-contained git repo. Everything needed to build and run is in it except Godot itself (which you install once per machine). No assets to download — the M0 world is generated in code.
1. Install Godot 4.3+
- macOS / Windows / Linux: download the standard build (NOT the .NET/C# build — this project is pure GDScript) from https://godotengine.org/download
- Use 4.7.x or newer 4.x. The project was upgraded to
4.7.2.stable(an older editor will warn that the project is from a newer version). - macOS shortcut:
brew install --cask godot. If Homebrew can't unpack it, download the zip from the GitHub release page and moveGodot.appto/Applications.
Tests
# Boundary: tries to walk/jump out of the valley in 24 directions
godot --headless --path . --fixed-fps 30 --script res://tests/test_boundary.gd
# Terrain: no deep pits / floating water at the boundary, across 8 seeds
godot --headless --path . --script res://tests/test_terrain_edges.gd
# Survival loop: inventory, crafting, chopping, mining, pickups, building, chests
godot --headless --path . --script res://tests/test_survival_core.gd
# Save/load round trip + world slots (uses user://test_worlds, not your saves)
godot --headless --path . --script res://tests/test_save_load.gd
# Survival stats: hunger, warmth, fire fuel, cooking, foraging, death + grave
godot --headless --path . --script res://tests/test_survival_stats.gd
Save files
Worlds are per machine, under
~/Library/Application Support/Godot/app_userdata/Valheimlike/worlds/ on
macOS (%APPDATA%\Godot\app_userdata\Valheimlike\worlds\ on Windows). Copy a
world's folder across to move it to another machine.
2. Get the project onto the machine
You have the folder (from the zip, or a git remote). Then:
# If you brought the .zip:
unzip valheimlike.zip
cd valheimlike
# If you use a git remote instead (recommended for ongoing work):
git clone <your-remote-url> valheimlike
cd valheimlike
3. Open / run it
# Open in the editor (first open rebuilds the local .godot cache — this is normal):
godot --path . # or: open Godot, "Import", pick this folder's project.godot
# Run the game directly:
godot --path .
On macOS the binary inside the app is:
/Applications/Godot.app/Contents/MacOS/Godot --path .
Controls
WASD move · Mouse look · Shift sprint · Space jump · ESC frees the cursor.
Notes
- The
.godot/cache folder is machine-local and git-ignored — it regenerates on first open. Don't copy it between machines. - If scripts look like they "didn't load", let the first editor open finish its import pass, then press play.
- Where we are: M0 + M0.5 complete (detailed, bounded island valley). Next
is M1 (gather → craft → build). See
docs/ROADMAP.md.
Recommended: push to a git remote for cross-machine work
A zip is a one-time snapshot. For going back and forth between machines, create a private remote once and push:
# GitHub (private): gh repo create valheimlike --private --source=. --push
# or any remote:
git remote add origin <your-remote-url>
git push -u origin main # (branch may be 'master' — check `git branch`)
Then on each machine it's just git clone / git pull / git push.