Skip to content

Releases: Scottcjn/feverdream-engine

v0.4.0 — Chunkins: complete & playable Windows build (8 worlds + boss)

Choose a tag to compare

@Scottcjn Scottcjn released this 15 Jun 03:00
55d25a2

The first complete, playable Windows build of Chunkins: The Search for the Golden Acorn.

▶ How to play

Download feverdream-chunkins-win64.zip, unzip it, and double-click run.bat. That's it.

Two windows open — the renderer (minimized) and the game. Controls: WASD/arrows move, SPACE jump, 1–8 pick a world, ESC quit.

What's new vs the preview

  • The renderer is now included (fd-daemon.exe) — the earlier preview shipped only the game client, so it couldn't draw anything. This bundle has both, plus a run.bat that launches them together.
  • 8 worlds (Acorn Meadow → … → Cascade Hollow) with Mario-64-style NPCs, switches, bounce pads, moving platforms, and friendly critters.
  • A boss finaleWorld 8: The Magpie King. Dodge his swoop, leap on his dazed back to bonk him, 3 phases, and claim the real Golden Acorn.

Bundle

run.bat · fd-game.exe (the game) · fd-daemon.exe (POV-Ray renderer) · SDL2.dll · the 8 worlds + assets · README-PLAY.txt · WINDOWS_ANTIVIRUS.md

⚠️ Antivirus

The binaries are open source but unsigned, so some scanners show a generic false-positive ("unknown program") — they don't do anything harmful (the game only talks to the renderer on 127.0.0.1; nothing leaves your PC). See WINDOWS_ANTIVIRUS.md, or build it yourself from source. Code-signing via the SignPath Foundation is in progress.

fd-game.exe is MIT; fd-daemon.exe bundles POV-Ray (AGPLv3) — full source in this repo.

v0.3.1 — Windows x64 client preview (Chunkins)

Choose a tag to compare

@Scottcjn Scottcjn released this 14 Jun 01:59

First Windows build of the Feverdream game client — Chunkins: The Search for the Golden Acorn.

Download: feverdream-chunkins-win64.zip → unzip → keep SDL2.dll next to fd-game.exe.

What this is

fd-game.exe is the MIT game client (SDL2 + Lua), cross-compiled for Windows x86_64 with mingw-w64. It renders by talking to the resident POV-Ray daemon over a local TCP socket (127.0.0.1).

⚠️ Preview

The Windows POV-Ray daemon (fd-daemon.exe, the AGPL renderer) isn't bundled yet — so on its own this client loads the level, opens audio, then reports "is fd-daemon running?". A native MSVC daemon is the next milestone; once it ships, run it first and the client connects automatically. (Verified end-to-end on Linux/wine via a TCP↔Unix bridge to the existing daemon — real frames at full rate.)

Controls

WASD/arrows move+turn · SPACE jump · 1–7 pick a world · ESC quit

Notes

  • Default port 127.0.0.1:57999 — override with FD_PORT or pass a port as arg 1.
  • Source: branch windows-port. The Linux build is unchanged (the OS split lives entirely in game/fd_platform.h).

v0.3.0 — Real-time POV-Ray (80 fps) + upscaling

Choose a tag to compare

@Scottcjn Scottcjn released this 09 Jun 21:53

Feverdream Engine turns the 30-year-old POV-Ray batch raytracer into a real-time, upscaled game engine — by proving its per-frame cost was never raytracing, it was sleep().

What it does

Inits POV-Ray's real engine once (vfeSession), renders every frame against the live session into an in-memory framebuffer — no respawn, no disk — and presents it in an SDL2 window you can fly around live.

Measured (this box, reproducible via bench.sh + daemon/resident.cpp)

stage per-frame fps
stock povray (respawn + disk) ~700 ms 1.4
resident process + 50ms→0.1ms message poll ~120 ms ~8
+ cut backend driver-loop sleeps (50ms+10ms→1ms) ~13 ms 77
1280×720 window, 320×180 internal (upscaled) 80+

The wall was ~150ms of batch-era poll/sleep loops. Cut to 1ms → trace-bound, not overhead-bound. See FINDINGS.md.

Version history

  • v0.1.0 — SDL2 live window over the resident session (~12 fps)
  • v0.2.0 — real-time barrier cracked (driver-loop sleeps cut), 77 fps
  • v0.3.0 — DLSS-style spatial upscaling: raytrace tiny → upscale big; live [/] res + F filter controls

Build

POV-Ray (AGPLv3) is not vendored — tools/build_engine.sh clones it from upstream, applies patches/feverdream-realtime.patch (the 4 sleep/poll cuts), builds the archives + the daemon. Then daemon/live spin.pov 1280 720 4.

🤖 Generated with Claude Code