Added button in the story editor to copy story text to clipboard, in case you want to share/use it outside the game
Got rid of deprecated python server logic which wasn’t used anymore, which means the download file size of the game can be again reduced in the near future
Removed deprecated local stable diffusion as an option; if you need this, please run your own A1111-compatible server instead
Fixed serious issue where NPCs who left the premises could disappear from your save forever
Better more tolerant substring matching for achievements for skills
Tweaked colon parsing logic to handle an edge case where colon with no space appears in description
Added logic to prevent simultaneous “left the premises” with defeated or died
Tweaked graphics settings to maybe slightly reduce GPU load without affecting image quality
Added starting location to the starting quest story blob generation prompt to improve its coherence
Added support for displaying Chinese and Russian characters, although actual support for non-English languages won’t be available until much later
Craft what you want, Appearance of New Thing, Sapphire Image Gen, and more
Craft what you want (within reason)
There’s a new crafting button which allows you to input a custom item name. The AI will first evaluate the plausibility of the item being crafted based on the ingredients you specified as well as the name of the crafting station. If it’s plausible, the new item name will be close to what you specified, whereas if it’s implausible, it may be renamed to something else entirely.
There's no cheat code to circumvent the plausibility check, because in most cases you'd get what you want using the existing item spawning cheat instead.
Three new event checks
Added event check for appearance of a new thing in the story
Added event check for detecting whether a thing should become an NPC or become your attacker (e.g. became sentient)
Added event check for whether a character in the scene left the premises. If confirmed, they will move to a different part of the world.
More entities info in prompt
Things and enemies are now included in the prompt to the story generator
Crafting transparency
Added a hint button in the crafting UI explaining how the item level is determined.
AI-determined item quality
Instead of having an OP loot table for all story-acquired items, the AI now decides whether the item is normal or epic. If normal, the rarity will be Common or Uncommon; if epic, the rarity will be Rare, Epic, or Legendary.
Enemies vulnerable outside of combat
It’s a bit OP, but I added event checks for enemy injury/defeat even if you aren’t currently in combat with them. This opens up some emergent gameplay like sneak attacking an enemy or damaging multiple enemies at the same time
Sapphire image gen
Added an experimental image gen option for Sapphire subscribers. The future of this feature is uncertain. If it goes well, the image gen quality may be improved, and/or I could add something for Silver or Free tier as well.
Slightly better Wombo support, Image gen indicators
Added an indication if an image failed to generate. If it was an unknown failure, a yellow exclamation mark will be displayed. If it was a Wombo NSFW failure, a Wombo NSFW error message will be displayed. Also added logic to avoid retrying images which failed with Wombo NSFW if using Wombo the next time you load the game, which used to add a long wait time before other images would start to generate.
Better Kobold Horde Support
Added a button in Kobold Horde for selecting the list of models you want to use. This replaces the old clunky logic of manually specifying the allowed or disallowed models with a text file.
Integrated newer Chat templates into the default list of choices (thanks to Harald B for the original mod). Also added stop sequences logic to these templates.
Way faster loading of load game view
Added some logic to greatly speed up the loading of the load game view. It will still be slow the first time after the update, but should be fast after that.
Misc
Changed outdated event check sliders to toggles (finally).
Tweaked minimum roll for trivial tasks logic to be even less punishing. If you have it set at minor failure, then other than only turning critical failures into minor failures, it now also turns minor failures into minor success.
Abilities now display required energy
Added new/learned ability to the list of player-confirmable event checks
Added the option to delete learned abilities from your ability pool
Added hint to the AI that when you use an item, it’s already in your possession (to avoid it always describing you picking it up out of nowhere).
The open-ended plausibility check for eligible items now also allows Things.
Fixed a memory leak that happened if you rapidly clicked map locations
Tweaked farm prompt to allow more places to be used as farms.
Added “Farm” as a filterable category in the map.
Added ability to edit main quest objective before starting it.
Added note that player physical description is only for image gen.
Added ability to edit world background or character backstory mid-game.
Improved semicolon/comma parsing logic for lists of names such as merchant item names.
More ability slots, skills reclustering, etc.
Abilities minor overhaul
Increased number of innate, item, and learned ability slots. For innate abilities, also increased the generated pool amount for new games to have more to pick from.
Skill clustering
Added logic to use AI to recluster your skills if you have too many skills. When this happens, the bottom-right log view will issue a warning. You may wish to review your skills after the consolidation and undo or savescum if you didn’t like the result.
Added delete buttons for skills
Added new cheat codes: sk [skill name] (e.g. “sk hitchhiking”): Adds the skill with the specified name sk[number] [skillname] (e.g. “sk42 hitchhiking”): Adds the skill with the specified name and level
Better storytelling models
Upgraded Free and Silver to slightly better storytelling models and Sapphire to a significantly better storyteller. Added more storytelling model override options for Sapphire and Silver.
Items UI updates
Added icons for items to denote their equipment slot or consumable type
Added the misc items tab which was needed since the misc items category was introduced
New ambient sound
Added sound for medieval battlefield because modern warzone didn’t fit those cases
Misc
Fixed a bug when starting a new main quest after the first one, where the presented task was the last quest’s last task instead of the next quest’s first task
Fixed bug in some ComfyUI workflows
Added support for NovelAI Erato, although in my opinion Free Cloud still generates better stories
Fixed rare issue where when user deleted the entire story history the last turn would be added back in upon reloading because it was deemed a legacy save
Fixed story turn not deleted in game log view when deleted in story turn view. Also added back in the warning about story editor vs game log discrepancy for first-time users, because the game log usually contains more history than the story editor
Item salvage is now disabled once you get to a salvage depth of 3
Added gender to player image gen prompt if it’s present
Fixed merchant item names issue
Open-ended Overhaul, Plausibility Mechanic, and Equipment Overhaul
Note: This update is currently in the Beta channel and will most likely be pushed to the Default channel within 24 hours.
Open-Ended Overhaul, Plausibility Mechanic
All open-ended instructions are now categorized into Player Action or Story Manipulation. To circumvent this entire system and use the old open-ended system, use the cheat code opopen 1
Player Action
Encompasses situations where you describe taking any sort of action, whether it be walking somewhere, stabbing a zombie, casting a spell, or anything in between. These will be classified according to one of 3 Plausibility tiers: Trivial, Medium/Hard, and Implausible.
Trivial: The minimum roll outcome is the same as what you specified under “minimum roll check for basic actions” in Options (default minor failure).
Medium/Hard: Regular roll check with no minimum outcome. An ability may be invoked if it matches the recommended ability, which usually has a higher multiplier than default for things like damage, healing etc.
Implausible: If the action did not require an item from your inventory, an ability will be required. The action will be blocked if the requirement isn’t met. This requirement is bypassed in creative mode and replaced by a roll check penalty.
For all Plausibility tiers, an item may be required, which blocks the action if you don’t have it, unless using creative mode.
Story Manipulation
Encompasses situations where you describe events that shouldn’t be within your control, such as specifying what an NPC is doing or describing a change in the environment. Always allowed in creative mode, and costs 1 Essence of Opportunity in regular mode.
Equipment Overhaul
More slots
Added equipment slots for face, neck, inner torso, finger, and pants.
Better classification
Revised the prompt to reduce false negatives for wearable equipment
Item breakage/depletion mechanic
In the old system, an item would deplete only if you used it while it wasn't equipped. Now, it's using the story from the AI to determine whether it should be depleted (depleted in this case meaning broken, expended, given away, stolen, or left your possession in any way). Many items will have a % chance to resist the story-based depletion, which increases by a flat 20% when equipped (therefore most epic and legendary items are indestructible when equipped).
Use your equipped items
In the past, you had to unequip an item to "use" it. Now, you can also use equipped items.
Revised concept of a "wieldable" item
In the past, anything that wasn't a wearable or consumable was deemed "wieldable", reflecting the fact that you can hold almost anything in your hands. Now that using items from the inventory doesn't incur such a large penalty, there's a new category for miscellaneous items, which makes wieldable items rarer and more special.
Slightly revised armor logic
Armor will only be used to "block" an attack in the story prompt if the favorable text triggered. This prevents armor blockage from becoming a bad thing due to the revised story-based breakage mechanic. The formula is largely the same, with each equipped item having an equal chance of being picked as a potential absorber of an enemy attack, and once picked, the % chance to mitigate is used to determine whether it triggers.
Prompt context
Added all equipped items to the story context, as well as the name and description of the current item being used or triggered as armor.
Mood/energy
Revised mood/energy prompt to reduce false positives and reduce the chance of a mood debuff per turn (which was happening too often). The new system is also moddable via the new fields in the survival bars, increased_strs and decreased_strs.
New cheat codes
opopen 1 - As mentioned above, causes all open-ended instructions to be unchecked
task adv - Completes the current quest task
task obs - Obsoletes the current quest task causing the quest to be rewritten
Misc
Tweaked new item prompt to slightly improve accuracy
Tweaked enemy charmed prompt to reduce false positives
Tweaked task completion prompt to reduce false positives
Added world background to respawn enemies prompt
Added world background to merchant items prompt
Added logic to parse quests more tolerantly and accept a common wrong format produced by smaller models, in which one task can span multiple lines
Added mitigation for a rare character duplication bug
Added mitigation for crafting an item with an empty name so at least the save won’t be broken
For NovelAI users: Migrated to the new NovelAI API to prevent future breakage
Fixed bug when pressing Esc after picking an item to use
Reduced new item false positives by preventing equipped item names from showing up as new items
Tweaked consumable logic to apply the consumable effect even if event checks determined that bar went down that turn (this way energy drinks should work in combat even if you seemed exhausted during that story turn)
Added brighter warning messages to all non-standard options that perform worse than Free Cloud, due to a couple negative reviews left by people who did not bother to try Free Cloud first
Some hotfixes
Fixed error when starting a new game affecting some prompts
Fixed occasional error with quest generation where the generation got cut off early
Fixed bug where item doesn’t reappear when pressing undo after offer item
Possibly fixed issue where crafted item descriptions get longer and longer
Improved prompt for salvage item
Fixed UI bug where spawn enemies button wasn’t updating sometimes
Fixed issue where AI would rarely identify a new location as an existing child place
Fixed quick-time actions not showing up at all
Possibly reduced chance of AI not following instructions by emphasizing in the system prompt that the instructions at the end must be followed
Improved item eligibility prompt for crafting (whether an item can qualify as a recipe item) to make it less strict
Fixed bug where when more than 1 NPC moved to a new location with you the UI wouldn’t update properly
Improved Coherence and Control, Part 2
Note: At the time of this announcement, this update is currently in the Beta channel and will most likely be pushed to the Regular channel within 24 hours.
Better story illustrations
Instead of passing your story turn verbatim to the image generator, the text generator will generate a visual description of the scene to send to the image generator. Improves coherence of story turn illustrations.
Skill check overhaul
The previous skills system was designed around weaker LLMs which couldn’t follow instructions. The idea was a “shotgun” approach mimicking the chaos of how the brain works in real life, where each action would grow 3 skills, and statistically one of them might match something you learned previously. This approach was unpopular because it was too chaotic, and a little outdated with the capability of smarter LLMs. The new skill system outputs only 1 skill per action. The LLM is fed the entire list of skills in the universe and told to pick a closest matching one or generate a new one if none match (up to a maximum of 100).
Additionally, whereas previously the conversation skills were hardcoded, they are now AI-determined, which means you can have different skills in different contexts. For example, asking for information in a black market may use the skill Streetwise.
Better combat biasing
Improved “power” string mechanic, which previously was only included in some actions and wasn’t influential enough. It is also moddable now. This message indicates the balance of power based on your level difference when in combat with an enemy. There are 5 variants (much stronger, slightly stronger, equal, slightly weaker, much weaker). In particular, the new version makes instant defeats less likely when fighting an enemy close to your level.
As a result of these changes, enemy plot armor was also removed, because it was interfering with story coherence in some cases.
Better item descriptions for looted, foraged, harvested, crafted, and storage items
All of these items are now generated with name and description in one go, and also get the context of their parent object or place description. Please note: mods which edited these prompt files may stop working. To fix this, remove the affected prompts from the modded folder to force it to use the default prompt.
Better and more flexible NPC context
Added NPC descriptions to the prompt, which largely fixes the inconsistent gender issue. As well, now NPCs mentioned in the story get that story turn added to their interaction history (as opposed to only the target of an interaction).
Added a checkbox for whether to disable NPC description auto-update. If disabled, it uses the old mechanism of having a separate “history summary”. The reason I leave it enabled by default is often as you get to know a character, their original description becomes outdated and needs to be re-summarized.
Added button for respawning enemies
Respawning enemies is now player-controlled via a button instead of automatic. Also rewrote the prompt for spawning enemies to include both name and description for better coherence.
Better control/modding support of “full prompt string”
Under chatgpt-prompts, there is a new file called full_prompt_str.txt which specifies how your story context is built (the part of the prompt preceding your action sent to the story generator). Editing this file influences all prompts which use ${FULL_PROMPT_STR}. Please note the lack of newlines is intentional, to account for the case where the string doesn’t exist (if it does exist, the newlines will be inserted by the game).
Added the following cheat codes:
npc [name]: Spawn an npc with the given name ene [name]: Spawn an enemy with the given name thing [name]: Spawn a thing with the given name
Improved “minor failure” from conversation (no more Sheepishly)
Instead of making you “sheepishly” say the thing, a minor failure in conversation now suggests to the AI that the character’s reaction may not be entirely what you intended. Thus minor failures are now enabled by default.
Better mood debuff mechanic
Added a field called chatgpt_zero_status_str which inserts itself into the prompt when the survival bars reach 0. Mods can use it. This is less annoying than having a random % chance to trigger a low-mood story overriding your action.
Configurable basic action roll check minimum
Changed "disable critical failures" option to a slightly more flexible one where you can specify the minimum roll of talking or using a consumable on yourself. Options are critical failure, minor failure, or minor success; default is minor failure.
Farming check
Added an AI check for farming. The farm UI is now only available for places that could conceivably be used for harvesting/processing.
Misc
Tweaked a large number of prompts (event checks and otherwise) to improve accuracy. Some mods may be outdated. The easiest way to see which prompts were modified is to go into the relevant "default" folder and sort by Date descending. Most (not all) touched files have been modified; some may have been modified but reverted.
Started limiting token length for some texts other than just full prompt string, with generous limits that won't affect the vast majority of users. If you go over, a warning will be displayed in the story view, but the game will proceed normally.
Added learned name to the list of event checks that can be player-confirmable.
Increased description length and greatly reduced chance of ambiguous gender of generated NPCs.
Added creative mode option to name the location/region you’re going into.
Added AI-determined vendor/merchant logic.
Added logic using AI to determine whether a character went with you if you changed locations.
Separated defeated vs dead entities to avoid situation where horde of zombies is defeated if one zombie is killed.
Fixed bug where initial images were being generated twice in a row.
Improved responsiveness of the console.
Fixed bugs in NSFW fallback in cloud text gen services. Please report issues if you run into any more.
Equipment slot check now includes item description.
Fixed a couple bugs related to mention of a new location.
Fixed “(blocked)” or “(locked)” issue with place names/descriptions.
Fixed bug in map UI where a stale location image would be displayed in location details.
Fixed bug in map UI where location description wasn’t scrollable all the way to the bottom.
Added a bracketed note when NPC dies even if it was dead according to event checks (in case it was ambiguous in the story). The case where it was dead according to event checks is already covered by the extra turn implemented in the previous update.
Fixed bug where enemy sometimes didn’t get a turn in combat.
Prevented new location from triggering if it matches existing thing name.
Slightly increased image gen prefix text box size.
Fixed bug when pressing Undo after marking a task as complete.
AI decision icons should now remain clickable if an error occurred during processing.
Regions are now highlighted if matching the filter string in map search.
Improved Coherence and Control, Part 1
Improved Coherence
Upgraded all cloud services (Free, Silver, and Sapphire) to better models.
Many entity descriptions are now also taking the recent story text into account, which solves most cases of entity descriptions not matching the story.
If an NPC or enemy died via injuries instead of story-detected death, a system turn will be triggered to describe their death, so that the AI can understand they're dead.
Place descriptions will be automatically updated if they were mentioned again in the story.
NPC descriptions will be automatically updated based on their interaction history (can be disabled by disabling interaction history in Options).
Entering a location now causes all entities to be generated with their description (as opposed to generating the description later). This reduces the chance for entity descriptions to be out of place for the world.
When you enter a new place via a story turn, the story turn will be taken into account when generating the location’s entities.
Improved location change event check accuracy by including original location in prompt.
Improved Player Control
Multiple event checks are now player-configurable in terms of whether they require confirmation via a button press. These now include combat, task completion, task obsoletion, new item, new character, new follower, and new location.
Quest V4 tasks can now be viewed and edited, both from the new game view as well as in-game via Essence of Transformation or Creative Mode.
Starting quest tasks can also be saved in world presets to share with others.
Misc
Fixed annoying issue where story turn illustration sometimes wouldn’t go away even after mouse stopped hovering over it.
Fixed bug where “computer room” ambience wouldn’t play.
For autogen world preset, the last typed in text is remembered so you can easily retry your generations.
Fixed writing style not showing up in prompt for Kobold API users.
Fixed bug when pressing Undo while unblocking a blocking thing.
Added prompt text to help AI coherence when unblocking a blocking thing.
Fixed issue experienced by a small portion of local image gen users, where images wouldn’t show up in the game.
Quests Overhaul (V4)
Quests V4
Hard to believe we’ve already been through 3 iterations of quest systems. V1 was just a single task you could perform at a single location. V2 and V3 were multi-stage and a bit more immersive, but still designed for an “older” era (just 1-2 years ago) when LLMs weren’t nearly as powerful. Quests V4 is the next logical step to take this game to the next level of immersion, and utilizes the capabilities of modern LLMs for storytelling much more effectively than before.
When you start a new quest, an entire plot line is now generated using your world background and story so far. As you complete the tasks, you reveal more of the plot.
The plot is not set in stone. At any time, if you express interest to take a different path, or if the AI thinks a task became impossible (e.g. an essential NPC died), the remaining tasks will be regenerated.
The last task of each quest segment contains a choice, where each choice leads to a different ending.
At every turn, if you are tracking a quest, an event check is included to see if you progressed along the current task. Possible outcomes are: No change, instant completion, partial completion, or task became obsolete (due to player picking a different strategy, or task becoming impossible).
At each stage when you complete a task, an extra story turn may be generated which reveals more of the plot line and introduces you to the next task.
Any action you take has the potential to progress your current task, but if you feel stuck or uncreative, just click the orange button which will generate 3 options somewhat relevant to your current task.
Finishing a quest will create a persistent world status effect that lasts for a configurable number of turns (defaulting to 10).
Quests V4 applies only to new saves. Older saves can continue questing on the Quests V3 system.
A number of issues were uncovered in the Beta and since fixed, and the feature is now being rolled out to the Default build. The fixes include:
Fixed story turns being broken
Fixed tooltip text going off screen
Changed format of task generation to reduce chance of error when using smaller models
Increased token limit for local API options to reduce chance of error when generating quest tasks
Tweaked prompt for story result from task result, reducing chance of a disconnect between finishing one task and starting the next one
Please report any remaining issues in the Discord or Steam discussions.
Event Checks UI Overhaul
Event check messages have been converted to icons, which reduces clutter in the text view. Mousing over the icons provides more info about the triggered event check. Additionally, some event checks are now player-controlled and require you to click on them to confirm them, which helps mitigate false positives.
Story turns minor overhaul
The logical representation of the text view has been improved, so now editing a story turn can finally cause it to be reflected in the text.
Misc
Generic exception message now includes a link to Player.log (finally) which you should include in any bug reports
Removed deprecated “local” option. You may of course still play locally using one of the supported local text gen options (kobold or oobabooga).
Improved New Game UI
New Game Overhaul
Starting Item
Players now get 1 starting item at the start of the game.
More Customization
Improved customization for new games. You can now optionally pre-generate the initial locations, starting quest, inate abilities, starting item, and passive skills. You can re-roll these generations individually as many times as you want. You can also manually edit the fields, although editing the starting item or innate abilities is restricted to creative mode due to being OP.
Moddable world presets can also include these new fields. Sometimes you might choose to predefine some of the options for a preset, such as some ability names or a starting quest you find interesting. However, in many cases, you may want to leave these fields empty, which indicates that they should be AI-generated at the start of each new game (to increase variance and replayability).
Easy exporting of world presets
Moddable world presets have been updated to a more future-proof format, though the game should still support old versions. You can also export your current preset as a new json file, which provides a much easier way to create customized presets to share with others.
Improved location generation
In the case of pre-generating initial locations, you can optionally provide additional instructions to the AI. This can greatly influence how it generates the locations. A demonstration of this is included in the pre-bundled preset “UC Berkeley” which replaces “College”. In this case, I instructed the AI to generate real-life locations, and it did so successfully (including Top Dog, La Burrita, Cheeseboard, Sproul Plaza, and various other restaurants and campus locations).
Visual Improvements
Updated fonts to be consistent and made the Auto-Generate button more prominent to encourage its use.
ComfyUI Custom Workflows
Logic for how the game uses ComfyUI has been expanded to allow custom workflows. Instructions in the readme file inside the model-params directory.
Image gen issue mitigation
Wombo image gen was down for several hours. The image gen was broken in an unconventional way, where it would allow you to download a PNG file, but the PNG file would be corrupted. This update prevents that kind of issue from breaking game logic, so you can still at least play the game without getting error messages. It also lets the game automatically delete corrupted PNG files so that they may be generated if you reload that save.
At almost the exact time I pushed this update, Wombo was fixed again, so there should be no change in behavior for those reading this.
Note that if this happens in the future, Stable Horde is a good fallback for free image generation. Their response times seem to have greatly improved from how it was several months ago.