An open API service indexing awesome lists of open source software.

https://github.com/shijbey/dramatis

A simple agent-based social sim engine for Python
https://github.com/shijbey/dramatis

Last synced: 2 months ago
JSON representation

A simple agent-based social sim engine for Python

Awesome Lists containing this project

README

        

# Dramatis: A simple agent-based social sim engine for Python

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)

Dramatis is a simple social simulation framework for for simulationist story telling. It handles all the complexities of character AI and decision making, allowing the user to focus on creating character behaviors. Dramatis adapts much of it's design from previous simulationist storytelling tools such as [Versu](https://versu.com/), [Comme il Faut (CIF)](https://eis.ucsc.edu/papers/CognitionAndCreativity-JoshMcCoy-DAC09-Revised_0.pdf), [Kismet](https://github.com/adamsumm/Kismet), [Ensemble](https://github.com/ensemble-engine/ensemble), and [Neighborly](https://github.com/ShiJbey/neighborly). Dramatis is meant to be a simple sandbox that provides Python classes and functions to build micro-story-worlds where characters interact with each other, and navigate social relationships.

> [!Note]
> I created Dramatis as a last-minute dissertation project. It does not have the extensive tests that my other projects have. I do my best to document the code and provide enough examples to help you understand what is going on.

## 🔥 Installation

You can install Dramatis directly from GitHub.

```bash
pip install git+https://github.com/ShiJbey/dramatis.git
```

## 🚀 Getting Started

The best way to get started is by running the samples. Customizing your own simulation will involve many of the same steps.

## 🤝 License

This project is licensed under the [MIT License](./LICENSE).