Interactive Discord RPG System
Button-only gameplay to boost server engagement — with automated PvP logging for long-term balancing insights.
Overview
description: An interactive text-based RPG built entirely around Discord buttons, designed to boost server engagement while automatically logging gameplay data for balancing insights.
Problem
Discord communities often struggle with engagement, especially when activity is limited to text chat. Meanwhile, balancing data for ships in Star Citizen required ongoing PvP testing — but no structured way to log battles or outcomes.
I needed a way to:
- Drive fun, ongoing interaction in Discord servers.
- Collect structured PvP battle data to build my expertise in data systems.
- Provide players with missions, loot, and inventories to create interaction between server members by friendly competition .
Solution
I built a text-based RPG system where all actions are handled via Discord buttons, with the aim for minimal typing commands.
Key features:
- Missions: Procedurally generated tasks with rewards.
- PvP Battles: Player-vs-player combat with outcome logging.
- Ship Ownership: Players can acquire and customise ships.
- Loot & Inventory: Items gained from missions and battles.
- Player Profiles: XP, wins/losses, trust score, and ranks stored in database.
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)
- Custom player profile schema
Outcome
- Fully interactive gameplay loop within Discord.
- Automated data capture of PvP battles → informs ongoing ship balancing.
- Repeatable engagement system → players keep returning for missions and loot.
- Expanding to include cargo, org-based play, and freemium structures.


Next Steps
- Polish existing features (missions, PvP, inventories).
- Expand cargo/unload mechanics.
- Clarify freemium vs paid model for orgs.
- Package as a portfolio-ready SaaS bot for wider release.