Add one HP per second regeneration and Half-Life starfield sky

This commit is contained in:
enne2
2026-10-11 00:29:28 +02:00
parent f246ede94f
commit d74af7b550
9 changed files with 199 additions and 3 deletions
+34
View File
@@ -0,0 +1,34 @@
# Health regeneration and starry sky
- Living players recover exactly one HP per elapsed gameplay second, including combat.
Maximum is 100 HP; no healing or resurrection after death. Physics time accumulator
handles frame-rate variation; time at full HP does not bank healing.
- `scripts/main.gd` uses a `PanoramaSkyMaterial` as the environment background.
Ambient light remains the existing constant color; sky reflections are disabled.
- Compared local Half-Life skies `night`, `space`, and several `neb*` sets. `space`
was selected for a plain star field (`night` is cloudy; nebulae are colorful).
- `assets/textures/sky/space_panorama.png`: 2048x1024 equirectangular conversion of
the six Valve `space*.tga` faces, not a newly generated texture. The original faces
are low resolution, so stars retain their original soft appearance. Source hashes
are in `source_manifest.json`; original Steam files are never modified.
Reproduce (Pillow and FFmpeg with v360 required):
```sh
python3 tools/prepare_sky.py /path/to/Half-Life/valve/gfx/env
```
Verify with installed Godot 4.7.1:
```sh
"$G" --headless --path . --script res://tools/test_health_sky.gd
"$G" --display-driver x11 --rendering-method gl_compatibility --path . \
--script res://tools/test_health_sky.gd -- --screenshot
```
Screenshot: `/tmp/zombie-star-window.png`. Test checks discrete timing, maximum,
no healing after death, panorama dimensions, and unchanged ambient light. Existing
music, grenade, wave, death, damage, and touch tests also pass. The existing resource
leak/in-use warnings at test shutdown remain; they are not fixed by this change.
Sky format reference: https://docs.godotengine.org/en/stable/classes/class_panoramaskymaterial.html
+12
View File
@@ -1,5 +1,17 @@
# Web build and compressed deployment
## Health + starry sky release: 31564f79b9f5e299
See `docs/HEALTH-SKY.md`: +1 HP/second while alive, capped at 100; Half-Life
`space` panorama visible outside windows. PCK 3,938,672 bytes; gzip payload total
12,395,646 bytes. Previous releases retained; root backup `index-before-health-sky.html`.
Build encountered an import-thread crash (`propagate_notification` off caller thread,
signal 11). Workaround applied only to generated staging `project.godot`:
`[editor] import/use_multiple_threads=false`; serial re-import and export succeeded.
Upstream similar issue: https://github.com/godotengine/godot/issues/96242
URL: https://enne2.net/pub/zombie-fps/
Server: debian@enne2.net (bastion).
Web root: /home/debian/public_html/zombie-fps/.