What is NobodyWho
NobodyWho is a plugin designed for the Godot game engine that enables interactive fiction creation through locally running large language models (LLMs). It supports Windows, Linux, and macOS platforms, allowing users to use high-performance LLM features such as dialogue interaction and text generation without an internet connection. The plugin achieves seamless integration with models through a simple node system (such as NobodyWhoModel and NobodyWhoChat), enabling creators to quickly build dynamic narrative content.
Main Features of NobodyWho
- Local Running: Supports running LLM locally without an internet connection, avoiding privacy issues.
- High-Performance Inference: Ensures fast inference performance through GPU acceleration (Vulkan on Linux/Windows, Metal on MacOS).
- Multi-Context Support: Can maintain multiple independent "conversations" or narrative threads simultaneously, suitable for different characters or game states.
- Streaming Output: Outputs text character by character during generation, making game dialogue more dynamic and real-time.
- Sampler Function: Dynamically adjusts generation parameters (such as temperature, seed, etc.) based on context to control dialogue style.
- Embedding Function: Compares the semantic content of natural text through LLM, not just keywords or literal content.
- Tool Calling: Supports LLM interaction with in-game functions or systems, such as accessing inventory, triggering events, etc.
- Memory Function: Provides LLM with long-term memory to reference past events in the narrative, ensuring story coherence.
Technical Principles of NobodyWho
- Local Running and GPU Acceleration: NobodyWho supports users in running LLM locally, enabling fast inference without an internet connection. GPU acceleration is achieved through Vulkan (Linux/Windows) or Metal (macOS) technology, ensuring high performance.
- Node System Integration: The plugin integrates functionality through Godot's node system. Users need to add a
NobodyWhoModelnode in the scene to load LLM model files (such as GGUF format), and interact with the model through theNobodyWhoChatnode.
NobodyWho Project Address
- Github Repository:https://github.com/nobodywho-ooo/nobodywho
Application Scenarios of NobodyWho
- Interactive Story Creation: NobodyWho allows players to have real-time conversations with in-game characters, driving the story forward. For example, in a sci-fi game, players can uncover the truth of an accident by conversing with space station crew members.
- Dynamic Dialogue System: Through locally running LLM, developers can create natural, dynamic dialogue systems for non-player characters (NPCs) in games. NPCs can generate real-time responses based on player input, making game dialogue more fluid and realistic.
- Multi-Character and Multi-Threaded Narrative: NobodyWho supports multi-context functionality, allowing developers to maintain multiple independent conversation or narrative threads in the same game.