Releases: DanielMuellerIR/exploids
Releases · DanielMuellerIR/exploids
Release list
Exploids v0.14.5
Exploids v0.14.5
Exploids v0.14.4
First signed & notarized release since v0.13.0 — this DMG bundles everything from v0.14.0 through
v0.14.4.
For players:
- Fix: watching the title-screen demo no longer leaves a movement key "stuck" when you then start a
game (the ship could keep rotating on its own). - Asteroid rendering is a little smoother, especially on lower-end hardware.
Everything else in this range is internal — a large refactor, a new automated test workflow (CI),
and build-portability fixes — with no effect on gameplay. Details below and in the entries for
v0.14.0–v0.14.3.
Under the hood (v0.14.4):
- Build/CI: fixed Swift 6 concurrency errors that only surfaced on the stable toolchain
(Swift 6.1 on the CI runner) and were hidden by newer local toolchains (6.3+, which infer the
isolation by default).ReplayPlayer.advanceStepcalls the MainActor-isolated
GameScene.injectReplayInput, and the entireExploidsMacCLI layer (Main,ReplayRenderer)
drives a MainActorGameScene/SpriteKit — all three are now explicitly@MainActor, which builds
on both toolchains. Caught by the freshly added CI on its very first run.
Exploids v0.13.0
- Demo / attract mode on the title screen: after 30 s of no input (or on pressing D), an
autopilot plays a full game on its own. When it dies it does not enter the high-score list,
but the high-score screen is shown for 10 s, then the title screen for 15 s, then the next demo —
looping. Any key hands control back to a human. - Four autopilot personas that play with distinct styles (cautious ↔ reckless, skilled ↔ sloppy)
and each start at a fitting level: Ace (L4, the expert — reaches level 10 and can survive the
full ~10 minutes), Cowboy (L6, offensive but clean), Rookie (L5, cautious but sloppy) and
Kamikaze (L7, reckless — dies youngest but spectacularly). The autopilot uses a potential-field
navigator (threats repel, shooters/power-ups weakly attract, look-ahead dodging) that keeps the
ship weaving through the gaps and firing along its path; it also collects shields/extra-lives.
Exploids v0.12.0
- Fixed-timestep simulation: the game loop now advances in fixed steps (1/120 s) driven by a
time accumulator, decoupled from the display refresh rate, instead of integrating one variable
step per frame. On 120 Hz this is effectively one step per frame as before; on other refresh
rates the simulation stays consistent. - Because every step is the same length, a replay no longer needs the recorded per-frame
dt
sequence — it depends only on (seed + inputs). Replay format bumped to v3; older replays
(v2, variable timestep) are rejected as incompatible. - The headless GIF renderer drives the simulation one fixed step at a time and picks a capture
stride automatically so the GIF plays in real time (--stridestill overrides). - Replays are now auto-saved to disk on every game over (not only high-score runs), under
~/Library/Application Support/Exploids/replays, so a good run can be turned into a GIF even if
it didn't make the board. New CLI--render-last-replay --out <gif>renders the most recent one. - New CLI
--reset-highscoresclears the saved high-score list (when the board fills with
unbeatable scores). - No gameplay-balance changes intended; this is an engine/feel change to be confirmed by playtest.
Exploids v0.11.1
- Replay fix: the auto-fire setting is now recorded in a replay and restored on playback. Before
this, a run played with auto-fire on would not reproduce (the replayed ship barely fired and died
early). Replay format bumped to v2; pre-fix replays are rejected as incompatible. - Replay GIF renderer gained
--from <frame>,--max-frames <n>and--auto-fireoptions, plus a
--replay-verifydiagnostic. - Note: faithful replay requires the exact binary that recorded the run — a rebuilt binary can drift
(floating-point reproducibility is binary-specific). In-app replays and GIFs from the same
installed build are reliable.
Exploids v0.6.1
- Pixel font (Press Start 2P) for the EXPLOIDS / GAME OVER headings.
- High-score name entry fix (first responder).
- Reworked object glossary: every power-up listed individually, with a title strip.
- Fixes: extra life with gravity wells, entzerrtes start-screen layout, "#" extra-life cheat (for testing).