PlanetSwitch Planet3DS PlanetVita PSP.de PlanetiPhone Classics Forum

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetDS PlanetGameboy N-Page.de

-

Sonstiges: Entwicklertagebuch - Der Weg zum eigenen 3DS/Switch-Spiel

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

Artikel mögen: Weitersagen:



Teil 20: Erschaffen einer Community
Nachdem wir in den letzten beiden Tagebucheinträgen vorerst mit Fizhy abgeschlossen haben, kommen wir nun zu einem ganz anderen Thema. Hinter jedem bekannten Spiel steckt eine Community. Sei es auf Facebook, Reddit, Fan-Wikis oder anderen sozialen Plattformen. Sobald sich ein Spiel einen Namen macht, entstehen solche wie von ganz alleine. Manchmal gibt es auch Communitys innerhalb der Spiele selbst oder auf speziellen Internetseiten, die von den Entwicklern zur Verfügung gestellt werden. Liest man über den Prozess der Spieleentwicklung, findet man häufig das Aufbauen einer Community bereits ganz am Anfang. Es heißt, man könne nie früh genug damit beginnen. Wir wollen uns heute anschauen, wozu eine solche Community gut ist und die ersten Schritte tun eine solche zu erschaffen.

Zweck einer Community
Hinter einer Community-Gründung können etliche Gründe stehen. Die Basis ist die Gesellschaft unter Gleichgesinnten, die sich für die gleiche Sache interessieren und darüber reden können wollen. Am vielleicht häufigsten liegen Fragen vor, zu denen man eine Antwort sucht, wenn man einer einer Spiel-Community beitritt - „Wie schaffe ich diesen Level?“ So bilden sich oft ganze Fan-Wikis (Enzyklopädien), welche sich darauf spezialisiert haben Fragen zu beantworten, die noch nicht einmal gestellt wurden. Ein anderer Grund kann das Prahlen oder Suchen nach Kritik und Meinungen anderer sein - „Was haltet ihr von meiner neuen Ausrüstung und meinen Statuswerten?“ Man sucht also eventuell nach Anerkennung und möchte zeigen was man erreicht hat. Oder man möchte sich verbessern, mit anderen vergleichen und daraus lernen. Im Prinzip kann man hier Gründe für jede Art von zwischenmenschlicher Konversation zugrunde legen. Natürlich kann es auch praktische Nutzen geben, welche sich speziell aus Features des Spiels ergeben. Beispielsweise kann man sich zu einem Gilden-Raid verabreden oder einen Handels- oder Tauschpartner für Items finden.

Aus Sicht der Publisher und Entwickler ergeben sich ebenfalls Vorteile aus einer Community. Oft bietet sich so ein einfacherer Weg, um kostengünstig und effizient Support leisten zu können. Anstatt auf E-Mails und Anrufe antworten zu müssen, können sie dies an einem Ort regeln, an dem sie bereits auf ein gesammeltes Wissen verweisen und zurückgreifen können. Häufig können Hilfe-Anfragen bereits von anderen Benutzern beantwortet werden, ohne dass das eigene Team einschreiten muss. Des Weiteren liefert eine Community umfangreiches Feedback. So können die Entwickler frühzeitig reagieren und etwas ändern oder erfahren was gut ankommt und in welche Richtung sie weitermachen sollten. Am wichtigsten jedoch, ist womöglich der kostenlose Werbeeffekt. So verbreitet sich Kenntnis und Eindrücke über das Spiel ohne hohe Kosten.

