top of page

Update #19 - April 25 - May 2, 2024

Discord Bot Beginnings...


Over the past week, we've been experimenting with building interactive experiences in Discord. Given the highly qualified user base and existing networks of players, Discord is a high-priority modality for us to bring our game to.


Our current hypothesis is that interacting with our game through Discord would be most fun if it allowed interactions with NPCs from our game in the servers in solo (DM) and group (Text Channel) contexts via well-defined interaction modes. As is true for any interactive window we open into our game, player interactions in Discord should be authentic, leading to progress and state changes for the player and the game world.


While we work on the exact game interaction design, we wanted to start getting familiar with building for Discord. To this end, we built a simplified Mafia game that a group of users in a Discord server can play together in any of their group text channels. Prototyping a game of Mafia allowed us to express several building blocks that will be core to implementing a Discord mode for our game. These building blocks included:


  1. An NPC implementation as a Discord bot capable of taking the automated actions critical for facilitating gameplay in a server

  • Figuring out how to do everything needed to facilitate interactions with the game while requiring the minimum possible permissions for the NPC bot from the server administrator

  1. Building a framework where the entire game is server-driven, and the NPC (Discord bot) facilitating the game is simply an intermediary

  2. Building a framework for users to interact with the game and make decisions about actions they want to take

  3. Making all user decisions and actions update the player and world states, for which the game server holds the source of truth

  4. Creating interactive gameplay cycles where players have asymmetric information:

  • Players take some actions privately in a DM with the NPC

  • Players receive some information directly from an NPC in their DM

  • All players receive game-wide updates in a group chat

  • All players take some actions that are publicly visible in a group chat

  • All players are incentivized to have conversations amongst themselves in a group channel to piece together information each player holds to achieve game objectives


We built this in Python to prototype quickly. With this proof of concept in place and increased familiarity building for Discord, we'll now implement a proper demo game directly hooked up to StoryEngine, with an AI-powered NPC and gameplay mechanics representing our multimodal RPG, using Go as the programming language.












3 views0 comments

Comments


bottom of page