PlanetSwitch Planet3DS PlanetVita PlanetiPhone Classics Forum

PGN-ID:[?] (Nicht eingeloggt)
PlanetDS PlanetGameboy


Sonstiges: Developer Diary - The Creation of a Switch Game

Michael Grönert, am 26.12.2016, Seite 20 von 25

Artikel mögen: Weitersagen:

BadToxic Discord Server | GameMaster Discord Server | BadToxic on Twitter
BadToxic on Instagram | BadToxic's Dev Instagram | BadToxic on YouTube

2016- Part 1: Welcome to the world of video game development!
2017- Part 2: It all begins with a first idea
- Part 3: The requirements
- Part 4: Final preparations
- Part 5: Ready to go
- Part 6: GONG! The first mini game
- Part 7: The Inventory
- Part 8: Saving & Loading
- Part 9: Skill tree & Menus
- Part 10: Achievements & Notifications
2018- Part 11: Day and weather change
- Part 12: Network Gaming
- Part 13: Companion Pet
- Part 14: Support for Android and iOS
- Part 15: Pairs - Find matching cards
- Part 16: Integrating Pairs into GameMaster
2019- Part 17: Statistics
- Part 18: Fizhy
- Part 19: Porting Fizhy over to GameMaster & AI
- Part 20: Creating a Community
- Part 21: Shaders and Particles
2020- Part 22: Overworld Landscaping
- Part 23: 3D manga-style characters
- Part 24: "Cooking" hamburgers together
- Part 25: Character Individualization

Part 20: Creating a Community
Now that we are done with Fizhy for the time being we will switch to a very different topic. Behind every known game stands a community. Be it on Facebook, Reddit, fan wikis or other social platforms. As soon as a game makes a name for itself, a community forms pretty much on its own. Sometimes there are also communities within the games themselves or on special websites provided by the developers. If you read about the process of game development, you often find building a community right at the beginning. It is said that one can never begin soon enough. Today we want to take a look at what such a community is good for and how to get started creating one.

Purpose of a community
There can be many reasons for the founding of a community. At the base level it serves as a society of like-minded people who are interested in the same thing and want to talk about it. Perhaps the most common reasons for joining a game community are questions you'll want to find an answer to - "How do I beat that level?" Often, whole fan wikis (encyclopaedias) are formed which are specialized to answer questions that have not even been asked. Another reason can be bragging or looking for criticism and opinions of others - "What do you think of my new equipment and stats?" You may be looking for recognition and want to show what you have achieved. Or you want to improve, compare and learn from others. Essentially, you can list all the reasons for any kind of interpersonal conversation here. Of course, there can also be practical benefits which result specifically from features of the game. For example, you can arrange a guild raid or find someone to trade or exchange items with.

From the viewpoint of a publisher or developer, a community offers advantages, too. Often this provides a simpler way of being able to provide cost-effective and efficient support. Instead of having to reply to emails and calls, they can do so in a place where they can already refer to and fall back on a collective knowledge base. Frequently, help requests can already be answered by other users without having the team to intervene. Furthermore, a community provides extensive feedback. That way, the developers can react early and change something or find out what is good and in which direction they should continue. The possibly most important aspect, however, is the free advertising effect. To spread knowledge about and impressions of the game without high costs.

Spoilt for choice
But where to start? Which social platforms are good, what are the pros and cons? Should one be represented everywhere as possible or rather focus on one network? These questions are not easy to answer. On the one hand they depend on the game to be represented, and on the other hand on whether you can muster the energy to moderate all of them. You can focus on the above advantages first in order to make better decisions. To start, I want to create a one-stop-shop where people can contact me and get involved in the development process if they want. Facebook, Twitter et al. are better for spreading news and providing steady feedback in development. Above all, such platforms live from regularity and users jump off quickly if they do not get enough material. Instead I prefer a place where I can store all information persistently and in an easy-to-find manner. After a lot of research and experimentation, I decided to focus on Discord. “Discord is a proprietary freeware VoIP application and digital distribution platform designed for video gaming communities, that specializes in text, image, video and audio communication between users in a chat channel. Discord runs on Windows, macOS, Android, iOS, Linux, and in web browsers. As of 14 March 2019, there are over 250 million unique users of the software.” [Wikipedia]

One should differentiate whether the web presence presents the game, the company or the developer himself. So I have created a Discord server for my game GameMaster and another one for myself and my company. Nevertheless, I am represented as a person, developer or one-person business on a number of other platforms. I am currently putting a lot of work into my Instagram account where I mainly post news about my development with some occasional bits from my private life. On Twitter, on the other hand, I focus more on the development side, albeit in a more reserved manner. As a pure developer, I am also represented on Facebook. This covers a few of the largest social networks and prioritizes the content differently, just as I see fit for typical audiences on the respective platforms. I am also on many more platforms that I will not list. Most of them are primarily for discoverability and then refer back to others, such as Discord. Of course, I would be very happy if a reader finds their way into my communities and supports me.

Setting up Discord
Of course we need an account first which we can create on if not done already. As the Wikipedia description has already covered, we can do this directly in the browser but also in apps for different platforms. As soon as you are logged in, you can certainly create your own server by clicking on the plus in the server list on the left.

The button to add a new server directly below the GameMaster and BadToxic servers