Die Qual der Wahl
Doch wo soll man anfangen? Welche sozialen Plattformen sind gut, was sind die Vor- und Nachteile? Sollte man möglichst überall vertreten sein oder sich besser auf ein Netzwerk konzentrieren? Diese Fragen sind nicht einfach zu beantworten und hängen zum einen vom Spiel ab, welches repräsentiert werden soll, und zum anderen davon, ob man genügend Kapazitäten aufbringen kann all diese zu moderieren. Man kann zunächst Schwerpunkte auf die oben genannten Vorteile legen, um eine bessere Entscheidung zu treffen. Ich möchte als erstes eine zentrale Anlaufstelle schaffen, bei der Leute mich kontaktieren und sich in den Entwicklungsprozess einbringen können, wenn sie möchten. Facebook, Twitter und Co. eignen sich besser um Neuigkeiten zu verbreiten und stetiges Feedback in der Entwicklung zu geben. Solche Plattformen leben vor allem von einer Regelmäßigkeit und Benutzer springen schnell ab, wenn sie nicht genügend Material vorgelegt bekommen. Stattdessen möchte ich lieber einen Ort, an dem ich alle Infos persistent ablegen kann und eine gewisse Übersichtlichkeit gewährleistet wird. So habe ich mich nach vielen Recherchen und Versuchen entschieden Discord in den Mittelpunkt zu stellen. „Discord ist ein kostenloses Programm für Instant Messaging, Chat, Sprachkonferenzen und Videokonferenzen, das für Computer und Mobilgeräte entwickelt wurde, ‚um Gamer zusammenzubringen‘. Der Dienst kann als Webanwendung im Browser oder mit proprietärer Client-Software auf allen gängigen Betriebssystemen genutzt werden. Im Mai 2018 verzeichnete der Dienst 130 Millionen Nutzer.“ [Wikipedia]

Man sollte unterscheiden, ob die Webpräsenz, die man schaffen möchte, das Spiel, die Firma oder den Entwickler selbst präsentiert. So habe ich einen Discord-Server für mein Spiel GameMaster sowie einen für meine Person und Firma angelegt. Vertreten bin ich als Person, Entwickler oder Ein-Personen-Gewerbe dennoch auf etlichen weiteren Plattformen. Besonders viel Arbeit stecke ich zur Zeit in meinen Instagram-Account, auf dem ich hauptsächlich News über meine Entwicklung, aber auch privates poste. Mehr auf die Entwicklung konzentriert, poste ich auf Twitter, aber deutlich zurückhaltender. Als reines Entwickler-Gewerbe bin ich ebenfalls auf Facebook vertreten. Damit sind ein paar der größten sozialen Netze abgedeckt und die Inhalte unterschiedlich priorisiert, nach meinem persönlichen Ermessen für typische Zielgruppen auf den jeweiligen Plattformen. Ich bin auch auf deutlich mehr Plattformen zu finden, die ich nicht alle auflisten werde. Die meisten dienen hauptsächlich zur Auffindbarkeit und verweisen dann wiederum auf andere, wie etwa Discord. Ich würde mich natürlich sehr freuen, wenn der eine oder andere Leser seinen Weg in meine Communitys findet und mich unterstützt.

Discord einrichten
Zunächst benötigen wir natürlich einen Account, welchen wir auf discordapp.com erstellen können, sofern noch nicht passiert. Wie die Wikipedia-Beschreibung bereits verraten hat, können wir dies direkt im Browser, aber auch in Anwendungen bzw. Apps, für verschiedene Plattformen tun. Sobald man eingeloggt ist, kann sicher jeder eigene Server anlegen, indem er links auf das Plus in seiner Server-Liste klickt.


Der Button zum Hinzufügen eines neuen Servers, direkt unter den GameMaster und BadToxic-Servern

Danach könnt ihr nach belieben eigene Text- und Voice-Channels (Kanäle) anlegen und die ersten Benutzer einladen. Aber ich würde wohl kaum im Stil einer Anleitung schreiben, wäre alles so trivial wie diese ersten Schritte. ;) Am besten gehe ich gleich auf ein kritisches Thema ein - Spam und Schutz dagegen. Wenn man einen Server öffentlich zugänglich macht, läuft man immer Gefahr, dass Leute mit schlechten Absichten reinkommen und Unfug treiben. Dies kann sich in verschiedenen Formen äußern. Benutzer können in allen Channels Spam, Werbung oder unsittliche Kommentare verbreiten. Sie können Links zu schädlichen Dingen oder Phishing-Versuchen posten. Sie können außerdem alle anderen Benutzer sehen, welche sich auf dem Server befinden und diese ebenfalls privat anschreiben und mit gleichem nerven. Man kann ebenso Bots benutzen um diese Angriffe zu automatisieren. So kann es vorkommen, dass ganze Benutzergruppen sich den Spaß machen, einen Server nach dem anderen zu besuchen, um diese mit vielen Nachrichten pro Sekunde vollzuspammen und somit unerträglich zu machen. Natürlich kann man als Admin solche Benutzer blockieren und kicken, aber das schützt nicht davor, dass sich diese Angreifer neue Accounts anlegen und von vorne beginnen oder andere kommen und gleiches tun. Es ist schwierig, etwas gegen solche Dinge zu unternehmen ohne den guten Benutzern all ihre Freiheiten zu nehmen. Doch es gibt Mittel und die werde ich euch kurz erklären.

