top | item 45922433

(no title)

walterfreedom | 3 months ago

If we are talking about the Quest Generation part (which is still pretty early nin development), it's not just calling pre-existing RimWorld map events (Like Raids, Animals join, Ambrosia Sprout etc).

Instead, I am trying to create a sort of lego-bricks kind of approach for the LLM. Basically, I provide it a list (sometimes, a decently huge list) of building blocks for categorized as "Action", "Condition", and "Reward" nodes, each interface also inheriting from the "Node" interface and LLM creates this nodes which are formatted and created at a factory class at runtime, leading to a Tree like approach that fires a quest, tracks it at runtime if possible and if not possible LLM will interpret if the quest is complete (sadly, I will have to add a "Scan if complete" button somewhere, to save on performance).

Of course this approach is prone to lots of refactoring and design changes, since I am learning by doing. Just yesterday, I was reading about level generation using LLMs (https://arxiv.org/abs/2407.09013) which goes into a more detailed discussion at chapter 5, especially at 5.2

LLM also will also have the context about your colony, your recent quests and recent events, map situation etc so it will certainly be more immersive than just randomizing the events. After all, even the default storytellers (even Randy) plays by some rules, and is not totally random.

I am also trying to keep the core architecture pretty abstract, so I and maybe other developers can just patch it and easily implement their own "Nodes" (maybe I should start calling them leafs...) and this sorta adds some development overhead too. If I can find some time, I will share some examples about the generated quests (both raw response from LLM and processed result) int the future.

discuss

order

lawlessone|3 months ago

I love the idea, one of the narrow areas where i wish the tech was being used more instead of less. but thinking about how if i ask LLMS to list 10 good cities to visit , i'll almost always get Paris , New York and Tokyo in the list.

So your item/trait generation may end up with some similar but non identical items/traits when presented with similar scenarios.

walterfreedom|3 months ago

That's definitely true. LLMs, Especially small ones tend to give not so random responses. This can be mitigated by context a little bit (fortunately, RimWorld already has some lore building built in) but still it will never be completely unique. Without trying I cant say much tbh, but its promising nevertheless.