https://github.com/codeacula/olympus
Olympus - The AI-powered Tabletop Game Platform
https://github.com/codeacula/olympus
Last synced: 5 months ago
JSON representation
Olympus - The AI-powered Tabletop Game Platform
- Host: GitHub
- URL: https://github.com/codeacula/olympus
- Owner: codeacula
- License: mit
- Created: 2025-05-11T13:31:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-19T18:07:08.000Z (11 months ago)
- Last Synced: 2025-07-19T21:42:08.838Z (11 months ago)
- Language: C#
- Homepage:
- Size: 27.4 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
README
# Olympus
**Olympus** is a next-generation AI-powered tabletop platform that simulates immersive narrative campaigns through a modular, event-sourced architecture. Players interact via Discord while AI Game Masters generate responsive narratives, powered by Semantic Kernel, Redis state management, and a layered C# application.
---
## 🔧 Architecture
Olympus is built using:
- **CQRS + Event Sourcing** (via Marten/PostgreSQL) for domain modeling
- **Entity Component System (ECS)** using Redis for real-time world state
- **AI Integration** using Semantic Kernel plugins and prompt orchestration
- **Discord Bot** for player interaction
- **Vue.js Portal** (`src/Olympus.UI`) for campaign and world admin
> See [`docs/architecture.md`](docs/architecture.md) and [`docs/ai.md`](docs/ai.md)
---
## 🛠️ Development
- C#/.NET 9
- Redis
- PostgreSQL (via Marten)
- Semantic Kernel
- Discord.Net
- Vite + Vue 3 (for Olympus.UI)
- Pinia for user and auth state management
- OAuth login via Discord, Twitch, and Google
- Unit tests via Jest for the Vue frontend
> Setup instructions, dev guide, and contribution flow: [`CONTRIBUTING.md`](CONTRIBUTING.md)
- To run the frontend locally:
```bash
cd src/Olympus.UI
npm install
npm run dev
```
---
## 🤝 Community
- Issues and feature requests welcome!
- Be kind, inclusive, and constructive.
- Join the conversation on **Discord**: [invite link here]