Discord-Türsteher und -Rollen
Ich habe verschiedene Bots und Rollen verwendet, um eine Art „Türsteher“ (Gatekeeper) zu schaffen, der möglichst nur friedliche Leute auf den Server lassen sollte. Dies funktioniert folgendermaßen: es gibt einen Kanal namens „Welcome“, welcher anfangs der einzige für jeden sichtbare ist. Dort muss man erst eine bestimmte Handlung durchführen, bevor man Zugriff auf die anderen Kanäle bekommt. In meinem Fall muss man mit einem bestimmten Emoji auf einen Text „reagieren“. Diese sogenannten „Reaktionen“, sind eine Discord-Funktion, die es erlaubt Symbole direkt unter einen Beitrag zu setzen. Dies kennt man gegebenenfalls bereits von Facebook, wenn man neu bei Discord ist. Ich habe also eine kleine Liste an Regeln aufgeschrieben, denen man mit einem Häkchen-Symbol zustimmen muss, damit der restliche Server freigeschaltet wird.


Der Willkommen-Kanal auf dem BadToxic-Server agiert als „Türsteher“

Der Weg über dieses Symbol hat den Vorteil, dass man in diesem Willkommens-Kanal das Schreiben komplett verbieten kann. Also kann auch niemand hier spammen. Alternativ hätte man es auch so umsetzen können, dass der Benutzer einen bestimmten Text schreiben müsste, wie z.B. „agree“ (ich stimme zu). Dann könnte man dort alle Nachrichten sofort automatisch wieder löschen lassen, um Spam zu vermeiden. Ich habe mich aber für die erste Variante entschieden, weil sie meiner Meinung nach schöner und einfacher ist.

Um dies nun technisch umzusetzen benötigen wir zunächst Rollen. Jeder Benutzer kann verschiedenen Rollen angehören und für jeden Kanal kann man für jede Rolle bestimmte Regeln festlegen. So verbieten wir jedem („@everyone“) im Willkommens-Kanal das Schreiben von Nachrichten, erstellen aber eine weitere Rolle „@Member“, welche in allen vorgesehenen Kanälen schreiben können soll.


Der Willkommen-Kanal erlaubt Neulingen nur das Lesen und „Reagieren“ via Emojis

Damit eine Rolle automatisch verteilt wird, wenn man beispielsweise wie oben beschrieben zustimmt, benötigen wir einen Bot. Ich verwende dazu Zira, der genau zu diesem Zweck existiert. Wenn man dies alles umgesetzt hat, ist man vor automatisierten Angriffen schon fast sicher - bisher habe ich noch keinen Bot gesehen, der sämtliche Reaktionen ausprobiert, um eventuell an Rollen zu kommen. Natürlich können Menschen weiterhin den Text lesen, zustimmen und selbst spammen, oder sogar einem Bot beibringen genau dies zu tun. Aber die Hürde und der Aufwand dafür ist bereits viel höher und macht dies deutlich unwahrscheinlicher. Man sollte es aber auch nicht dabei belassen, sondern noch weitere Sicherungsvorkehrungen treffen. Manches bietet Discord von Haus aus an, unter der Server-Einstellung „Moderation“. Hier kann man einen Verifizierungs-Level einstellen - wie lange ein Benutzer bereits auf einem Server sein muss, bevor er schreiben darf. Dazu noch einen Nachrichten-Filter, welcher unangebrachte Inhalte finden soll. Und zu guter Letzt eine 2-Faktor-Authentifizierung, um sich beispielsweise nur über einen Code einloggen zu können, den man auf sein Handy erhält.


Moderations-Hilfe von Discord

Inhaltsgestaltung
Nun kommen wir zum Inhalt unserer Discord-Server. Wir wollen Neuigkeiten zur Verfügung stellen, einen Ort zum Diskutieren über verschiedene relevante Themen anbieten und Support leisten können. Da unser Spiel noch in der frühen Entwicklung steckt, wiegen Neuigkeiten am meisten, da man noch nicht über viel diskutieren oder Hilfe brauchen kann. Es liegt also nahe einen „News“-Kanal anzulegen, in dem wir regelmäßig über Neuerungen berichten.


