Interactive Discord RPG System
Button-only gameplay to boost server engagement — with automated PvP logging for long-term balancing insights.
Overview
An interactive text-based RPG built entirely around Discord buttons, designed to boost server engagement while automatically logging gameplay data for ongoing balancing insights.
Problem
Discord communities often struggle with sustained engagement when activity is limited to text chat. Meanwhile, balancing data for ships in Star Citizen required ongoing PvP testing — but there was no structured way to log battles or outcomes.
The goals were:
- Drive fun, ongoing interaction in Discord servers.
- Collect structured PvP battle data to inform ship balancing decisions.
- Give players missions, loot, and inventories to create friendly competition and reasons to return.
Solution
I built a text-based RPG system where all actions are handled via Discord buttons — minimal typing, maximum immersion.
Key features:
- Missions: Procedurally generated tasks with rewards and cooldowns.
- PvP Battles: Player-vs-player combat with full outcome logging.
- Ship Ownership: Players acquire and customise ships from in-game credits.
- Loot & Inventory: Items gained from missions and battle drops.
- Player Profiles: XP, wins/losses, trust score, and ranks stored in SQLite.
All actions trigger automated database logging to ensure consistency and capture long-term player behaviour data.
Tools Used
- Python (discord.py)
- SQLite (
soakhauler.db+soakevents.db) - Discord API (buttons, embeds, interactions)
- Custom player profile schema with XP, trust score, and inventory tables
Outcome
- Fully interactive gameplay loop contained entirely within Discord.
- Automated data capture of PvP battles → informs ongoing ship balancing decisions.
- Repeatable engagement loop → players return for missions, loot, and PvP.
- Expanding to include cargo runs, org-based play, and freemium structures for wider release.


Next Steps
- Polish existing features (missions, PvP, inventories).
- Expand cargo unload mechanics and org-level coordination.
- Finalise freemium vs. paid model for org deployments.
- Package as a portfolio-ready SaaS bot for wider release.