Skip to content

Releases: jimhigson/head-over-heels-online

v26.0.0

Choose a tag to compare

@jimhigson jimhigson released this 08 Jul 08:14
beb8acc

26.0.0 (2026-07-07)

Features

  • describe the crowns dialog and its loading state for assistive tech (#984) (8d85969)
  • moonbase window walls automatically transparent when another floor is behind them (#986) (5e3c962)
  • on-screen camera-rotate buttons on the hud for touch devices (#985) (0c8394b)
  • rotatable camera at 90潞 intervals (#977) (a20d807)

Bug Fixes

  • fullscreen game on iPhone PWA more reliable (#969) (9944435)
  • release-please branch also gets updates to true site size report on any push to main (#989) (5c0b1e4)
  • sprites on the map in Safari now render properly, working around some Safari bugs with foreignObject in svg (#979) (dd19dc5)

Sprite Changes

Level Editor

  • better reporting of json schema validation errors in rooms (#987) (0af99bd)
  • fix bugs when saving over another campaign, plus ux improvements for "Save As" (#980) (6bccd76)
  • full-pane room editing area with continuous pan and zoom (#981) (1ce6f5b)
  • only show auth that is set up (duh) (#965) (fefc550)

Miscellaneous

  • add an "open map" perf mark and measure it in the true-site-size journey (#973) (a1f0ff1)
  • save game compat e2e (#983) (eb9d34c)
  • show git branch on main dialog (#990) (db8deb3)

v25.0.0

Choose a tag to compare

@jimhigson jimhigson released this 26 Jun 14:43
d1149d9

25.0.0 (2026-06-26)

Features

  • monaco text editor in hoh editor more customised to look like the rest of the app (#959) (711b7cc)

Bug Fixes

  • do not hide items that fall below floors of type none, since this breaks rendering in sequel rooms with mixed floors (#958) (e367d14)
  • handle webgl context correctly - fixes bug where textures are not shown sometimes (#952) (5bef439)

Level Editor

  • auto-fix some json schema violations (#957) (c3bb86c)
  • new campaign does not start in error (#955) (09d7f5e)
  • show warnings when not on the latest version of a campaign (#962) (950e94e)
  • validate and fix campaign json errors (#953) (84f4076)

v24.0.0

Choose a tag to compare

@jimhigson jimhigson released this 21 Jun 20:49
55c878c

24.0.0 (2026-06-21)

Bug Fixes

  • recover from WebGL context loss by saving and remounting the game on a fresh canvas (#946) (1242d06)
  • structural fix for missing texture bug, moving ownership of spritesheet variants out of the game page component, which is never unmounted, and into the management of the running game, which is torn down when the game ends (#950) (67e6bad)

v23.0.0

Choose a tag to compare

@jimhigson jimhigson released this 19 Jun 21:18
6376b41

23.0.0 (2026-06-19)

Features

  • add menu item to clear all data (#836) (58e373b)
  • add runtime environment to the error report, with dialog snapshot test (#898) (17ec31f)
  • add timer item type (#840) (f3ea6d0)
  • deadly blocks can be disabled (#848) (e8baf8e)
  • death/respawn animation, dialog, and sound effect (#862) (29fe204)
  • extra frame in spring animation (#833) (1587a41)
  • fired doughnuts can make balls/pucks roll/slide when fired into them (#830) (350e460)
  • improved movement for monsters that move towards the player (#831) (941cf45)
  • improved teleporter effect for different spritesheet options (#822) (ce7fdfb)
  • in uncolourised mode, game snaps strictly to pixel grid including during animation (#944) (e72b84b)
  • items on conveyors bob up and down (#834) (8c108d9)
  • lamps, animated light beams and 45掳 reflecting mirrors (#943) (139b897)
  • make filterable select dropdowns keyboard-operable when opened (#920) (5da0bac)
  • new Head over Heels font, generated from existing bitmaps on the spritesheet (#900) (75aec0a)
  • new sounds based off ay-rips (#914) (c1818d3)
  • numbers in hud flash on change (#865) (8150e57)
  • room entry tunes setting with always/sparse/never options, defaulting to sparse (#905) (98336aa)
  • show map and menu buttons on desktop after mouse move (like a media player) (#855) (c271f97)
  • speccy skin now has a shadow (#861) (86e3765)
  • switches/buttons/timers can disable or reverse conveyors direction (#843) (5e12cca)
  • throw up a dialog when the game needs updating (instead of just updating without warning) (#871) (4ea8419)
  • use Toppy palette for on-screen buttons when Toppy skin is selected (#856) (8056bbf)
  • whole-item shadow tint for items fully beneath solid blocks (#916) (fd49ae4)
  • whole-item shadow tint when covered by the union of overhanging blocks (#919) (cc23017)

Bug Fixes

  • add missing teleporter effect after respawning into a room via teleportation (#837) (a034c3b)
  • app-exit menu item only in the native app since pwas cannot reliably self-close; web builds no longer bundle any tauri api (#931) (7f29371)
  • bug when loading doors facing the player not at 0 co-ord (#849) (4a91d64)
  • bug where heels could sometimes jump off nothing while near doors (#874) (0636cd2)
  • bug where two items with the same id added and removed quickly could cause the renderers to be incorrectly reused (#885) (9b09946)
  • deterministic ordering of unions in built files (#924) (6591f2a)
  • emitters don't create items inside other items, which would cause the engine to go crazy sometimes (#876) (d14a4f1)
  • falling from a room to a room with multiple sub-rooms placed the player in the wrong position (#945) (d2189b1)
  • heels uses correct jumping sprites with Toppy spritesheet (#832) (99a4fd2)
  • infinite doughtnuts button renders correctly on mobile (#857) (0972e6a)
  • on-screen jump, fire and carry buttons respond to touch input (#917) (24d4611)
  • rebuild baked spritesheets, room and hud after WebGL context restore so shadows and HUD numbers no longer vanish (#930) (b81d808)
  • shorten update-required dialog so its text doesn't overflow on mobile (#918) (c32443b)
  • spectrum shadows have hard alpha (#870) (c66d7e6)
  • spritesheet image overrides supports webp and png (#895) (f08da6e)
  • tauri stays fullscreen when escape is pressed (macOS) ([#875](https:...
Read more

v22.0.0

Choose a tag to compare

@jimhigson jimhigson released this 25 Apr 10:23
0aff92e

22.0.0 (2026-04-23)

Features

  • auto-converted room items get shorter names (#818) (e60c6d6)
  • conveyors can have variable speeds (#792) (9867a52)
  • do not show original-game-accurate overlays on the edge of floors when using Toppy spritesheet (#819) (2849b8e)
  • door sound effects (#807) (936d298)
  • emitters can have an in-room-at-once maximum created item count, which allows creation of pickup makers that wont create a new one until the last one is collected (#791) (f1eaf71)
  • Head doesn't play walking animation while in symbiosis (#803) (8a8b268)
  • more sound fx in-game and in menus - switching character, monster (de)activating, doughnuts hitting, elephants, monkeys, buttons on/off, crowns sparkling (#804) (906b988)
  • new spritesheet by Toppy (#776) (550d9fb)
  • palette tweaks (#811) (5ece881)
  • sound effect in menus (#805) (49eae5a)
  • use toppy palette in dialogs (#814) (7e2f281)

Bug Fixes

  • all monster types can be rendered as deactivated (#789) (dda6a92)
  • bug when pushing character through a door with ?cheats=1 enabled (#813) (d2e3e92)
  • fanfare not playing on game start (#806) (4ed4c4a)
  • let big rooms be positioned relative to each other on the map (#797) (e5c523c)
  • pickups that slide on top of player are collected (#790) (742ca50)
  • portable teleporters get the same standard sound effects as other movable items (falling, scraping, etc) (#778) (a75559e)
  • pressing a switch does not cause player to slide around the switch (#796) (5ef619c)
  • sorting items for rendering logging too much and slowing down the engine (#795) (d2f096b)

Room Changes

  • final room has slower firing salute to palyer (#799) (6d184a7)
  • minor changes in two original campaign penitentiary rooms (#782) (aa17048)
  • moonbase16 avoids a sudden death on entering the room because enemy starts close to the player (#780) (6295d89)
  • safari21 does not have an instadeath on entry if entering at the edge of the door (#800) (6af1dbf)

Editor Changes

  • cmd-k command palette (#775) (13bcaab)
  • drop down menu on room back/forward buttons (#794) (b119fbd)
  • fix race condition in loading monaco editor (#783) (fa2ea77)
  • only package monaco workers that we need (#777) (c553c17)
  • refactor json schema for room json in editor to be ~70% smaller by reducing duplication (#770) (023a950)

Miscellaneous

  • add tsgo as an alternative to tsc (#786) (af95d65)
  • augment IterableIterator type with new helper methods, drop iter-tools helper library (#787) (856153d)
  • upgraded to typescript v6 (#781) (75dcbb9)

v21.0.0

Choose a tag to compare

@jimhigson jimhigson released this 15 Mar 12:33
b67b712

21.0.0 (2026-03-15)

Features

  • editor-created campaigns can load from cache if previously loaded and browser is offline (#756) (65e97f7)
  • improve scroll position on mobile (#755) (a86c758)
  • portable teleporters (#758) (27a7a10)
  • simpler room json format for teleporters - no longer has to give position in destination room (#757) (338a8f9)
  • teleportation now works within a single room (teleporting from one part of a room to another part of the same room) (#759) (49d420e)
  • tweak jumping to make it easier to climb Head's ladders by allowing holding jump while constrained by the rung above for as long as the player likes (was previously 1/12s or ~82ms) (#761) (e848201)

Bug Fixes

  • a bug where player could levitate along a ceiling (#768) (39e1711)
  • character no longer falls forever if they go out of bounds (#762) (c763428)
  • failed teleporting no longer crashes the game (#769) (603a571)

Room Changes

  • blacktooth37 has a longer platform to jump onto after deactivating the monsters (#765) (daa9142)

Sprite Changes

Editor Changes

  • show name of room on map as a tooltip when hovering over the room (also in game with cheats turned on) (#763) (ca603f0)

v20.0.0

Choose a tag to compare

@jimhigson jimhigson released this 08 Mar 09:43
e5330cb

20.0.0 (2026-03-08)

Bug Fixes

  • Head sometimes keeps eyes cloesd after changing room (#752) (0bb932f)

Room Changes

  • make bookworld27 a little nicer looking (#753) (e3c63b4)

v19.0.0

Choose a tag to compare

@jimhigson jimhigson released this 07 Mar 12:18
161addc

19.0.0 (2026-03-06)

Features

  • charles robots can be deactivated, and render grey while they have the deactivated state (#745) (088867b)
  • easier to slide out of doorways (#735) (6b3f1f7)
  • first beta release of native builds (#563) (e1026dd)
  • going into symbiosis now moved heads and heels to their midpoint horizontally, and faces in the direction the previous character was facing (#741) (f2724e6)
  • head closes eyes if stood on by heels or another item (#747) (8169351)
  • Heels can carry Head's pickups (doughnuts, hooter, fast steps etc) (#728) (0b07627)
  • improved positioning of room rendering on screen (#749) (6638c90)
  • map current room highlighted in both game and editor (#744) (dd540c3)
  • moonbase rooms have bluer moonscape outside (#725) (597ed89)
  • reorganised on-screen hud on mobile (6638c90)
  • scrolls in-game improved appearance (#742) (8a84109)
  • show simple version numbers (ie "v18") instead of semver (like "18.0.0") in the game (#718) (bdd91b5)

Bug Fixes

  • fix rendering order bug where players and other items would sometimes incorrectly be rendered behind scenery items (#748) (11e3d79)
  • improvee behind/in-front detection of items where items are adjacent for rare failure case where items would flicker in front/behind each other during gameplay (#751) (2b191d3)
  • restore upscaling by integer amounts only - non-integer upscale was causing render artefacts (#738) (b4fb1c1)
  • scraping sound no longer plays when player quickly changes direction or rides on a conveyor (#730) (fb1e937)
  • scraping sound no longer plays when player quickly changes direction or rides on a conveyor (#731) (6d960ff)

Room Changes

  • blacktooth68 and blacktooth85 non-impactful update to make rooms easier to read (#743) (7ba64f2)
  • make moonbase12 less visually confusing (#727) (65650a2)
  • moonbase 30 made more interesting with some turtles (#733) (70e4260)
  • penitentiary 3 made a bit easier since in the remake Head while gliding moves slower than the moving platforms, so giving a small head start makes it harder to miss the platform (#732) (98c3cf4)

Sprite Changes

  • cowboys in bookworld wearing blue jeans (bookworld wsa looking too brown overall) (c27c9ed)
  • dark blacktooth room wall recolourise (#750) (6439ec9)
  • moonbase doors get a more consistent colourise in dim rooms (#729) (125c7e9)
  • moonbase doors have specific door 'legs' sprites, not the generic stone towers (c27c9ed)
  • moonbase walls next to doors end nicely to let the door show through, instead of showing moonscape where the door should be (c27c9ed)
  • new, moonbase-specific sprite for towers since stone towers looked out of place here (c27c9ed)

Editor Changes

  • crash on entering playtest mode from editor (#734) (b4b9db4)

v1.18.0

Choose a tag to compare

@jimhigson jimhigson released this 18 Feb 22:33
ace9842

1.18.0 (2026-02-18)

Features

  • games upscale can be fractional sometimes to more precisely match the size of the screen it is played on (#709) (961787c)
  • more colours on loading bars in border (#712) (ac4c085)
  • more sounds for generic items: falling, scraping (#701) (cc1b6a2)
  • pixel grid snapping applies in xy plane while an item falls purely vertically (#697) (5cca663)
  • post to discord when a release happens (#716) (3832cf2)
  • room entry sounds (disabled by default) (#706) (0b9b2d2)
  • scenery players in finalRoom get shadowmasks too, same as real players (#698) (39f0a5f)
  • show latest version indicator on home screen (#705) (85f4200)
  • slightly more expressive Heels falling sprites for towards and right direction (#708) (36d695f)
  • slightly more realistic spectrum-style loading bars (#707) (968748d)
  • when cheats are on, clicking/tapping on a room on the map jumps the current character there (#715) (80aaecc)

Bug Fixes

  • editor highlighted/selected items render dark pixels as black (#695) (7f4dfa5)
  • head facing sideways using standard 24x24 pixel sprites (#694) (724ccb4)
  • make moonbase16 less confusing by adding more drums to use to pile up to jump over volcanos (#700) (88c7ffd)
  • make sliding blocks stand out a bit better from the floor in moonbase arrow rooms (#703) (4a306e4)
  • moonbase arrow rooms (moonbase20, moonbase23) have arrow centered in room (unlike original game) (#699) (8b7f2e0)
  • remove room skip in #moonbase4 by diagonal jumping (#713) (f4cba97)

v1.17.1

Choose a tag to compare

@jimhigson jimhigson released this 03 Feb 21:21
8c37ab9

1.17.1 (2026-02-03)

Bug Fixes

  • add ampersand char to bitmap font (#691) (eb297eb)
  • head looking sideways to the camera partial redraw (#693) (fb95567)