Part 1: Design Choices and Reacts
Welcome to the first in our Devblog series about the making of our first Discord RPG: Torn Tales. (Check it out for yourself here: https://discord.gg/JVKjCuZ)
Over this series of articles, we’re going to cover a broad range of areas: the game design of our game, some technical detail about how we implemented our bots and backend, and also promoting/marketing the server (oh yes, there will be stats!). Hopefully this will be useful to those of you who are looking to make or improve your own Discord bots.
First a bit of background: the original Torn Tales was released as a Steam game in January 2017, developed by us (Twistplay). The game has a fairy tale/fantasy/classic literary theme, with hack ‘n slash RPG mechanics. It uses a squad control system, allowing you to switch between 3 famous characters – Snow White, Robin Hood and Jekyll+Hyde (OK, maybe that’s 4, sort of).
Since then we’ve been working on a large, new version of the game (Torn Tales: Rebound Edition), with loads of extra content, multiplayer and controller features, based around the same narrative – a sort of director’s cut plus plus.
Given the rapidly growing popularity of Discord since that time, and based on our very positive experience of working with a Discord community on another project, we thought it a fantastic idea to setup a Discord server alongside the new game and connect with our own community. But we wanted to go further – do something that had proper game mechanics and also had links with the Steam game (we’ll cover more on the link mechanics in a later article…). So out of this was born the idea of our Discord RPG – turning Torn Tales into a fully playable roleplaying game right inside Discord.
There are other RPGs in the Discordsphere, all with a different take. We’ve seen dice rolling bots, choose-your-own-adventure narrative style bots, and bots with popular well understood adventure mechanics, HP and XP and so on, like Discord Dungeons.
One thing we noticed is the prevalence of text based command like !dothis !dothat !help !info.
Whilst this comes naturally to people who use Discord bots, and also fits well with classic text based adventures, we also felt it was a bit clunky and didn’t look great on screen with multiplayer combat. So instead we went down the road of using reacts extensively.
Discord reacts allow users to add emojis and many other symbols to the end of messages: including other people’s messages. Server admins can add their own custom react images too, themed to their Discord server. Each react shows a count of the number of people that used that same react for that message. They are great (and quick) way for users to engage with people’s content, and can often be used for humour or to express an opinion. They are also great for things like surveys/votes – e.g. thumbs up/thumbs down emojis that show a count.
As an example, we have an Inn where a player can use reacts to ask the innkeeper for a story (which takes multiple players to use the book react to see the whole story), heal with a hearty meal, or just warm themselves by the fire!
We use reacts extensively for our combat and exploration systems, which we will talk about in more detail in our next article…
We do use the classic ! style commands too; players can direct message some of our bots, for example to access inventory and stats; it didn’t really make sense to use a react for something that didn’t have rounds. One of the limitations of reacts is you can only use the same react once for a given message; you can remove it (which takes 1 off the count) and put it back again, but that’s not great.
One interesting design niggle is that players need to know what moves are available to them, it would not be good design to expect them to click the add react button themselves, and go searching for the correct move (and probably get it wrong). So we pre-populate the reacts by the bot reacting to its own message: the player just has to click once to attack. It’s maybe a little weird that all the moves have a 1 against them already, so hint hint Discord devs if you can let us pre-populate reacts with a count of 0 that would be great!
Thank you for reading – next time we’re going to delve into more uses of reacts, our server structure and onboarding new players.
And if you fancy playing for yourself, here’s our invite link: https://discord.gg/JVKjCuZ
Thanks! The Twistplay dev team.
Check our Part 2 for more about reacts, and details of the channel structure and onboarding of new players