Die ersten Kanäle auf dem GameMaster-Server

Wäre es nicht toll, wenn solche Dinge von alleine gingen? Wir posten unsere News eventuell bereits (oder zusätzlich) an anderen Orten, wie Twitter, Instagram oder Facebook. Können wir diesen Prozess nicht so automatisieren, dass wir nur noch an einem Ort posten müssen und es überall landet? Es gibt vermutlich keine perfekte All-In-One-Lösung, doch einige Widgets, die einem diese Arbeit teilweise abnehmen. Hierzu möchte ich euch IFTTT („If This Then That“ = „Wenn Dies Dann Das“) und zapier vorstellen, zwei Plattformen, die es ermöglichen sämtliche Arten von Diensten miteinander zu verknüpfen. zapier ist kostenlos leider nur eingeschränkt nutzbar. Ich habe diese verwendet um verschiedene soziale Netze mit Discord zu verbinden. Beispielsweise landen meine neuen Twitter-, Instagram- oder Facebook-Posts automatisch in verschiedenen Kanälen meines BadToxic-Servers.


Meine „Applets“ auf IFTTT

In Discord werden sogenannte „Webhooks“ verwendet, um die Daten entgegen zu nehmen. Manche Dienste bieten bereits von Haus aus an, sich mit solchen Webhooks zu verbinden. Die Versionsverwaltung von GameMaster findet auf GitLab statt, welches bereits solch eine Integration anbietet. Da ich aber in diesem Projekt meinen Quellcode nicht für alle öffentlich zugänglich machen möchte, ist das „Repository“ auf privat eingestellt. Würde ich nun die native Integration nutzen, bekäme ich zwar Nachrichten an Discord gesandt, diese wären jedoch ohne Inhalt. Die Benutzer auf meinem Server würden also nur sehen, dass es ein Update am Spiel gab, jedoch nicht was aktualisiert wurde. Um dieses Problem zu lösen, nutze ich zapier, welches sich in meinem Namen bei GitLab einloggen und die Updates somit auslesen und an Discord senden kann.



Links:GitLab „Zap“ in zapier; Rechts: der Empfänger-Kanal in Discord

Die Instandhaltung
Zu guter Letzt möchte ich kurz auf die Wartung des Servers eingehen. Große Communitys haben für gewöhnlich mehrere Moderatoren, die sich um Recht und Ordnung kümmern und den Leuten helfen. Auch diesen Job müsste ich anfangs alleine übernehmen, gäbe es keine digitalen Freunde - Bots. Bei dieser Aufgabe unterstützt mich Dyno ein kostenloser Bot für automatische Moderation, das Loggen von Aktionen, Streamen von Musik im Voice-Chat und vieles mehr. Er kann beispielsweise auf vordefinierte verbotene Worte reagieren, die betreffende Nachricht löschen und den User verwarnen oder sogar bannen. Oder man kann „Cooldowns“ für bestimmte Aktionen setzen - ein Benutzer wird verwarnt, wenn er innerhalb von ein paar Sekunden mehrmals Links sendet.


Einstellungen der automatische Moderation in Dyno

Besonders nützlich finde ich bisher die Logging-Funktionen. Verschiedene Aktionen können in verschiedene Kanäle geloggt werden. So kann ich mir zum Beispiel dort anzeigen lassen, wenn jemand meinen Server verlassen hat, was ohne extra Hilfsmittel oder einer manuellen Beobachtung, nicht möglich wäre.

Damit dürften wir das Thema Communitys fürs Erste zu genüge besprochen haben. Das nächste Mal behandeln wir Shader, mit denen wir unsere Grafik aufpolieren wollen und spezielle Effekte erzielen möchten. Tatsächlich werden diese sogar wichtiger Bestandteil der Spielmechanik selbst.

Ihr möchtet die Auszüge aus dem Leben eines Entwicklers lieber in englischer Sprache lesen? Unter diesem Link findet ihr die englische Version dieses Tagebucheintrags!


Gehe zu Seite:
Vorherige Seite | Nächste Seite

ANZEIGE:
Kommentare verstecken

- Kommentare


- Noch keine Kommentare vorhanden -

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