Releases: neph1/LlamaTale
v0.28.0 Dungeons
Long overdue, here's "The Dungeon Update"
A dungeon is a more constrained version of Land of Anything. It's prompted in the same way, but it's generated with a procedural algorithm that limits its size and decides the layout.. It has 5 levels, each generated as you step into it.
Each level (or Zone) has mob spawners and item spawners.
There are doors and they may be locked. The door to the next level is always locked. So there are also keys somewhere.
To start a new dungeon: python -m stories.dungeon.story
I put this as a 'pre release', because it's not fully tested. Any testing and reporting of issues is appreciated.
What's Changed
Full Changelog: v0.27.0...v0.28.0
v0.27.0 Anything QoL, Item spawners
This update brings some love to Land of Anything stories.
- They now extend
JsonStoryand can be saved and loaded properly - Npcs weren't added when saving stories
- Start location saved properly
You will still start over when loading though, unless manually altering the config
Item spawners
Similar to mob spawners, but for items, and also cover a whole zone (and all locations in it), rather than a location
Items are expected to be in the world 'catalogue'
I've fixed a couple of issues that might hinder generation of anything stories.
- A json trimming bug that caused 'extra info' exceptions.
- I found that some models didn't like the end sequence '\n\n\n\n' I had added to stop models from generating only linebreaks and would immediately end their output.
Full Changelog: v0.26.3...v0.27.0
v0.26.3 Item drops
Mobs can now have random drops. This is implemented for mob spawners.
The format looks like this:
"drop_items": [
"money",
"leather_cap"
],
"drop_item_probabilities": [
0.5,
0.5
]
}
Items must exist in the world 'catalogue' (for now. May allow unique drops later)
To find the item, you must loot remains of whatever creature dropped them. This involves a bit of typing. You can also examine remains first to see what it contains. You can also take remains, but I haven't figured out how to extract the item from them, yet.
I noticed a couple of files I had missed to commit. This might include a compile error that has existed since v0.26.1
v0.26.1 Improvements to improved combat
What's Changed
This fixes a number of smaller issues and leftovers from v0.26.0:
- Rats now have body parts (all quadrupeds and humanoids do)
- Death of spawned creatures wasn't handled properly
- You can now target specific body parts. There's a higher chance of hitting them, at a 20% accuracy penalty. Format :
attack giant rat head
Fixing the issues led to a bunch of refactoring as well.
The sun beats down on the arena, casting long shadows across the sandy floor as the players gather at its edge. The air hangs heavy with anticipation, each one eagerly awaiting their turn to prove themselves in this brutal test of strength and skill. Suddenly, a rustling sound emanates from the opposite end of the pit, where a massive form emerges from the darkness. A giant rat, easily three times the size of any normal rat, stands tall and proud, its razor-sharp teeth glinting malevolently in the light. Its eyes gleam with an unnerving intelligence, seeming to bore into the souls of those around it. As it approaches, the ground beneath the players begins to shift and tremble, threatening to swallow them whole. It is clear that this creature will stop at nothing to claim victory in this combat arena.
Full Changelog: v0.26.0...v0.26.1
v0.26.0 Combat improvements
What's Changed
This release brings updated combat mechanics.
- Support for body parts, and body specific armor. Atm a body part is selected randomly, but it's prepared to handle "aimed" attacks. Just need to figure out the mechanics.
- Mob spawners. These will churn out mobs in the location they're in, at some intervals, and with a ceiling of how many can exist simultaneously. They are customizable in the world.json files and support spawning one of the creatures from a world's catalogue.
- A new "combat sandbox" story, for those who wish to try out combat first and foremost. It features an endless supply of giant rats. Run it with
python -m stories.combat_sandbox.story --web - Some minor fixes and improvements surrounding combat.
Full Changelog: v0.25.0...v0.26.0
v0.25.0 - ComfyUI support
What's Changed
- Update v0.24.2 by @neph1 in #68
- Update v0.24.3 by @neph1 in #69
- fix issue witha saved unarmed weapon not being loaded properly by @neph1 in #70
- Update v0.25.0 by @neph1 in #71
Leveraging another project I'm working on, image generation now supports ComfyUI backends as well. Should make it more feasible to run both LLM and SD at the same time, and it's also faster.
I've also snuck in the option to render on a background thread, which should make the experience a bit smoother. To enable (or disable in case it leads to problems), toggle:
GENERATE_IN_BACKGROUND: True
in your image gen config .yaml
There have also been a couple of patch releases with bug fixes since the last release.
Full Changelog: v0.24.1...v0.25.0
v0.24.1 Wear fixes
Fixes a couple of issues with wearables.
Adds 'remove' command, for removing worn items. Works with either remove item, or remove location. Ie, remove hat or remove head (sounds macabre now that I think about it)
Adds a key called JSON_GRAMMAR_KEY to backend configs. This is mostly to distinguish openai backends that like grammar from those that don't. Leave empty for those that don't (openai actual. It will add 'response_format' automatically)
v0.24.0 Generic items list and fixes
What's Changed
-
Based on the discussions here, I broke out the list of "generic" items that are available to all stories from a python file, to json. I also added a couple of more to show some of the possibilities. This makes it easier to adapt them to your own experience. "Themes" are hard-coded for now. Let me know if more should be added. The file is 'generic_items.json
-
Fixed deaths and remains not being handled properly.
-
A couple of fixes related to openai-like api's, and oobaboogas text-generation-ui in particular. The grammar wasn't passed properly. Now it should be.
-
Another is a bug that has not yet been solved; the location description that is passed to the "cache" is a bool (sometimes? ooba?), which caused an error. For now I've allowed it and convert it to a string. Thanks to 'Light' in discord for reporting them.
-
I had missed that locations actually support image generation as well. More relevant now that images are bigger. Should move these to make them outside of the main thread. For now, it's longer generation times.
Full Changelog: v0.23.2...v0.24.0
v0.23.2 Autonomous npc QoL
What's Changed
This is mostly a bunch of fixes for autonomous npcs. I noticed that they didn't follow the prompt very well, and have attache the event history to the end to give them something to 'attach' to.
There are also a bunch of other smaller changes. I got rid of the 'tell' cache, replacing it with the existing 'event' cache, since I only wanted one 'history' in the context.
- Autonomous agents follow a very simple 'chain of thought' logic, where they state a goal, express their thoughts about it, and then generate the action. The 'thoughts' are sometimes more interesting than what they say (and indeed sometimes they don't say anything), so I added a bool (only applies to those with 'autonomous' true) that will tell their thoughts as well. This is 'output_thoughts' in the character json.
They still require work, but have become better.
-
Fixed prompt context when an npc 'arrives' after being loaded.
-
Turn-based (
server_tick_method = TickMethod.COMMAND) stories now work better. Previously npc actions were delayed until the next prompt until they became visible. -
One small new feature is a wizard command:
create_item. This will, non-surprisingly, add an item to the current location. It will first search among 'catalogue' items for the story to see if it can instantiate an existing type. Failing that, it will try to parse the type among existing item classes (Food, Health, Wearable, Weapon, etc), or just create a generic Item, if it fails that.
!create_item type name description
"What happened to v0.23.1?" the observant might ask. It was just a hotfix for the save story dialogue not being clickable. No release made.
Full Changelog: v0.23.0...v0.23.2
v0.23.0 Bigger picture
What's Changed
- ChatGPT and I have improved the UI a bit more. Allows a bigger location image (512x320)
- Lists visible characters, items and exits.
- Player deaths and story failures now handled.
- Some other refactoring with prompts.
Full Changelog: v0.22.0...v0.23.0
