Releases: neph1/LlamaTale
The MUD giveth, and the MUD.. well, drops stuff.
This release was supposed to be all about the LLM deciding when to give, take, drop or stove away items during dialogues. It has proven quite difficult to get it to reliably generate JSON, though. What works well during testing 10/10 times, fails in a live environment, especially is the NPC was actually supposed to give something. So, it works sometimes. I've tried to catch any exceptions so that the game at least doesn't crash when there's malformed JSON trying to be parsed. You can talk to the old man at the bar, he may have something he's willing to give you..
But wait, there's more!
If you're tired of the character generation script (I am), you can now load any(?) Silly Tavern v2 character card as your own character. Add:
--character path_to_your_character
to the launch command. It works with both .json and images.
And if you want to bring your favorite character with you on your adventure, you can type while in game:
load_character path_to_your_character_relative_to_the_story_folder
They will appear next to you and follow you around.
I decided to bring Gandalf with me:
You say: gandalf, the white wizard: a drink?
Gandalf, The White Wizard says: “Gandalf, The White Wizard: “Ah, a thirsty traveler! reaches into pouch and pulls out a small flask filled with shimmering liquid Here, take a sip of this elvish brew, my young friend. It should quench your parched throat and perhaps inspire you for the journey ahead. hands the flask to Riley As for joining us, I must say…I sense great potential within you. The darkness indeed creeps closer, but there are those who would stand against it, and we need all the allies we can find. What do you say? Shall we venture deeper into Lothlorien’s mystic depths together?””
Lastly, I managed to get streaming of tokens going, but it wasn't pretty.. You can enable it by setting STREAM: True in llm_config.yaml, but it's really only if you're desperate not to wait for it to finish.
I expect to refine all these features, and combat in the subsequent releases, rather than adding new features.
I hope you will enjoy them for now!
I smell a (giant) rat
Added a basic combat system + LLM generated description. (There was no combat in the original Tale! :-O )
You'll find something to fight in the cellar of The Prancing Llama.
Here's an example:
You attack giant rat.
Original:[ You attack giant rat! After a fierce battle, giant rat dies. ] Generated: As you step further into Cellar #23, the air grows thick with the scent of decay and rot. Flickering lantern light casts eerie shadows on the walls, highlighting the dank, moldy corners where spiders spin their webs. Suddenly, a massive shape emerges from the darkness—a towering monstrosity that could only be a giant rat. The beast’s razor-sharp fangs gnash menacingly as it lunges at you, its luminous red eyes aglow with hunger for bloodshed. Your sword flashes in the dimness, parrying the first bite but not quite fast enough. A glancing blow sends sparks flying; you dance backward, avoiding another chomping attempt while readying your next strike. In the swirling gloom, the combat rages on like an inferno born of nightmares. With each successive clash, the creature growls and snaps, its body coated in sweat and foamy froth, until finally… 💥 IT FALLS TO THE GROUND, DEAD! Victory is yours, but the cellar still looms full of horrors unvanquished.
The Prancing Llama
This release contains some further changes to the framework in addition to the initial llm-generating support.
- Added appearance and personality as well as some other basic data to be able to create 'character cards' similar to when chatting with bots.
- Added a special prompt (and associated plumbing) for generating dialogue from NPC's.
- Some prompt 'engineering' to create better descriptions.
- A demo story, The Prancing Llama. Start it by typing:
python -m stories.prancingllama.story - The story is mostly a better demo of the llm capabilities, than a full game. Walk around and interact with the characters at this remove tavern.
Full Changelog: https://github.com/neph1/LlamaTale/commits/v0.51