AI Roguelite cover
AI Roguelite screenshot
Genre: Adventure, Indie

AI Roguelite

Plausibility tweaks etc.

Main

  • [p]Added a new plausibility system dubbed "Enhanced plausibility evaluation". It's stricter and can trigger for things that aren't physically impossible but seem overpowered or unreasonable[/p]
  • [p]Added plausibility check for changing locations (can be bypassed by creative mode option)[/p]
  • [p]Changed most implausible actions to fail in the story instead of be blocked outright, which seems to improve the experience for when a borderline action gets marked as implausible[/p]
  • [p]Added a shorter turn length option which keeps story turns concise and reduces the chance the AI takes actions on your behalf[/p]
  • [p]Split "creative mode" options to make it more customizable[/p]


Misc

  • [p]Added moddable implausibility txt file implausibility-condition.txt[/p]
  • [p]Added some plausibility cheat codes (instructions in console when pressing ~)[/p]
  • [p]Removed old unused styles for Wombo image generation[/p]
  • [p]Followers now heal with the “reg” cheat code[/p]
  • [p]Fixed bug where player description would sometimes fail to save[/p]
  • [p]Fixed item abilities failing to generate when playing in Russian[/p]
[p][/p][p]In other news, a big update with even more changes (not this one) is currently available in the alpha channel, but please note it's very buggy at the moment, so only try it out if you don't mind risking your save file.[/p]

Character classes, AI-generated status bars

Character classes



Each preset now gets 8 pregenerated character classes by default. You can pick your class or regenerate the class choices on the left side of the new game view. Classes can be saved/customized in presets.

The AI is instructed to make the first 5 sound more standard and the last 3 more exotic, but you can alter or further expand on this in the custom instructions text box. Note: Some players reported issues with local/custom models failing to follow instructions when generating classes, but I didn’t experience such issues with default models including Free cloud.

The chosen character class influences the generation of the starting item, innate abilities, and starting passive skills, as well as the player background should you choose to regenerate it. It is also inserted into story and plausibility prompts, and may influence them in subtle ways.

After starting a game, player class can still be edited by right-clicking the player portrait and selecting "Edit details".

AI-generated status bars



Status bars are the successor to survival bars. They are AI-generated to be custom tailored to your specific world. They can be pre-generated, or generated during a new game.

Status bars come in two varieties: Player status bars and World status bars. Player status bars are focused on the player circumstances. Classic examples are hunger and mood, but if for example you're roleplaying as a student, the AI might generate "Academic standing" as a status bar. World status bars are usually related to world state, e.g. civil unrest. Some status bars can fit in either category.

Each survival bar has a preferred direction (up or down), a few clues to the AI about what might cause it to improve or worsen, status effects to apply if it becomes good or bad, what should happen if it reaches the non-preferred end, and several other parameters which can be edited.

Survival bars can be edited either in the new game view or inside a game that has started. You can also use console commands to add new status bars after starting a game (instructions can be viewed when pressing ~).

Loading screen



Implemented a proper loading screen for new games. The purple cave from the AI Roguelite logo will be displayed first, followed by location or faction images if they are finished generating before the game finishes loading. It also includes information at the bottom about which generation is currently being awaited on.

Misc



  • Added proper markdown display for italics and bold in the bottom-right story view
  • Improved color contrast in new game UI
  • Added support for custom instructions when regenerating world background or player background
  • Changed default image gen back to Wombo since it's working again
  • Migrated to a different sound effects service, since the previous one was discontinued
  • Migrated Sapphire NSFW fallback to a slightly better model since the previous one was discontinued
  • Fixed new game autogenerate issue where language could sometimes be wrong if you had just switched languages

Default free image generation has an outage

The default free image generation option (Wombo) is currently experiencing an outage. The issue has been ongoing for about 36-48 hours. According to their Discord, the service is down for all users, even including regular Wombo users. There is no ETA on the fix, but the team has publicly announced that they are aware of the problem and working on a solution.

Meanwhile, to alleviate the issue, I pushed an all-new official free image generation option. This option is only available in the alpha and beta channels at the moment, but may be pushed to the regular channel soon. It is faster than Wombo but nowhere near as beautiful. Please feel free to give it a try if you want.

