Move to Point of Interest is now left-stick press.
Ability page up and down is now left trigger + dpad up and down.
Melee attack nearest enemy is now left bumper.
Zoom in and out is now left trigger + dpad left and right.
Added several item descriptions.
Added some activated ability descriptions.
Gave Dyvvrach an inventory so they can sell their credit wedges.
Jellies and oozes now have default Ego and Willpower scores of 1 instead of 0.
Rhinoxen now have a trio of single horns instead of a trio of double horns.
Changed the indefinite article for leather armor and studded leather armor.
Removed some tomb walls from dynamic encounters.
Popups aligned to mouse position are now properly clamped to the screen.
The Spindle channel now extends up to the z-level of Resheph's tomb.
Added rolling session backups when you load a save game from the main menu. These can be manually restored from the <...>/CavesOfQud/Local/Session folder.
Fixed a bug that caused Warden Indrix to sometimes corrupt your save game.
Fixed a bug that prevented save games from being loaded if the info file was corrupt.
Fixed incorrect damage in Shield Slam's description.
Fixed a bug that caused zone stratum info to occasionally appear in the names of items you've named.
Fixed a bug that caused tile clicks to incorrectly register on button down and when dragging.
Fixed a bug that caused clicking on non-active buttons to activate the selected button instead.
Fixed a bug in the display of keybinds in the menu bar of the keybinds screen.
Fixed a bug in the stat shifts of clones affecting the original object when the clones vanish.
[modding] Added GetLandingLocation to the ZoneManager for getting the arrival zone of a parasang.
[modding] The GetTransitiveLocationEvent now supports prioritization of the selected portal and destination.
[modding] More interface members of the Rack<T> collection are now virtual.
[modding] Fixed a bug that caused the AfterTravelEvent to sometimes be handled twice if the parent object moved.
The new UI now properly shows the purchase cost of skills when some powers have already been learned.
Smart use is now a bit smarter, defaulting to high priority actions (opening doors, ascending stairs) but still allowing low priority actions (closing doors, collecting liquids) if no high priority actions are available.
Copies of objects now properly inherit statistical shifts.
Increased the render layer of fracti.
Fixed a log spam bug when clicking outside of the valid tile area.
Fixed a bug that caused some default limb behaviors to not be properly removed.
Fixed a bug that caused the Show Wffects command to not show up on the character sheet for true kin.
Fixed a bug that caused some items to occasionally stop working until they were re-equipped after multiple save cycles. (e.g. step sowers, 3D cobblers, grassy yurtmat)
Fixed a bug that caused music to not play in the Moon Stair.
Fixed a bug that caused some continuously looping sounds to sometimes not play.
Fixed a bug that caused mods to break on Linux.
Fixed a bug that caused the global location of interiors to sometimes be outdated, preventing recoiling when traversing between worlds.
[modding] Added a flag to ignore the contained weight of interiors.
[modding] Added a stale flag to zones that have been released via game end or freezing.
[modding] Various AI behaviors now inherit from AIBehaviorPart for collective removal.
Added many new sound effects for equipping items, reloading guns, and various other interactions.
Greatly improved the loading speed of sound effects, all but eliminating the delay when a sound is played for the first time.
Mouse movement now attempts to explore toward unexplored square you click.
The mouse right-click interact context menu now appears at the position of the mouse cursor instead of the center of the screen.
There's now a hierarchy of click actions. For example, clicking on an open door now moves into its square instead of trying to close it, though clicking on an open door still opens it.
Chimeras can now grow mouths, oral arms, and muscular feet.
Tinkers and artifexes now start with a wrench, and horticulturists start with a pestle.
You can now look at the contents of more bookshelves without angering their owners.
Arconauts, rhinoxen, Saad Amus, and Saad Amus clones should now wander more often (in the right contexts) rather than stand around.
Replaced scorpiock's unspecified stinger with a paralyzing stinger and lowered its mutation rank to 2.
Tweaked scorpiock's description.
The Mechanimist convert in Joppa is now considered interesting.
Non fresh-water liquids are now be ignored by general smart use actions.
Added faction icons for sultan cults and dynamic villages.
Added a new 'Adventure Mouse Quick Look' bind which shows a tooltip look instead of entering look mode.
Mutation points are now consumed after gaining a mutation rank, meaning Irritable Genome can no longer level something past it's maximum rank.
Removed Kyakukyan converts from dynamic encounters.
Burrowing claws, drills, and pickaxes now only use their dig damage against walls if its greater than a normal attack.
Swapped out the More Than a Willing Spirit Steam achievement icon.
Fixed a typo in the Bricks Can Be Thrown, Too achievement text.
Fixed a bug that caused Thah to give you an effectless asterisk. Affected saves will receive a 10-pointed asterisk when loaded.
Fixed a bug that caused popup width to be incorrectly sticky in some cases.
[modding] Fixed zoom in the map editor.
[modding] Folded in all the Spring Molting blueprints from Staging.xml into their respective XML blueprint files.
Added new mouse bindings for contextual action, interact, interact all, force attack, force move and look (Key Mapping > Adventure Mouse).
Nerfed the powerful "remove any one negative status effect" triggered action on the non-powerful variety of regeneration and healing-based cooking ingredients. Now that effect removes one -minor- negative status effect, like the first 4 ranks of the Regeneration mutation.
Similarly, gave a less impactful nerf to the powerful variety of regeneration and healing-based cooking ingredients by making their triggered action remove one negative status effect instead of all (but preferring a major one over a minor).
Fixed a bug that caused old journal entries from prior games to sometimes appear in the journal.
Fixed a bug that prevented some relic quests from completing correctly.
Fixed a bug that could rarely cause any dynamic quest to never complete correctly.
Changed the default framerate for OSX from vsync to 120, because of an OSX bug that caused a freeze when alt-tabbing a vsync application.
Changed the default framerate for Steam Deck from vsync to 120, because of some cases of the modern UI being sluggish on Steam Deck when vsync is enabled..
Fixed a layout issue that prevented some inventory categories from being clicked when there were a lot of them.
Fixed an issue with custom visage and some other configurable cybernetics not being properly configured in the modern UI.
[modding] The FinalizeRead method of parts and effects now supports removing the read component for migration purposes.
We are shedding some of our text-based skin for the Spring Molting update, live NOW on the main branch. This is the FINAL major update before the 1.0 release later this year. This patch brings the much-anticipated UI overhaul and lots of other upgrades and improvements. If you’ve been intimidated by the console UI and it's stopped you from diving into Qud, give Spring Molting's new RPG-like interface a try. Watch the update trailer to see the changes:
Spring Molting Update Highlights:
🚨ALL NEW INTERFACE🚨 Our transformational UI redesign is complete! Fully mouseable, fully gamepaddable, and much prettier, but all carefully designed to maintain the essence of what makes Qud Qud. More polish is coming, but everything functional is in.
Support for Steam Cloud saves. Play between PCs or between Steam Deck and PC, at your leisure
a refresh of the starting town of Joppa, with the same lived-in texture as the rest of the world
hundreds of new sound and visual effects
40 new achievements
several new narrative touches, big bug fixes, & performance improvements
Compare the old text-based Quests screen...
...to the new, showing the locations of your quest givers on the worldmap.
By the way, if you prefer the text-based UI, don't worry- It's still here. Go to Options > Overlay UI > uncheck "Enable modern UI elements".
What’s Next?
We are getting even closer to 1.0! We have two main objectives for the rest of the year: finish the main quest and create a more hands-on tutorial. Until then, you can still weekly updates to resume 1.0 launch at the end of the year.
-------------------------
Spring Molting Patch Notes
Quick note on saves
Old games aren't compatible with the Spring Molting patch, but you can finish them out before you update. From Caves of Qud in your Steam library, go to Preferences > Betas > "206.78" for the previous branch.
UI
We added an entire new UI. (ie, we completed work on the modern UI, for folks who've been following our progress). More polish will be coming over the next several weeks, but all the functionality is there.
There are too many changes to fully document, but here's a partial list of new screens: trade, quests, message log, character sheet, skills, equipment & inventory, tinkering, game summary, every journal tab, status effects, reputation, world generation, interact nearby, books, in-game terminals.
The new UI has full keyboard, mouse, and controller support.
The new UI plays natively on handhelds like Steam Deck.
Added a search bar to relevant screens.
Added a system menu button to the top-right of the main play screen.
SAVES
Added full support for Steam Cloud saves.
Vastly improved the performance of saves and loads.
Greatly reduced the number of files per save.
Greatly reduced save size.
Saves are now more resilient towards breakage, from mods or otherwise.
Saves now kept in the \Synced subdirectory, and unsynced files are kept in \Local.
Multiple attempts are now made to delete save games that are in use by another process.
WORLD
We refreshed the starting village of Joppa.
Added a new apothecary: Nima Ruda.
Replaced Warden Ualraig with a more fleshed-out version: Warden Yrame.
Gave all major NPCS new dialog and new descriptions.
Widened the range of artifacts that can be turned in to Argyve. Concurrently, we gave some true kin castes fewer starting trinkets.
Made some significant changes to O Glorious Shekhinah! These changes carry through to the generated village starts, and in fact are slightly different in each village type.
Gave the village a makeover, with several new walls, pieces of furniture, and monuments.
Joppa NPCs now point you to questgivers, like the villagers of dynamic villages do.
We refreshed the Naphtaali faction and culture.
Replaced or renamed several Naphtaali. Here's the new roster of creatures: Naphtaali forager, Naphtaali tinker, Naphtaali nimrod, Naphtaali jeer, and Naphtaali sap.
Replaced chrome idols with unplanished godheds, and their legendary counterparts, planished godheds.
Refreshed woodsprogs and added them to jungle populations.
Added Erah the ciderer to Kyakukya.
GAMEPLAY
Strong feelings creatures have due to actions you take (such as attacking them) now weaken over time instead of reverting suddenly when a map is unloaded.
Creatures belonging to multiple factions now take your reputation with all those factions into account when determining their attitude toward you.
Creatures no longer ignore changes to your faction reputation if they have a personal opinion of you.
Companions no longer revert to their base attitude when they lose track of their leader.
In general, we made the attitude system governing creature AI much more robust and fixed many of its long-standing bugs.
Creatures now get mad at you if you tell your companions to attack them.
Added a new piece of furniture: electric generator.
Tables randomly have items. on them more often.
Fixed Yurl having way too much ammo.
Removed the extraneous grazer golem.
Creatures no longer get saves vs. dreamcrungle gazes.
Lampreys no longer wake up from a nearby creature calling for help.
Hardpoints and Middle Hardpoints are no longer selected as metachrome slots.
MISC
Added 40 new achievements.
Added many, many new visual and sound effects.
Looping music tracks now play seamlessly.
Added an option to disable interface sounds (Opetions > General > Interface Sounds).
Made some alterations to the track that plays during Reclamation.
Added an option to disable text particle effects (Options > General > Use Text Particle VFX).
Made some tweaks to hindren and mopango dialog.
Refreshed and polished the dynamic wall generation system used for villages (e.g., "dragonfly chitin tent")
Refreshed and polished the display names, tiles, and descriptions of uindentified artifacts and partially identified artifacts.
Added some new trinkets: Added bubble level, spiral iron, and salt mill.
Added a wrench and a pestle.
Added several new item descriptions.
Tillifergaewicz is now a point of interest.
Twinning and trining lamprey can be villagers again.
Reduced memory fragmentation over long play sessions.
Improved turn-by-turn performance.
Improved lightray casting performance during the day.
Improved performance in liquid-heavy zones.
Improved memory overhead in general.
Improved memory overhead and performance when saving/loading.
Reduced memory pressure from reality-stabilizing effects.
Changed Issachari renderstring to 'h'.
Clarified Ruin of House Isner rules text.
Removed the prerelease inventory and trade options.
Clarified the disease cure achievements only trigger when the diseases are cured via traditional methods.
BUGFIXES
We made many, many fixes to long-standing issues around creature attitudes, including creatures losing their
Fixed Asphodel's followerss being limited to 8.
Fixed nonspecific gender verb conjugation.
Fixed several cases of messages referring to a *PooledObject.
Fixed the performance impact when many creatures had died or objects had been destroyed.
Fixed non-human village tinkers and apothecaries not having tier-appropriate stock.
Fixed twinning and trining lampreys generating erroneous copies.
Fixed starch and lignin being removed.
Fixed backswings being able to trigger additional backswings recursively.
Knowing the Cloaca Surprise no longer significantly slows down game loading.
Fixed many other small issues.
MODDING AND DEBUGGING
[modding] Creatures now have action-specific opinions of others. For example, being attacked by someone's ally now garners the OpinionAttackAlly opinion.
[modding] Creatures now maintain a history of allegiance. For example: "On the 3rd of Ut yara Ux, <creature> was constructed by a turret tinker." and "On the 12th of Tuum Ut, <creature> was proselytized by you."
[modding] Many invalid components are now removed gracefully when loading a saved game, making it possible to remove a mod from a saved game and continue playing.
[modding] Made the Leader part more general and functional. Use it to generate a creature with companions.
[modding] MinEvents now support registration with prioritized execution and optional serialization.
[modding] Any class can now register for a MinEvent by implementing the IEventHandler interface.
[modding] Event handlers now use event registrars to handle both registration and unregistration with a single method implementation.
[modding] Some events are now sent and can be listened for on the global game level, such as AfterPlayerBodyChangeEvent.
[modding] Added ModSingletonEvent, ModPooledEvent and IModEventHandler, which allow creating modded events with native performance. See XML docs for examples.
[modding] Object instances can now tokenize themselves for the serializer by implementing the ITokenized interface.
[modding] IParts can now define a priority which determines their order within the parent object's list. This has an effect on the orders of event processing and serialization.
[modding] Inert parts with no functionality, such as those gained from some skills, can now define a skip priority that excludes them from event processing, for a minor performance benefit.
[modding] Ported blueprint builders to be IObjectBuilders, which are singletons that can process many game objects without creating garbage or polluting the object's parts.
[modding] Text variable replacers, such as "=verb:shloop=" or "=player.waterRitualLiquid|capitalize=", are now moddable by decorating a class and method with the related attributes.
[modding] Complex and/or custom text variable operations can now use the Text.StartReplace() builder to do every replacement in a single pass.
[modding] Abilities can now set IsWorldMapUsable to allow activation on the world map.
[modding] The basic fields of effects are now manually serialized. It's no longer necessary to call the base Write method.
[modding] Game state singletons can now handle any embark events that occur after their creation.
[modding] An error is now generated when a serialized type falls through to the deprecated binary formatter.
[debug] Added a 'show attitude' action to creatures when debug information on object internals is enabled.
Added 40 achievements. They are visible from the in-game achievement manager (Main Menu > Achievements) but are not yet active on Steam or other platforms.
Added a system menu button to the top-right of the main play screen.
Added UI sounds for selections, some popups and picking targets.
Added an option for to disable interface sounds.
Added an option to disable text particle effects (Options > General > Use Text Particle VFX).
Renaming crysteel and zetachrome items no longer takes away their paperdoll shader.
Clarified Ruin of House Isner rules text.
You are no longer always stranded in waking dreams.
Gave eyewear mods a tinkering icon.
Improved the layout of the comparison tooltip.
Improved equipment drag and drop indicators.
Improved performance when wearing a lot of equipment.
Greatly improved memory overhead.
Multiple attempts are now made to delete save games that are in use by another process.
Added additional safeguards and debugging for player duplication.
Fixed Yurl having way too much ammo.
Fixed a bug that could look you out of Argyve dialog between knickknack quests.
Fixed an issue causing strange items to appear in your inventory as a result of showing comparison tooltips.
Fixed backswings being able to trigger additional backswings recursively.
Fixed a bug with liquids creates via warm static.
Fixed some item duping bugs.
Fixed a bug that would rarely cause the paperdoll equipment and inventory to vanish.
Fixed a bug where some scrollers wouldn't accept page up or page down.
Fixed an error when attempting to revisit a zone that was missing from the zone cache.
Fixed some bugs in the Mechanimist convert dialog.
Fixed objects attempting to enter the pool multiple times.
We are excited to announce that the Spring Molting update is live now in beta. We'll be testing for a few weeks and then releasing the update on the main branch June 6th. Full patch notes can be found at the end of this post, but here is a summary:
- 🚨ALL NEW INTERFACE🚨 Our transformational UI redesign is complete! Fully mouseable, fully gamepaddable, and much prettier, but all carefully designed to maintain the essence of what makes Qud Qud. More polish is coming, but everything functional is in. - Support for Steam Cloud saves. Play between PCs or between Steam Deck and PC, at your leisure - a refresh of the starting town of Joppa, with the same lived-in texture as the rest of the world - hundreds of new sound and visual effects - several new narrative touches, big bug fixes, & performance improvements
To access the beta, select Caves of Qud in your Steam library> Preferences> Betas> Beta Branch. No password required. For bugs and feedback, please post here.
And if you want to get your friends in on Qud, there is a free demo available from now till May 13th. Access it from the Caves of Qud Steam store page.
Live and drink!
-Freehold + Kitfox
SPRING MOLTING PATCH NOTES
UI
We added an entire new UI. (ie, we completed work on the modern UI, for folks who've been following our progress). More polish will be coming over the next several weeks, but all the functionality is there.
There are too many changes to fully document, but here's a partial list of new screens: trade, quests, message log, character sheet, skills, equipment & inventory, tinkering, game summary, every journal tab, status effects, reputation, world generation, interact nearby, books, in-game terminals.
The new UI has full keyboard, mouse, and controller support.
The new UI plays natively on handhelds like Steam Deck.
Added a search bar to relevant screens.
SAVES
Added full support for Steam Cloud saves.
Vastly improved the performance of saves and loads.
Greatly reduced the number of files per save.
Greatly reduced save size.
Saves are now more resilient towards breakage, from mods or otherwise.
Saves now kept in the \Synced subdirectory, and unsynced files are kept in \Local.
WORLD
We refreshed the starting village of Joppa.
Added a new apothecary: Nima Ruda.
Replaced Warden Ualraig with a more fleshed-out version: Warden Yrame.
Gave all major NPCS new dialog and new descriptions.
Widened the range of artifacts that can be turned in to Argyve. Concurrently, we gave some true kin castes fewer starting trinkets.
Made some significant changes to O Glorious Shekhinah! These changes carry through to the generated village starts, and in fact are slightly different in each village type.
Gave the village a makeover, with several new walls, pieces of furniture, and monuments.
Joppa NPCs now point you to questgivers, like the villagers of dynamic villages do.
We refreshed the Naphtaali faction and culture.
Replaced or renamed several Naphtaali. Here's the new roster of creatures: Naphtaali forager, Naphtaali tinker, Naphtaali nimrod, Naphtaali jeer, and Naphtaali sap.
Replaced chrome idols with unplanished godheds, and their legendary counterparts, planished godheds.
Refreshed woodsprogs and added them to jungle populations.
Added Erah the ciderer to Kyakukya.
GAMEPLAY
Strong feelings creatures have due to actions you take (such as attacking them) now weaken over time instead of reverting suddenly when a map is unloaded.
Creatures belonging to multiple factions now take your reputation with all those factions into account when determining their attitude toward you.
Creatures no longer ignore changes to your faction reputation if they have a personal opinion of you.
Companions no longer revert to their base attitude when they lose track of their leader.
Creatures now get mad at you if you tell your companions to attack them.
Added a new piece of furniture: electric generator.
Tables randomly have items. on them more often.
MISC
COMING SOON THIS BETA: 40 new achievements
Added many, many new visual and sound effects.
Looping music tracks now play seamlessly.
Made some alterations to the track that plays during Reclamation.
Made some tweaks to hindren and mopango dialog.
Refreshed and polished the dynamic wall generation system used for villages (e.g., "dragonfly chitin tent")
Refreshed and polished the display names, tiles, and descriptions of uindentified artifacts and partially identified artifacts.
Added some new trinkets: Added bubble level, spiral iron, and salt mill.
Added a wrench and a pestle.
Reduced memory fragmentation over long play sessions.
Improved turn-by-turn performance.
Improved lightray casting performance during the day.
Changed Issachari renderstring to 'h'.
BUGFIXES
We made many, many fixes to long-standing issues around creature attitudes, including creatures losing their
Fixed Asphodel's followerss being limited to 8.
Fixed nonspecific gender verb conjugation.
Fixed several cases of messages referring to a *PooledObject.
Fixed the performance impact when many creatures had died or objects had been destroyed.
Fixed non-human village tinkers and apothecaries not having tier-appropriate stock.
Fixed many other small issues.
MODDING AND DEBUGGING
[modding] Creatures now have action-specific opinions of others. For example, being attacked by someone's ally now garners the OpinionAttackAlly opinion.
[modding] Creatures now maintain a history of allegiance. For example: "On the 3rd of Ut yara Ux, <creature> was constructed by a turret tinker." and "On the 12th of Tuum Ut, <creature> was proselytized by you."
[modding] Many invalid components are now removed gracefully when loading a saved game, making it possible to remove a mod from a saved game and continue playing.
[modding] Made the Leader part more general and functional. Use it to generate a creature with companions.
[modding] MinEvents now support registration with prioritized execution and optional serialization.
[modding] Any class can now register for a MinEvent by implementing the IEventHandler interface.
[modding] Event handlers now use event registrars to handle both registration and unregistration with a single method implementation.
[modding] Some events are now sent and can be listened for on the global game level, such as AfterPlayerBodyChangeEvent.
[modding] Added ModSingletonEvent, ModPooledEvent and IModEventHandler, which allow creating modded events with native performance. See XML docs for examples.
[modding] Object instances can now tokenize themselves for the serializer by implementing the ITokenized interface.
[modding] IParts can now define a priority which determines their order within the parent object's list. This has an effect on the orders of event processing and serialization.
[modding] Inert parts with no functionality, such as those gained from some skills, can now define a skip priority that excludes them from event processing, for a minor performance benefit.
[modding] Ported blueprint builders to be IObjectBuilders, which are singletons that can process many game objects without creating garbage or polluting the object's parts.
[modding] Text variable replacers, such as "=verb:shloop=" or "=player.waterRitualLiquid|capitalize=", are now moddable by decorating a class and method with the related attributes.
[modding] Complex and/or custom text variable operations can now use the Text.StartReplace() builder to do every replacement in a single pass.
[modding] Abilities can now set IsWorldMapUsable to allow activation on the world map.
[debug] Added a 'show attitude' action to creatures when debug information on object internals is enabled.