AI Roguelite cover
AI Roguelite screenshot
Genre: Adventure, Indie

AI Roguelite

Update/hotfix


  • 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.