Plausibility Hotfixes

Reduced “Trivial” false positives



  • Tweaked plausibility prompt to reduce chance of wrongly picking Trivial plausibility
  • Tweaked game logic to make thresholds more strict (removed +2 physical plausibility,+2 likelihood of success as a valid threshold for Trivial actions, leaving us with just +3 physical plausibility, +1 likelihood of success)
  • Made all in-combat actions automatically classified as non-trivial and forcing a roll check (can be disabled in options)

Added triviality options


Added “force roll checks when in combat” and “force roll checks when missing required item” to Options. They default to true.

Moddable triviality condition


Added a moddable file under “misc” called “triviality-condition.txt”; explanation is in the README file.

Nerfed physical plausibility score effect


It now ranges from -15 to +9 rather than -15 to +15.

Misc



  • Fixed bug where when AI picked an ability during the plausibility check, it wouldn’t mention it in the game log view
  • Removed dropdown for trivial roll check options which is no longer used

Plausibility V2

Plausibility V2



Months ago I discovered a problem while playing my game. I would do most actions, especially during combat, with little to no thought. I would use “grow crops” to fight a bear knowing that the outcome was entirely dependent on my skill in crop-growing rather than how sensible the action actually was. I would throw a crumpled note at a zombie which had about the same chance of defeating it as using a literal flamethrower.

Thus I started to brainstorm a way to make the player’s decisions actually matter, and reward actions which are strategic, sensible, and effective according to the story context, while penalizing nonsensical actions.

Under this new system, the AI takes your proposed action into account based on the story context, and evaluates it based on a number of metrics:


  • Physical plausibility: Whether the action makes physical/logical sense.
  • Likelihood of success: How generally effective the action should be. For example, throwing a crumpled note at a zombie is physically trivial, but highly unlikely to do anything.
  • Relevance of item/ability to action (if using an item or ability): Penalizes or rewards you based on how effective the item or ability should be in context. For example, you may suffer a penalty if using “hack robot” on a non-robotic entity.
  • One AI-generated criterion: The AI model is given free reign to impart its flavor for this one. In one playthrough, I got a bonus for reviving a dog because "everyone wants Sparky to survive".

These ratings then become bonuses and penalties to your attribute/skill check roll.

A key change is that all actions are evaluated, not just open-ended, so you can no longer just spam some random item or ability at everything under the sun without penalty (unless I suppose it has an OP name).

If physical plausibility is rated at the maximum and likelihood of success is relatively high, the action is deemed Trivial and passes without a roll check… but beware – for an action being trivial doesn’t automatically succeed; rather, it’s passed to the story generator with no suggested outcome, so it’s up to the model as to what happens next!

Updated roll mechanics, expanded roll outcomes



You now use the same roll for the attribute and skill check, but it uses a 2d50 system to maintain a slight bias towards the middle. Additionally, ability/faction bonuses now modify the roll value just like the plausibility checks, as opposed to the convoluted logic it was using before.

Instead of 4 outcomes, there are now 7 outcomes ranging from Critical Success to Critical Failure. If using the “roll” cheat code to override roll checks, you can now specify a value between -3 and 3.

Model refresh/update



Updated all official cloud models to slightly better and more modern ones across all tiers; Free, Silver, and Sapphire. The difference is most noticeable in Sapphire story generation, in which characters feel a bit more alive than ever before.

Also tested all models extensively making sure they held at least some small tangible improvement over their previous versions, and tweaked certain prompts and event checks to make them as compatible as possible. Please feel free to report issues that feel like regressions, as it is often the case that an overall improvement doesn't imply improvement in everything.

Use ability/item without target



To prevent the oft-complained about case where you would eat your bedroll instead of sleeping in it, or hit yourself on the head with a book instead of reading it… You may now use an ability or item without specifying a target, by clicking the “no target” icon next to the player portrait.

Specify usage details for using ability/item and interacting with static object



