Files
Cinderwild/docs/SETUP_ON_NEW_MACHINE.md
Paul Bailey 12f7fd677d M0.5: detailed scenery, mountain/sea-cliff boundary, Godot 4.7
Scenery (all procedural, seeded, no imported assets):
- Terrain shader: grass/dry grass/dirt/sand/rock strata/snow + detail normals
- 5 tree types, faceted mossy rocks, cliff outcrops, sea stacks, bushes,
  logs and stumps, batched as MultiMesh per 48 m cell
- Wind-animated grass and flowers streamed in tiles around the player
- Lake (depth-shaded water with shore foam), ocean to the horizon,
  cloud sky shader, volumetric fog, glow, softer shadows
- Swimming: float at the surface, swim-jump to climb out

World bounds:
- Steep mountain rim with an invisible wall partway up; one side opens to
  a sheer sea cliff with the wall 1 m inside the edge; whole chunk is an
  island so the mesh edge is never visible
- Respawn safety net if the player leaves the walkable area or the map
- Fix: the cliff edge now tracks the wall in the headlands (it used to
  drop away inside the wall, leaving a pit with lake water hanging over it)

Tests: tests/test_boundary.gd (24-direction escape attempt) and
tests/test_terrain_edges.gd (no ground below waterline near the wall).

Upgrades the project to Godot 4.7 (project.godot rewritten by the 4.7
importer, .uid files added) and documents it in the setup guide.
2026-11-03 23:49:39 +00:00

2.6 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 move Godot.app to /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 pits/hanging water just inside the boundary wall
godot --headless --path . --script res://tests/test_terrain_edges.gd

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.

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.