Nachdem wir in den letzten Rework Neuigkeiten verkündet haben, dass wir das Grundlegende System für den Gebäudekauf erarbeiten, gibt es nun weitere Fortschritte zu verkünden.
Beim Gebäudekauf werden nun die Adressdaten korrekt und vollständig gespeichert.
Anhand der gewählten Position des geplanten Gebäudestandorts wird eine Abfrage an unseren Kartenserver gestellt um einige Dinge zu prüfen und zu erfragen. Wir prüfen unter anderem, ob die Position im freigeschalteten Spielbereich des ReSi liegt (aktuell Deutschland, Österreich und Schweiz) und erfragen zusätzlich alle Adressdetails dieser Position (Straße, Hausnummer, Stadt, Postleitzahl, …). Diese Adressdetails werden unabhängig von den Gebäuden gespeichert und lediglich mit diesem verknüpft. So können wir das Adress-System ganz unabhängig auch für weitere Funktionen, wie zum Beispiel für die Einsatzorte nutzen. Zeit, die wir aktuell also in einige Details investieren, spart uns in Zukunft den doppelten Aufwand an anderer Stelle.
Ich hatte neulich ein spannendes Gespräch mit einem befreundeten Entwickler, der uns bei der Einrichtung der zukünftigen Serverinfrastruktur unterstützen kann. Mit ihm treffe ich mich momentan etwa einmal pro Monat in einem CoWorking Space, in dem jeder primär an seinen eigenen Projekten arbeitet und man sich bei Fragen gegenseitig unterstützen kann. Wir reden dabei aber auch immer über die technischen Hintergründe des ReSi und werden hier vermutlich in nächster Zeit bereits langsam die zukünftige Serverinfrastruktur vorbereiten, da er auf dem Gebiet sehr viel Expertise besitzt.
Da ein Gebäude nicht kostenlos im ReSi zu haben ist, habe ich zusätzlich ein universelles Transaktionssystem implementiert. Überall wo in Zukunft dem Spieler Münzen oder Marken gutgeschrieben oder abgezogen werden, gibt es jetzt eine einheitliche Funktion, um die Zahlungsfähigkeit zu prüfen und die Transaktion korrekt durchzuführen. Zusätzlich ist dadurch sichergestellt, dass immer ein passender Eintrag in die Transaktionshistorie erfolgt, um jede “Kontobewegung” nachvollziehbar zu machen. Auch hier gab es initialen Aufwand für den Gebäudeshop, der sich nachher an vielen anderen Stellen auszahlt.
Die korrekte Umsetzung aller Besonderheiten (Erweiterungen) der Gebäude ist relativ komplex. Hier geht es zum Beispiel um Stellplätze, Personal, Betten und Krankenhauserweiterungen. In der Nacht von Freitag auf Samstag waren wir hier insgesamt knapp 7 Stunden beschäftigt, um hier gemeinsam die beste Lösung zu erarbeiten. Zuvor hatten wir unsere monatliche Contributor-Besprechung, in der wir immer offene Fragen beantworten, akute Probleme klären und die Arbeit der nächsten Wochen besprechen.
Im aktuellen ReSi kommt es ja häufiger zu unvorhergesehenen Fehlern, die zum Beispiel Fahrzeuge oder Abrollbehälter nach Einsatzende an der Einsatstelle feststecken lassen. Viele andere Fehler bekommt ihr als Spieler zum Glück nicht direkt zu spüren, wir sehen sie aber in unseren Protokollen. Um hier in Zukunft solide aufgestellt zu sein und Fehler auf das kleinste zu reduzieren, haben wir viel Zeit in ein robustes Fehlersystem investiert. An allen Stellen im Code, an denen bestimmte Fehler auftreten könnten, werden diese hinterlegt und an allen Stellen, an denen diese Funktion genutzt wird, definieren wir, was im Falle welches Fehlers konkret passieren soll, um den ReSi nicht zum Absturz zu bringen und die Situation bestmöglich zu lösen.
Das kann von automatischen Zurücksetzungen von Fahrzeugen, über Luftlinien-Routen bei Ausfall des Kartenservers, bis zu schön formulierten Fehlermeldungen an den Spielenden und uns Entwickler sehr individuell umgesetzt werden. Jeder Fehler erhält einen individuellen Workaround.
Ebenso haben wir Zeit in das sichtbare Frontend investiert. Das ist die Oberfläche, über die ihr nachher den ReSi spielt und seht. Diese hat Dispo initial erstellt und ich habe sie mir auf meinem MacBook so eingerichtet, dass ich hier in Zukunft auch dran arbeiten kann. Wir haben hier gemeinsam auch ein Tool implementiert, dass uns die einheitliche Entwicklung von Designkomponenten erleichtert. Das betrifft alle visuellen Schaltflächen wie Knöpfe, Textblöcke, Icon-Anordnungen, Menüs, Listen, usw. im ReSi.
Wir möchten nun eine Funktion immer “beidseitig” umsetzen. Erst die API Schnittstellen und Logiken im Backend sowie die Speicherung der Daten in der Datenbank. Dann nutzen wir diese Schnittstellen, um diese Funktion im Frontend zu implementieren.
Aktuell wollen wir also, sobald die Gebäude im Backend fertig sind, den Gebäudeshop, die Gebäudeansicht und die Gebäudemarker auf der Karte im Frontend umsetzen. Das bietet uns unter anderem die Möglichkeit, euch anschaulicher mit Screenshots den aktuellen Entwicklungsstand zu präsentieren.
Wir wünschen euch einen tollen Start in die Woche.