To prevent the oft-complained about case where you would rub spaghetti over someone’s face instead of feeding it to them… You may now hold Shift when using an ability/item or interacting with a static object to specify the nature of your action. These custom player instructions are also folded into the Plausibility V2 mechanic for your roll check bonuses and penalties.

Status effects revision



Fixed a number of issues with status effects. They are now included in the prompts correctly. Character and static object status effects decay within 2 turns. Location status effects are persistent unless removed or overridden by event checks. Status effects can also influence the Plausibility V2 mechanic.

Misc



  • Tweaked a lot of event checks to slightly improve accuracy for most models across the board
  • Fixed issue where unchecking factions when starting a portal to another universe would still generate factions
  • Fixed player name not displaying in tooltip
  • Fixed exploration background having constant white circle if autogenerate was disabled
  • Added Sapphire image gen presets as part of the supported image gen modes for saving/loading as JSON
  • Changed default combat turn mode to regular story turn instead of summarize per encounter, due to coherence issues if attempting to immediately follow up with the enemy after combat.

Start game without quest, save/load image presets as JSON, etc.

Start game without quest



In the new game view, you now have the option of starting the game without having the quest tracked and without the initial quest plot hook. The two new options are non-quest story intro, and no intro at all. If selecting one of these options, you start with the quest untracked, and can track and start it at any future time (and, if you pre-generated the quest in the new game view, it will still be used).

Save/load image presets in JSON form



Due to popular request, in image gen options there are now export and import buttons for your image geneneration settings. These include the height, width, iterations etc for each entity type, as well as the negative prompt.

Configurable entity ordering



Right click to change the ordering of a Thing, NPC or Enemy in the exploration view. It has the biggest effect on NPCs (only if you have a lot of them) because the game currently limits the prompt to the first 5 in the location.

NovelAI v4 image gen



Added NovelAI v4 image gen support, and revised default values for prefix and negative prompt. The default prefix is "(no text, best quality, very aesthetic, absurdres). " (without quotes). The default negative prompt is "nsfw, blurry, lowres, error, film grain, scan artifacts, worst quality, bad quality, jpeg artifacts, very displeasing, chromatic aberration, multiple views, logo, too many watermarks, white blank page, blank page" (without quotes)

Misc



  • Added option to delete locations
  • Added separate sliders for crop/stretch depending on whether image is portrait, square or landscape
  • Added option to provide guiding instructions for starting ability
  • Fixed spawn NPC/enemy/thing cheat bug; the last turn should be included correctly now
  • Added option to specify task branch when using task adv cheat code
  • Added farm cheat code: farm 1 or farm 0 will enable or disable farming in the current location
  • Added a debug log warning when any AI Roguelite service had to use a fallback model due to an outage or the content being rejected by the preferred model. It is purely in the log and not in the UI.
  • Removed outdated and incorrect warning about player physical description’s lack of inclusion in the story in new game view
  • (Server side) fixed an issue with high-cost video generations
  • Fixed QTE not triggering enemy turn in combat
  • Fixed bug where if you deleted every single story turn and tried to do anything the game would throw an error
  • Added button to open Player.log in console


Lots of fixes

NPC description auto-update tweaks



  • Increased frequency of NPC description update or turn history summarization to help with coherence
  • Tweaked summarization prompts to prioritize important changes over trivial events
  • Tweaked prompts to differentiate between description vs history summary
  • Changed auto-update description to default to off (disable NPC description update is now checked by default), thus using history summary instead of description to reflect recent story events

Image gen override


Added a field for manually overriding the image gen prompt when editing an entity. It is used only for image generation and never used for text generation.

Better max tokens control in OpenAI/Oobabooga API



  • Added config files for per-generation-type param overrides. View the README file for more detailed instructions. This should allow for compatibility with reasoning style models.
  • The HTML-tagged "" and "" text which pervaded initial releases of these models is trending downward and moving towards putting think tokens in a separate field. If you still require the game to remove "think" tokens, please message the Steam forum or Discord with your request as well as which app you're using to generate text.

Support for Korean, Thai, and Hindi


