Files

1.7 KiB

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):

python3 tools/prepare_sky.py /path/to/Half-Life/valve/gfx/env

Verify with installed Godot 4.7.1:

"$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