AI Game: Standing and Sitting
Published: 2024-05-22T23:48:58+02:00
Work on the AI game is once again progressing, albeit slowly. I have been working on adding basic interactive commands, focusing on the abiity for the character to stand, sit, crouch, etc first.
Physical Movement
These commands will become useful later when I add more complex interactions with the environment. Right now, only the event handlers are implemented. This means that when the LLM 'decides' that a target needs to stand, sit, kneel, etc, that character (including the player) will do so! For the player, this will be the result of entering a command, or later, possibly the result of another character causing it.
As part of this work, I aim to revamp the event generation system somewhat, moving towards the 'one-of' idea, where the LLM can produce specific output for each event type. This will allow for more flexibility in the future.
Vector Database?
As the point of the Ai game is to enable experimentation, I am considering integrating a vector database into the project.
The primary candidate is Marqo.ai because of its document-in-document-out nature.
This makes it easy to use, and the game works with a document model anyway (all entities are serializable to JSON). Use of a vector database would completely replace the ArangoDB database and its graph edges. That means relations between the entities will be fuzzy rather than absolutely defined, which may not actually be a good thing!
- Pro: allows for organic creation of relationships between entities and scenes.
- Con: relations may not make sense in some cases, or be missing when they should be present.
Swapping to a vector database may require keeping certain relationships in a “proper” database, in order to make sure that the connections between them are maintained. For example, we don't want to have the player's items mysteriously disappear and reappear based on the feelings of the vector database's clustering algorithm.
License: CC-BY-SA-4.0.
Written by: @[email protected]