Korean, Thai, and Hindi were the last languages that almost had full support except for the fonts. Added the fonts so now they’re actually supported. Note: There may be an issue when using the keyboard to type in Chinese, Japanese, or Korean when using Steam deck. If you have any experience with this (whether positive or negative) please report it in the Steam forum or Discord.

Better NPC spawn via cheat


Added some context for world background and previous turn for when using cheats such as spawning an NPC

Better Skills


In a bid to reduce the chance of weird skills being generated, new games now start with a default of 30 skills, with up to 3 skills you can pick to start with an initial bonus.

System Prompt tweaks



  • Migrated to using Gemini’s actual system prompt, which has a minor improvement in instruction-following over the fake system prompt (the latter was created before Gemini supported real system prompts).
  • Added a list of overly common AI words such as “Elara” and “Whispering” as banned words to default system prompts. The efficacy of this is not guaranteed and varies greatly based on the prompt and model. I don’t recommend going crazy with it unless you know for a fact it’s helping your use case. It’s expected to improve in the future as LLMs get smarter and cheaper.

New game announcement: Life of an NPC


For the past couple months, I have been working on a new AI colony sim game, called Life of an NPC. It will release soon on Steam.

Misc



  • Migrated some Sapphire prompts, including initial locations generation, to a better model with less chance of cliche words
  • Fixed adventure mode scaling logic killing followers too easily
  • Tweaked faction logic to cap out at a depth of 2 for some prompts, to prevent some random merchant (or whomever it may be) from spawning in a closet
  • Fixed bug where quick-time events used an older turn as context
  • Fixed bug where error messages often wouldn’t display correctly
  • Fixed error that would often happen during player death
  • Added world context for loot and foraged item generations
  • Tweaked system prompt to reduce chance of NPCs being silent (thanks to B00D0 and others who suggested it)
  • Fixed entity names such as “9mm pistol” being butchered by some ancient logic which was meant to accomodate older LLMs
  • Added prompt hint for animals to be generated in NPCs (e.g. if you’re in a barn)
  • Loosened silver and sapphire character limit for BACKGROUND_WO_NEWLINES
  • Fixed bug where NovelAI would fail for certain prompts
  • Fixed Kobold Horde not working, by capping max tokens to the common Kobold Horde limit of 1024
  • Tweaked blocking thing prompt to encourage it to be an inanimate entity
  • Fixed bug where sometimes story editor text would be stuck in cyan
  • Fixed bug where faction debuffs were incorrectly green
  • Fixed bug where player pronouns dropdown didn’t update when selecting a world preset
  • Fixed story preset dropdown overflow when text is too long
  • Fixed quest log UI not refreshing when starting new quest
  • Added a more informative error message in case OpenAI/Oobabooga API response wasn’t as expected
  • Added basic support for NovelAI v4 image gen. For best results you may need to modify the params in the config file.
  • Fixed error when starting game if changed location on first turn
  • Fixed bug with map not updating when generating sublocation

Video gen fixes, ability descriptions, sentiment overhaul, Tiktok TTS fix

Video gen fixes



  • Added button and UI to display information about the generated video
  • Added ability to regenerate a video
  • Improved reliability of high-cost video generation
  • Improved soundtrack and lyrics/voiceover logic
  • Improved audio balance via compression and making the narrator louder relative to the soundtrack

Ability descriptions



  • Ability descriptions are now being generated, and finally actually used in prompts to the AI.

Sentiment minor overhaul



  • Improved sentiment checks by expanding it to +15 and -15, as well as letting the AI choose the magnitude from 1, 2, or 3. This largely prevents your life-long friend suddenly turning on you just because you mildly annoyed them a few times.

Tiktok TTS



  • Both the preferred and fallback Tiktok TTS services had failed. After doing some research I was able to build my own workaround. The new system might still break periodically but should be significantly more stable. Please continue to report any breakages in either Steam or Discord so I can fix them ASAP.

Misc



  • Modified logic to display story text earlier while event checks are still loading
  • Fixed wrong language for death turn hints if interface language didn’t match game save language
  • Tweaked side quest event check to reduce false positives
  • Fixed bug in new game factions view where it would sometimes say TBD when it should’ve said unused, if toggle was unchecked.

