Wolves - Den: a boulder cave at the foot of the rim, sited from the seed (away from the sea and spawn, mouth toward the valley, clearing in front) - Grace period: no wolves days 1-2; they move in on day 3 and howl; hunting from night 4; pack of 2, 3 from day 6, 4 from day 9; replaced by day - Wary pack hunters: circle and dart in one at a time; a lit campfire is a safe zone, a torch makes them hesitate, walls block bites (line of sight); hit one and the pack turns; hurt wolves flee; a lone wolf is timid; by day they defend the den; home at dawn - Glowing eyes, synthesised howls, can't sleep with wolves prowling - Wolf pelt and Wolf Cloak (+25 warmth) - Animals take a committed detour around obstacles Fishing - Fishing rod (workbench); cast a float onto the lake, 1.5 s to land a bite - Perch and rarer trout; faster bites at dawn/dusk and in rain; grill them - Visible fish near the shore that jump with splash rings Mixed diet - Foods belong to meat, fish or greens; each level runs down over ~1.5 days - One group low: no healing; two low: Malnourished (health drains); all three good: Balanced diet (heal x1.5); HUD diet bars; saved Tests: test_wolves and test_fishing_diet; run_all.sh covers 9 suites
95 lines
3.9 KiB
Markdown
95 lines
3.9 KiB
Markdown
# 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
|
|
Run everything (fails on any failed check or script error):
|
|
```bash
|
|
tests/run_all.sh
|
|
```
|
|
Or one at a time:
|
|
```bash
|
|
# Wolves: den, grace period, hunting, fire and walls, pack tactics
|
|
godot --headless --path . --script res://tests/test_wolves.gd
|
|
# Fishing and the mixed diet
|
|
godot --headless --path . --script res://tests/test_fishing_diet.gd
|
|
# Wildlife, melee, spear, bow, butchering, cooking + buffs, cloak, drops
|
|
godot --headless --path . --script res://tests/test_creatures_combat.gd
|
|
# Weather, shelter, snap building, support, doors, beds, regrowth
|
|
godot --headless --path . --script res://tests/test_weather_building.gd
|
|
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
# 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`.
|