Skip to content

Releases: neph1/LlamaTale

v0.28.0 Dungeons

23 Apr 16:06
a19be8b

Choose a tag to compare

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

21 Mar 20:31
f26f006

Choose a tag to compare

This update brings some love to Land of Anything stories.

  • They now extend JsonStory and 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

04 Mar 17:48
f26f006

Choose a tag to compare

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

28 Feb 20:05
d633129

Choose a tag to compare

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

26 Feb 17:11
5139b2e

Choose a tag to compare

What's Changed

  • Update v0.26.0 - Improve combat by @neph1 in #72

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

20 Feb 20:15
47bf548

Choose a tag to compare

What's Changed

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

04 Feb 20:29
372848f

Choose a tag to compare

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

31 Jan 17:38
a4ea2d0

Choose a tag to compare

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

29 Jan 19:18
6ca6330

Choose a tag to compare

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

26 Jan 17:57
9d73ede

Choose a tag to compare

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.

big_picture

Full Changelog: v0.22.0...v0.23.0