Wir haben den Stack nach drei Kriterien ausgewählt: Wie schnell ist er erlernbar? Wie verbreitet ist er? Und wie viel Erfahrung war im Team bereits vorhanden?
Colyseus: Multiplayer-Framework für Node.js. Unterstützt u. a. bei Session-Handling, Matchmaking und State-Synchronisation über WebSockets.
Frontend-Entwicklung
Phaser.js: HTML5-Spiele-Framework für 2D-Rendering auf dem Main-Screen
React.js: Leichtgewichtige JavaScript Library für reaktive Benutzeroberflächen
shadcn/ui: Component-Library auf Basis von TailwindCSS
Nipple.js: JavaScript-Bibliothek zur Erstellung von virtuellen Joysticks
DevOps
GitLab: Projektmanagement und Source-Code-Verwaltung
CI/CD & Docker Registry: Automatisiertes Überprüfen der Code-Qualität sowie Bauen und Veröffentlichen von Docker-Images in der FKI-Docker-Registry
Design & Asset-Erstellung
Aseprite: Werkzeug für Pixel-Art-Design und -Animation. Wir haben Aseprite intensiv genutzt, um alle 2D-Sprites, Animationen und Grafiken selbst zu entwerfen.
Infrastruktur
Router: Spannt eigenes WLAN auf, in das sich Spielende einwählen, um völlig unabhängig von einer externen Internetverbindung spielen zu können.
Kollaboration & Dokumentation
Mattermost: Kommunikation mit den Projektbetreuern
Discord: Diente als unsere primäre Kommunikationsplattform für die täglichen Absprachen, schnellen Abstimmungen und die Koordination der Aufgabenverteilung. Außerdem wöchentliche Meetings und durch Webhooks automatisierte Benachrichtigungen für Issues und Merge-Requests durch GitLab.
Google Drive: Nutzten wir zur kollaborativen Erstellung und Strukturierung unserer Projektdokumentation sowie zum Austausch und zur Ablage von Dokumenten wie Protokollen und Umfrageergebnissen.