Android App mit Cordova – SpaceCompany

Mit Cordova lassen sich leicht Android Apps erstellen. Alles was man braucht ist Grundverständnis für HTML, CSS und JS. Als kleine Pause zu dem recht komplexen GalaxyExpanse Browsergame habe ich mich entschieden das Open Source Spiel SpaceCompany aus GitHub kurz als standalone App umzubauen.

SpaceCompany als App mit Cordova

Eine Zeitlang waren abstrakte Spiele wie Kittens Game gefühlt in Mode, jedenfalls bei dem einen oder anderen Nerd. Meine Präferenzen liegen jetzt aber weder bei Kätzchen als auch bei Büroklammern. Wie ich nun auf SpaceCompany im Science Fiction Genre kam geschweige denn auf das Repo kann ich heute nicht mehr sagen. Nun als kleine Ablenkung ein neues Ziel: Das Spiel nativ als Android App kostenfrei herausbringen!

HTML, CSS, JS Anpassungen und Optimierungen von SpaceCompany

Die ursprüngliche Version des Spieles SpaceCompany findet sich bei GitHub hier. Dies habe ich genommen und initial geprüft wie die Darstellung auf mobilen Geräten aussähe. Das war widererwartend leider nicht so prickelnd. Also Hand anlegen. Massenweise Tables rauswerfen und in ein Div Layout bringen. CSS Anpassungen, Standard Theme ändern und verschiedene Funktionalitäten im Javascript anpassen. Was als Idee initial gut klingt und auch nicht so aufwändig, entpuppte sich dann aber später als doch recht umfangreiche Angelegenheit. Unglaublich viele Tabellen waren im Projekt enthalten, viele inline Styles und immer wieder IDs, die entsprechend übernommen werden mussten.

Auf in den Google Play Store

Nachdem ich das meiste dann durch hatte und die APK als production erstellt hatte brauchte ich natürlich ein Konto zu dem Google Play Store, genauer gesagt zu der Google Play Console. Die einmalige Registrierung kostet 25$ und ließ sich ausschließlich über Kreditkarte bezahlen. PayPal oder ähnliches wurde hier nicht angeboten.

Update der Android API

Nachdem ich nun also ein Konto eingerichtet hatte und die App initial angelegt hatte wollte ich diese natürlich auch hochladen. Nun musste ich feststellen, das ich meine App mit der API Version 28 erstellt hatte, Google Play Console aber mindestens 29 erwartet. Also Platform gelöscht. Cordova die Android 9 Plattform wieder hinzugefügt und neu generiert. Beim hochladen bekam ich dann erneut einen Fehler: Die Lokalisierung fehlte anscheinend in der APP. Also in der config.xml eine default Lokalisierung angegeben und erneut App erstellt. Hochgeladen. Gleicher Fehler. Nerv! Durch Zufall habe ich dann gesehen, das es eine neuere Version der Google Play Console Oberfläche gab, die zwar als BETA markiert ist, aber dennoch relativ viel anders handhabt. Hier konnte man nun sinnvoller definieren welche Länder für die App relevant sind und welche nicht. Nun das nächste Problem: Die Überprüfung der App ging tadellos durch, allerdings konnte ich dennoch die App nicht zur Überprüfung durch Google einreichen. Was hat geholfen? Ich habe das ganze Projekt wieder entfernt in der Google Play Console und neu angelegt. Alle Einstellungen von FSK hin über Icons, Bilder und Beschreibung + Länderangabe neu gemacht, App hochgeladen und siehe da. Die Überprüfung durch Google war nun möglich!

Musik, ist doch lästig… aber im Spiel?

Eigentlich bin ich ja kein Freund von Musik, vor allem nicht im Browser. Aber dies ist ja kein Browsergame mehr im eigentlichen Sinn. Es ist eine App, ein Spiel, das nativ läuft. Also warum nicht. Aber ein hochwertiges MP3? Nein danke. Das Spiel ist an sich ja sehr einfach gehalten. Keine großen Grafiken etc.. Da würde der Sound wie beim C64 passen. Also ab auf die Suche nach einem JS SID Player. Fündig wurde ich dann hier. Von diesem habe ich dann die jsSID.js eingebunden und in die APP integriert.

Bezugsquelle der App SpaceCompany

Ohne Google Play Konto direkt bei mir: spacecompany.apk

Bei Google Play: spacecompany.apk

Bei Github:

Angepasste Version mit Cordova von mir findet sich hier.

Originale Browservariante findet sich hier.

Visuelle Eindrücke von SpaceCompany