AI-generated quest recap videos

Procedural AI-generated videos



When you complete an epic (5-task) quest, a video will start generating in the background. You’ll get a notification when it’s done generating, and it will be viewable in the quest log. Note: In order to be eligible for video generation, a quest must be an epic quest and have been started after receiving this update.

There are currently two types of videos: High-cost and low-cost. Sapphire users get 2 high-cost per day and unlimited low-cost thereafter; everyone else gets unlimited low-cost videos. These limitations will be relaxed in the future as the technology gets cheaper.

High-cost videos are actual AI-generated videos paired with an AI-generated soundtrack. Due to frequent hallucinations and extra limbs, they are currently an experimental feature.

Low-cost videos are a slideshow of images accompanied by a Tiktok TTS narrator and a pre-made Max Loh soundtrack. They have less of a wow factor but are more grounded in reality than high-cost videos.

Misc




  • Tweaked money change prompt to reduce false positives
  • Fixed issue where faction change event would be surfaced even if NPC or place was already of that faction
  • Added logic to make place initial generation respect a custom faction, should the player have edited it before venturing into that place for the first time
  • Fixed issue where you couldn’t select “misc” when editing an item’s category
  • Fixed copy button in story editor not working
  • Added option to name a new sublocation during sublocation discovery in creative mode
  • Fixed combat/ephemeral turns out of order after exiting combat
  • Fixed starting faction bug when making a new universe via portal
  • Added alternate parsing logic for small side quests for better compatibility with llama models
  • Fixed issue where hotkeys wouldn’t work after pressing enter in conversation input
  • Fixed adding a faction when there’s 0 factions
  • Fixed a few issues when opening map/journal too fast after loading a game
  • Fixed side quest delete button being obscured when opening the quest log for the first time

Factions

Factions



When starting a new game or a new universe, several factions will be generated. This is an optional feature that can be disabled by unchecking the checkbox. There are also 6 new faction-related Steam achievements.

Factions can be viewed in the journal view, on the 3rd tab. You can also use the hotkeys F for factions, J for quests, and L for story/log editor.

Locations and characters can be associated with factions. In rare cases, they can also change factions. New factions can also be formed during the story as part of an event check (up to a maximum of 10).

Faction reputation may be influenced by a faction member liking/disliking your actions, or after completing a quest. A positive faction standing grants construction and farming privileges for locations controlled by that faction, as well as providing a mood/hunger boost and reducing merchant restock time. As you gain reputation with a faction, you can also unlock up to 3 faction-related abilities.

New NPCs which spawn and belong to a faction that hates/admires you will have their initial sentiment set accordingly.

When talking to an enemy in a faction where you have high reputation, the game will use the prompt for NPC rather than enemy conversations (giving a bonus to the outcome).

Added faction-related cheat codes:

  • Add a new faction: facadd [faction name],
  • Set faction reputation: rep [0-indexed faction number] [reputation amount]

New Event Check: Money gained/lost



A new event check will trigger if you gained or paid money in the story, rated as one of 3 magnitudes (small, medium, or large). For game balance purposes, the game generally won’t follow any exact coin values mentioned in the story (e.g. “10 coins”).


Misc




  • Slightly increased free cloud character/token limit
  • Improved Sapphire image gen by increasing number of steps (server-side change, about a week ago)
  • Moved Sapphire initial region/location and faction generation to the smarter model. Telling it to avoid certain words like “whispering” actually sometimes works now.
  • Modified death event check to exclude sleeping
  • Added explanatory help text for factions, quests, story editor, attributes, abilities, and skills.
  • Fixed user experience when starting a new game by preventing the confirm button if required fields were missing
  • Added warning for invalid save entities if playing a newer save on an older build
  • Added “Import” button beside “Export” button for starting a new game
  • Improved native monitor resolution detection, and also added “RESOLUTION_OVERRIDE” to config.txt which will be used if set to something other than 0,0
  • For a1111 API, changed “sampler_index” to “sampler_name” and added it to moddable a1111-image-params.txt, to improve compatibility
  • Fixed bug where you could force recruit a corpse