smallville  by nmatter1

Generative agents for video games

Created 2 years ago
701 stars

Top 48.7% on SourcePulse

GitHubView on GitHub
Project Summary

Smallville provides a framework for creating dynamic, memory-enabled non-player characters (NPCs) in video games, powered by Large Language Models (LLMs). It aims to reduce manual programming of NPC interactions by enabling agents to observe their environment, store memories, and react to state changes, leading to more realistic and engaging virtual characters. The project is suitable for game developers and researchers interested in AI-driven character behavior.

How It Works

Smallville leverages LLMs to simulate agent behavior, allowing them to perceive their surroundings, recall past experiences, and make decisions. The core approach involves an event-driven simulation loop where agents' states and memories are updated based on environmental changes. This contrasts with traditional scripted NPC behaviors by offering emergent, dynamic interactions driven by the LLM's understanding of context and memory.

Quick Start & Requirements

  • Server: Java 17 runtime required. Run java -jar smallville-server.jar --api-key <OPEN_AI_KEY> --port 8080.
  • Client Libraries: Java (via Jitpack) and JavaScript (via npm).
  • Dependencies: OpenAI API key is mandatory for LLM interaction.
  • Resources: A running server instance is needed. The dashboard is available at http://localhost:8080/dashboard.
  • Docs: Example Project

Highlighted Details

  • Based on the "Generative Agents: Interactive Simulacra of Human Behavior" research paper.
  • Provides a dashboard for monitoring agent memory streams, activities, and locations.
  • Supports client interaction via HTTP endpoints, Java, and JavaScript.
  • Allows direct manipulation of object states and agent interviews through the dashboard.

Maintenance & Community

Licensing & Compatibility

  • The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is undetermined.

Limitations & Caveats

The project is described as having an "example project" that is "not finished yet." The specific LLM models supported beyond OpenAI are not detailed, and configuration options for local LLM providers like LocalAI are mentioned but not fully elaborated.

Health Check
Last Commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Starred by Justin Spahr-Summers Justin Spahr-Summers(Cocreator of Model Context Protocol; MTS at Anthropic), Jason Knight Jason Knight(Director AI Compilers at NVIDIA; Cofounder of OctoML), and
5 more.

mindcraft by mindcraft-bots

0.7%
4k
LLM agent for Minecraft
Created 2 years ago
Updated 1 day ago
Feedback? Help us improve.