Skip to content

Releases: ForkedInTime/keeperfx-linux-alpha

KeeperFX Tux Edition 1.4.0.5335 — the name lands

Choose a tag to compare

@ForkedInTime ForkedInTime released this 01 Aug 18:55

The native Linux build is now officially KeeperFX — Tux Edition. 🐧

  • Branding. The game's main-menu stamp, the launcher window title, and the GNOME menu entry now read KeeperFX Tux Edition. (Repo slug, asset filenames and the version string are unchanged — the updater depends on them.)
  • Cleaner in-game menu. The version stamp drops the volatile build number; the exact version still lives in the launcher, keeperfx.log and crash reports.
  • Cleaner README on GitHub — the heaviest sections are now collapsible.

Carries everything from 5332 (7 upstream rendering/camera fixes #5066–#5075) + the Workshop instant-load caching, creature-list crash guard, and the in-launcher Workshop browser/Installed manager.

Full notes: see CHANGELOG.md.

KeeperFX Linux Alpha 1.4.0.5332 — upstream rendering fixes + instant Workshop

Choose a tag to compare

@ForkedInTime ForkedInTime released this 01 Aug 18:12

Upstream sync + launcher polish.

Upstream rendering fixes (7 patches, #5066–#5075) — a high-res-friendly batch that helps ultrawide / 4K displays:

  • Sprites no longer vanish at max zoom in 4K (straight view) (#5066)
  • Units no longer show through walls (straight view) (#5068)
  • Door keys no longer invisible (straight view) (#5073)
  • Polygon rasteriser rewrite (#5071); smoother camera timing (#5067, #5075); message-button animation fix (#5069)

Launcher — instant Workshop. The in-launcher Workshop browser now caches thumbnails and the catalogue to disk and refreshes in the background, so it opens instantly after the first visit instead of re-downloading everything each time.

Also includes everything from 5322 (creature-list crash guard) and 5321 (in-launcher Workshop browser + Installed manager + single-instance lock).

Full notes: see CHANGELOG.md.

KeeperFX Linux Alpha 1.4.0.5322 — creature-list crash guard

Choose a tag to compare

@ForkedInTime ForkedInTime released this 30 Jul 06:23

Engine hardening release.

Fixes a crash when advancing between campaign levels caused by creature-list corruption (a list link pointing at a non-creature — symptom: a creature resting away from its lair, and "Jump to invalid creature N detected" in the log, then an abort). The engine now validates each creature in a list before using it across the ~18 walks that previously lacked that check: on a bad link it logs rich diagnostics and safely skips instead of aborting, so the game keeps playing. Purely additive guards, no gameplay change on healthy games.

This is a genuine engine bug present upstream too; the added logging is the path to a permanent root-cause fix if it recurs. Also includes everything from 5321 (in-launcher Workshop browser + Installed manager + single-instance lock).

Full notes: see CHANGELOG.md.

KeeperFX Linux Alpha 1.4.0.5321 — In-launcher Workshop

Choose a tag to compare

@ForkedInTime ForkedInTime released this 30 Jul 03:31

Launcher-focused release (engine unchanged from 5320).

New: browse & install the Workshop inside the launcher. A Browse Workshop button opens the full keeperfx.net catalogue — search, filter by category, sort by rating/downloads, thumbnails, and a Details link to each item's page — with one-click install for maps, campaigns, map packs and mods. A new Installed tab scans your add-ons, labels each as 🏰 KeeperFX-stock or 🌐 Workshop/user, and offers a reversible Uninstall → Restore (removed items go to a backup you can restore or purge).

Also: standalone single maps now install correctly, archive junk (.git etc.) is excluded, the launcher refuses to open twice (one game at a time), and the updater gives a clearer message when a release has no Linux package yet.

Full notes: see CHANGELOG.md.

v1.4.0.5319-alpha — weekly upstream sync

Choose a tag to compare

@ForkedInTime ForkedInTime released this 27 Jul 22:39

Weekly upstream sync (manual merge) — folds in the KeeperFX team's latest 9 patches (#5039–#5062), build-verified on Linux.

Rendering fixes (help high-res setups):

  • #5062 — big sprites no longer clipped by floor tiles in straight view
  • #5060 — Dungeon Heart no longer clips when zoomed in straight view
  • #5058 — landview overlay no longer drops an edge pixel at high resolution

Quality of life:

  • #5039 — full UTF-8 text input: type accented characters (ñ, ç, é, ¿¡ …) in save names, chat, etc.
  • #5050 — new COPY_CREATURE_TYPE map-script command; #5052 — .tngfx string subtypes

Converged with upstream on the poly-pool clear: upstream's #5047 removed the wasteful per-frame buffer clear entirely — the fuller form of our own 5305 optimization — so we adopted theirs and dropped our now-superseded code. One source of truth; no more re-conflicts on that file.

This fork tracks upstream weekly but curates at its own discretion — see the README.

Update via the launcher's built-in updater, or grab the portable package below once CI finishes building it.

KeeperFX Linux Alpha 1.4.0.5305

Choose a tag to compare

@ForkedInTime ForkedInTime released this 21 Jul 03:39

Linux engine performance pass — four output-identical optimizations to the native Linux build, found by a multi-agent performance audit and verified in-game across multiple levels:

  • Renderer no longer zeroes a 16 MB buffer every frame — the isometric view now clears only the region it actually touches.
  • The GPU no longer re-uploads the palette every frame — guarded to upload only on real changes (fades/flashes/movies still work).
  • No per-turn CPU busy-spin — the turn pacer now sleeps precisely with a high-resolution timer, lowering idle CPU and helping laptop battery/thermals.
  • Faster sprite/text blit — a single SIMD memcpy instead of a byte-at-a-time loop.

A wider -march=x86-64-v2 build was tried and reverted: GCC's auto-vectorizer miscompiled a loop in the 25-year-old pathfinding code, crashing on level start. Correctness first — the four wins above are independent of it.

Existing installs self-update to this engine on first launch.

KeeperFX Linux Alpha 1.4.0.5296

Choose a tag to compare

@ForkedInTime ForkedInTime released this 20 Jul 23:39

Weekly upstream sync — merges the KeeperFX team's latest alpha patches (19 commits, #5019–#5049). Verified to build clean on Linux before release.

Engine performance (single-player):

  • gpoly polygon rasterizer optimized for ~10% faster rendering (#5043)
  • Map-parchment (minimap) redraw performance fixed (#5041)

New feature:

  • Map-specific sounds and speeches — maps can ship custom sounds/speech in their .zip bundle (#5019)

Gameplay/engine fixes:

  • Menu-sound gating fixed (#5028), mouse-light flicker on GUI menus fixed (#5040)
  • Highscore input caret scaled/shaded/framed correctly (#5044)
  • Computer players no longer sell enemy traps when building rooms (#5034)
  • pngpal2raw tool build error fixed (#5035)

Maps: Fortress added, Bash neutered, Dread Mountain fixed (#5032)

Controller: rumble only fires when a controller was the last input used (#5049)

Multiplayer: reliable slap/power-click (#5026), version-mismatch message (#5025), client clock synced to host (#5031), dynamic input-lag (#5033, #5036), desync fixes + logging (#5042), ghost-tagging fix (#5030), fixed pickup+cast at once (#5038), client-side info buttons (#5045)

The .flatpak refreshes on its monthly build; existing installs self-update to this engine on first launch.

KeeperFX Linux Alpha 1.4.0.5273

Choose a tag to compare

@ForkedInTime ForkedInTime released this 15 Jul 23:18

Fix release — the update payload was shipping frozen game config.

The release pipeline built the full.7z/AppImage payload from the previous release and refreshed only the engine binary, fonts, and launcher — it never refreshed the game config (fxdata/creatrs/mods). So config changes never reached players even as the engine advanced. In 5272 that shipped a stale objects.cfg which:

  • broke slapping chickens — the engine now gates object-slapping on a SLAPPABLE config flag the frozen config lacked, and
  • caused a heap-corruption crash on the level-victory transition (the rewritten hand/object code running against mismatched config).

The packaging now overlays the freshly-built engine config onto the payload (matching the portable-tarball build and refresh-alpha.sh). No engine code change — this restores chicken-slapping and fixes the crash for everyone.

Existing installs will be offered this build by the in-launcher updater.

KeeperFX Linux Alpha 1.4.0.5272

Choose a tag to compare

@ForkedInTime ForkedInTime released this 15 Jul 21:48

Weekly upstream sync — merged the KeeperFX team's latest master (22 commits) and rebuilt.

Highlights

  • Engine performance: path-finding map generation optimized/split out (#5012), ariadne navigation refactored (#5004), room recalculations optimized (#5002)
  • Camera/input: rotate camera around the mouse (#4898), Delete/PageDown default to rotate/zoom again (#5010), hand-of-evil animation fixes (#5011)
  • Gameplay fixes: magic boxes clickable again (#5001), faster GUI pickup (#5009), landview-ensign double sound fade-out (#4993), campaign creature lists replace rather than append (#4999)
  • Lua: new OnPickup / OnSlap triggers (#4805), ACTIVATIONLUAFUNC fix (#5015)
  • Continues compatible between future versions (#5014)
  • Translated error messages across all languages (#4997)
  • Multiplayer reliability: resync console command + lua-data resync, reliable creature clicking, stutter tracking, clean disconnect, and more

Full engine changelog upstream: https://github.com/dkfans/keeperfx


Download: grab KeeperFX-Linux-Alpha-x86_64.AppImage, chmod +x, run. See the README for details.

KeeperFX Linux Alpha 1.4.0.5246

Choose a tag to compare

@ForkedInTime ForkedInTime released this 08 Jul 22:51

Weekly upstream sync — 17 patches from the KeeperFX team; upstream base version is now 1.4.0.

Highlights:

  • Improved frame interpolation (#4919) and fixed/improved fast-forward frame skip (#4989)
  • Multiplayer: lobbies stay alive after going to the landview screen (#4981), close faster (#4982), fixed network crash 449 (#4992), fixed workshop-item bounding boxes turning invisible (#4991)
  • Two new 2v2 multiplayer maps (#4987)
  • Slappable objects (#4894)
  • Lua: creature transform function (#4985), max level for new creatures (#4978)
  • Music loading for mods (#4952)
  • SDL compile fixes (#4983, #4976), SET_BOX_TOOLTIP fix (#4979), misplaced-zip error message (#4995)

Full details in CHANGELOG.md.