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.
[h2]Better story illustrations[/h2]
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.
[h2]Skill check overhaul[/h2]
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.
[h2]Better combat biasing[/h2]
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.
[h2]Better item descriptions for looted, foraged, harvested, crafted, and storage items[/h2]
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.
[h2]Better and more flexible NPC context[/h2]
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.
[h2]Added button for respawning enemies[/h2]
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.
[h2]Better control/modding support of “full prompt string”[/h2]
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).
[h2]Added the following cheat codes:[/h2]
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
[h2]Improved “minor failure” from conversation (no more Sheepishly)[/h2]
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.
[h2]Better mood debuff mechanic[/h2]
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.
[h2]Configurable basic action roll check minimum[/h2]
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.
[h2]Farming check[/h2]
Added an AI check for farming. The farm UI is now only available for places that could conceivably be used for harvesting/processing.
[h2]Misc[/h2]
[h2]Better story illustrations[/h2]
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.
[h2]Skill check overhaul[/h2]
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.
[h2]Better combat biasing[/h2]
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.
[h2]Better item descriptions for looted, foraged, harvested, crafted, and storage items[/h2]
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.
[h2]Better and more flexible NPC context[/h2]
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.
[h2]Added button for respawning enemies[/h2]
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.
[h2]Better control/modding support of “full prompt string”[/h2]
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).
[h2]Added the following cheat codes:[/h2]
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
[h2]Improved “minor failure” from conversation (no more Sheepishly)[/h2]
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.
[h2]Better mood debuff mechanic[/h2]
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.
[h2]Configurable basic action roll check minimum[/h2]
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.
[h2]Farming check[/h2]
Added an AI check for farming. The farm UI is now only available for places that could conceivably be used for harvesting/processing.
[h2]Misc[/h2]
- 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.