Bingo!

Im April 2014 wurde die erste Version von Bully Bullshit Bingo im Play Store veröffentlicht. Nutzer konnten nur an einem Spiel gleichzeitig teilnehmen und ein eigener Server verwaltete den Status des Spiels bei Multiplayer-Spielen und sendete Push-Nachrichten an die Verlierer. Knapp 4000 Runden wurden seither gespielt.

Firebase

Im Herbst wurde ich auf Cloud Firestore von Firebase aufmerksam: eine NoSQL-Datenbank mit automatischer Synchronisation zwischen Client und Server, Offline-Support und Client-Libraries für Android, das Web und iOS. Neugierig wie einfach sich diese Library wohl in eine App integrieren lässt begann ich Firestore in Bully Bullshit Bingo einzubauen und gleichzeitig den Funktionsumfang endlich zu erweitern.

Der Plan war die Abhängigkeit vom eigenen Server zu entfernen, stattdessen Firebase zu nutzen und Spielern die Teilnahme an mehreren Runden gleichzeitig zu ermöglichen. Zuerst wurde ein Datenmodell für Cloud Firestore erstellt das es Spielern ermöglicht schnell auf ihre Spiele zuzugreifen und die Anzahl der Mitspieler festzustellen. Der Android-Client wurde implementiert und Firestore ersetzte die erste Komponente des eigenen Servers: die Datenbank. Mit Cloud Functions wird jedes mal ein Event getriggert, wenn ein Benutzer das Spielfeld ändert. Für den Fall, dass das Spiel mit der letzten Änderung geendet hat wird eine Push-Nachricht (via Firebase Cloud Messaging) an alle Verlierer gesendet. Im Gegensatz zu früher wird die Nachricht nun auch angezeigt, wenn die App gerade nicht geöffnet ist.

Upgrade

Beim Start der App werden alle bestehenden Daten ohne Datenverlust zur neuen Version migriert: das aktuelle Spiel wird mit Cloud Firestore synchronisiert und alle gespeicherten Spielfelder werden ebenfalls dort gespeichert. Mit ein paar kleinen Tweaks gelang es mir auch, Multiplayer-Spiele so zu synchronisieren, dass weiterhin alle Spieler am selben Spiel teilnehmen (vorausgesetzt alle Spieler installieren das Update).

Oh, der Stier sieht auch neu aus.
Oh, der Stier sieht auch neu aus.

Aber es geht weiter…

Während mit der neuen Version der Support für alle Versionen unter Android 4.1 eingestellt wurde (für Android 2.3 – 4.0 wurde eine rudimentäre Singleplayer-Version veröffentlicht) sind weitere Updates für Bully Bullshit Bingo geplant. Neben Verbesserungen im Spielablauf sind weitere Funktionen wie Spielvorlagen geplant. Durch die Nutzung von Firebase wäre es auch denkbar Benutzern die Möglichkeit zu geben sich einzuloggen und Spiele so auf einem neuen Smartphone wiederherzustellen oder Freunde leichter einzuladen.

Bully Bullshit Bingo kann im Play Store heruntergeladen werden.