elouann.dev
FR — version française

ProjectsWeb, games & communities

ObanaiBot

My first community project

Period
Jun 2022 – Feb 2023
Context
personal
Team
founder
  • JavaScript
  • Discord.js
  • Node.js
  • Web
  • Discord bot
  • Game

View source

My first real community project, started in high school: a Discord bot with a role-playing game set in the Demon Slayer universe. I was not at 42 yet, but this is where it all began.

/travelslash commandCommandManagerroutingRPG commandquests, forge…LanguageManagertextsgame dataJSONplayer savesSQLiteimagesCanvasmap: region / district / sector / biome
DiagramA player’s command goes through the bot: it is routed, then relies on the game data and on the player’s save.

The game

Players create their character, train, travel across a map split into regions, districts, sectors and biomes, follow quests, forge weapons and learn breathing styles. All through slash commands.

Under the hood

In JavaScript with Discord.js: a command manager, a language manager for texts, and classes for each game element (weapons, quests, characters, map). Static game data is in JSON, player saves in SQLite, and some images are generated with Canvas.

The project stopped to free up time during high school, but it taught me to structure a growing project, and made me want to keep going.

What I took away

  • Keeping game data separate from the code that uses it makes the project easier to grow.
  • A community playing what you built is the best motivation there is.