Then you can create your own text and voice channels and invite the first users. But I would hardly write in the style of a manual if everything would be as trivial as these first steps. ;) I'd better start with a critical topic right now - spam and protection against it. When you make a server publicly available, you are always in danger of people coming in with bad intentions and doing mischief. This can be expressed in various forms. Users can spread spam, advertisements or indecent comments in all channels. They can post links to harmful things or phishing attempts. They can also see all other users who are on the server in order to write (and annoy) them privately. One can also use bots to automate these attacks. This can lead to entire user groups going from server to server in order to spam them with countless messages for the fun of it, making the servers unbearable in the process. Of course, as an admin, you can block and kick those users, but that does not prevent those attackers from creating new accounts and starting from scratch or others coming and doing the same. It is difficult to do something against such things without heavily restricting the good users. But there are resources and I will explain them briefly.

Discord gatekeepers and roles
I've used various bots and roles to create a kind of "gatekeeper" who should only let well-meaning people onto the server. This works as follows: there is a channel called "Welcome," which is the only one visible to anyone initially. There you have to perform a specific action before you get access to the other channels. In my case you have to "react" to a text with a certain emoji. These so-called "reactions" are a Discord function that allows you to place symbols directly underneath a post. You may already know this from Facebook if you are new to Discord. So I wrote down a small list of rules which you have to agree to with a check icon before the rest of the server is unlocked.

The welcome channel on the BadToxic server acts as a "bouncer" (Gatekeeper)

The advantage of using this symbol is that you can completely disable writing in this welcome channel, meaning nobody can spam here either. Alternatively, you could set up the server in such a way that the user would have to write a certain text, e.g. "agree". Then you could immediately have all messages there automatically deleted to avoid spam. But I chose the first option because I think it is cleaner and easier.

In order to implement this we need roles first. Each user can have different roles and for each channel you can set specific rules for each role. We forbid writing messages by everyone (“@everyone”) in the welcome channel, but create another “@Member” role that should be able to write in all designated channels.

The welcome channel only allows newcomers to read and "react" via emojis

In order for a role to be automatically assigned if you, for example, agree to the server’s guidelines as described above, we need a bot. I use Zira for this purpose. If you've done all that, you're almost save from automated attacks - so far I have not seen a bot trying out all the reactions to get any roles. Of course, people can still read the text, agree and spam, or even teach a bot to do just that. But the hurdle and needed effort is already much higher and makes this much less likely to happen. Still, you should not leave it at that and make further security arrangements. Discord offers some by default under the server setting "moderation". Here you can set a verification level - how long a user must already be on a server before he is allowed to write. There is also a message filter which should find inappropriate content. And finally, 2-factor authentication so you are only able to log in with a code that you get on your phone.

Moderation help by Discord

Content Creation
Now we get to the contents of our Discord server. We want to provide news, a place to discuss various relevant topics and support. Since our game is still in the early stages of development, news weigh the most because you still can not discuss much nor need help. It is therefore a good idea to set up a news channel in which we report regularly on updates.

The first channels on the GameMaster server

Wouldn't it be great if this got done without additional input? We may already (or additionally) post our news to other places, such as Twitter, Instagram or Facebook. Can’t we automate this process so that we only have to post in one place and it spreads everywhere? There may not be a perfect all-in-one solution but there are some widgets that will help you with this job. I'd like to show you IFTTT ("If This Then That") and zapier, two platforms that allow all types of services to be linked together. The free version of zapier sadly comes with some restrictions. I used these to connect different social networks with Discord. For example, my new Twitter, Instagram or Facebook posts will automatically land on different channels of my BadToxic server.

My "applets" on IFTTT

Discord uses so-called "webhooks" to accept data. Some services already offer to connect to such webhooks. GameMaster versioning is taking place at GitLab, which already offers such integration. Since I do not want to make my source code publicly accessible to everyone in this project, the repository is set to private. If we would use the native integration, we would receive messages on Discord but they would be without content. The users on my server would just see that there was an update to the game but not what was updated. To solve this problem, I use zapier, which logs into GitLab in my name, so it can read the updates and send them to Discord.

Left:GitLab „Zap“ in zapier; Right: the receiver channel on Discord

Last but not least, I would like to talk briefly about the maintenance of the server. Large communities usually have several moderators who care of keeping up order and help people. I would have to take over this job alone if there were no digital friends - bots. Dyno supports me in this task, a free bot for automatic moderation, logging actions, streaming music in voice channels and much more. For example, it can respond to predefined forbidden words, delete the message in question and warn or even ban the user. Or you can set "cooldowns" for certain actions - a user will be warned if he sends links several times within a few seconds.

Settings of the automatic moderation in Dyno

To me, the most useful features are the logging functions so far. Various actions can be logged in different channels. For example, I can see if someone left my server, which would not be possible without extra tools or manual observation.

With this, we should have covered the issue of communities thoroughly enough for now. Next time, we're going over to shaders which we want to use to polish up our graphics and realize special effects. In fact, they even become an important part of the game mechanics themselves.

Do you prefer to read this diary in the developer's mother tongue? Then click here to read this diary entry in the original German language!

Gehe zu Seite:
Vorherige Seite | Nächste Seite

Kommentare verstecken

- Kommentare

- Noch keine Kommentare vorhanden -

Um Kommentare zu schreiben, bitte oben einloggen oder jetzt Registrieren!