Spieleentwicklung · Laravel · React
Phalanxfall: ein OGame-Klon ohne Pay2Win
Wie aus dem klassischen Browserspiel OGame ein eigener Klon ohne Pay2Win wurde – Spielidee, Technik und ein Blick auf die Codebasis.
Was ich vorhatte
OGame ist ein Weltraum-Strategiespiel aus dem Jahr 2002: Du baust Planeten aus, erforschst Technologien, schickst Flotten los und überfällst andere Spieler – alles in Echtzeit, auch während du offline bist. Der Haken an der heutigen Fassung ist das Bezahlmodell. Wer Geld ausgibt, baut schneller und sieht mehr. Genau das wollte ich weglassen.
Also ein eigener Klon: der klassische Spielstand (die Community nennt ihn Version 0.84), vollständig nachgebaut, aber ohne Shop und ohne Premium-Währung. Das Spiel heißt Phalanxfall und läuft im Browser. Als Regel-Referenz dient ein eigenes Konzeptdokument, das jede Formel gegen das OGame-Wiki und den offenen Nachbau 2Moons geprüft hat – ich wollte die Zahlen belegt haben, nicht aus dem Gedächtnis.
Warum nicht einen fertigen Klon?
Fertige Nachbauten gibt es durchaus: XNova und Ugamela, zwei Open-Source-Projekte aus den Jahren 2006 bis 2008, und ihre Forks wie 2Moons. Ich habe mir ihren Code angesehen und mich bewusst für eine komplette Neuentwicklung entschieden.
Dafür gibt es zwei Gründe. Der erste ist das Alter: Der Code stammt aus der PHP-4/5-Zeit, mit globalen Variablen und längst abgekündigten Datenbankfunktionen – kein Fundament, auf dem ich die nächsten Jahre bauen möchte. Der zweite ist die Lizenz: Diese Projekte stehen unter GPL beziehungsweise AGPL. Wer ihren Code übernimmt, muss sein eigenes Projekt unter dieselbe Lizenz stellen – bei AGPL sogar, wenn es nur als Server läuft. Eine saubere Neuentwicklung lässt mir die Wahl offen.
Also dienen die alten Klone als Regel-Referenz, nicht als Code-Basis: Ich schlage nach, wie eine Formel klassisch lautet, und schreibe sie selbst neu.
Worum es im Spiel geht
Das Spielprinzip ist in einem Satz erzählt: Du verwandelst Zeit in Rohstoffe und Rohstoffe in Macht. Minen produzieren rund um die Uhr, Ausbau und Forschung steigern die Produktion, Flotten sichern oder rauben die Rohstoffe.
Der Reiz liegt im Gegenspieler. Angriffe treffen dich, während du schläfst – das Spiel ist asynchrones PvP. Wer angreifbar ist, baut Verteidigung, hält wenig Rohstoffe auf dem Planeten und schickt die Flotte vor dem Schlafengehen auf einen Flug, damit sie nicht zerstört wird. Dieses „Fleetsave" ist die zentrale Denksportaufgabe des Spiels: Es gibt keine Pause-Taste, nur Timing.
Wirtschaft: alles hängt an der Mine
Am Anfang steht die Metallmine. Jede Stufe kostet mehr als die vorige und produziert mehr – klassisch mit dem Faktor 1,5 pro Stufe, und genau dieser exponentielle Anstieg macht das Spiel aus. Du bist ständig knapp an etwas.
Insgesamt kennt Phalanxfall 18 Gebäude, 16 Forschungen, 14 Schiffe und 10 Verteidigungsanlagen. Das klingt nach wenig, trägt aber ein überraschend tiefes Entscheidungsnetz: Energie begrenzt die Minen, Forschung schaltet Schiffe frei, Lagerhäuser bestimmen, wie viel ein Angreifer bei dir holen kann.
Flotten und Kämpfe
Wird gekämpft, rechnet eine eigene Kampf-Engine den Ausgang aus: beide Flotten, bis zu sechs Runden, Schilde, Rüstung, Rapidfire. Aus den zerstörten Schiffen entsteht an der Koordinate ein Trümmerfeld, das Recycler einsammeln – und genau daraus speist sich die zweite Spielweise neben dem friedlichen Miner: der Raider, der von Beute lebt.
Die Engine ist der heikelste Teil des Spiels. Sie muss denselben Kampf bei gleicher Ausgangslage immer gleich ausrechnen, sonst streiten sich Angreifer und Verteidiger über den Bericht. In Phalanxfall sind das 225 Zeilen, die stur dem klassischen Regelwerk folgen.
Wie es gebaut ist
Unter der Haube ist Phalanxfall eine ganz normale Webanwendung, nur streng getrennt. Der Server ist Laravel 12 (ein PHP-Framework) mit PostgreSQL als Datenbank. Die Weboberfläche ist eine React-App in TypeScript.
Die wichtigste Regel heißt „API-first": Jede Spielfunktion ist ein Endpunkt, und die gesamte Spiellogik – alle Formeln, der Kampf, die Weltgenerierung – liegt ausschließlich im Server, an einer einzigen Stelle. Der Browser bekommt fertig berechnete Werte, nie eine Formel. Das klingt nach Umstand, hat aber einen handfesten Grund: Läge die Produktionsformel auch im Browser, könnte man sie manipulieren. So gibt es nur eine Wahrheit, und die steht auf dem Server.
Einen festen Takt („Tick") hat das Spiel übrigens nicht. Statt alle paar Sekunden die ganze Welt durchzurechnen, bekommt jedes Ereignis – ein fertiges Gebäude, eine ankommende Flotte – einen Endzeitpunkt. Ein Hintergrundprozess arbeitet immer nur die gerade fälligen Ereignisse ab. Das spart enorm Rechenleistung bei vielen tausend Planeten.
Das Projekt in Zahlen
| Kennzahl | Wert |
|---|---|
| Dateien im Repository | 2.960 |
| Server (PHP) | ~16.100 Zeilen |
| Reine Spiellogik | ~1.690 Zeilen in 14 Dateien |
| Automatische Tests | 273 Testfälle, ~4.600 Zeilen |
| Weboberfläche (TypeScript/React) | ~22.700 Zeilen |
| API-Endpunkte | 123 |
| Datenbank-Migrationen | 40 |
| Commits (6.–11. Oktober) | 434 |
Alle Grafiken selbst gebaut
Noch etwas ist mir wichtig: Keine einzige Grafik ist gekauft oder von einem Bildgenerator. Jedes Schiff, jedes Gebäude, jeder Planet ist ein vollständiges 3D-Modell, in Blender gebaut und per Skript gerendert. Was du im Spiel als Bild siehst, ist nur die Ansicht eines echten Modells aus einer festen Kamera – dieselbe Mine ließe sich jederzeit aus einem anderen Winkel oder in Bewegung zeigen.
Rund 350 solcher Motive entstehen so aus einem einzigen Befehl, in mehreren Größen und sauber reproduzierbar. Das Spiel spricht sie nur über Namen an und weiß gar nicht, wie sie aussehen.
Woher der Name kommt
Die Sensorphalanx ist im Spiel ein Gebäude auf einem Mond, mit dem du fremde Flottenbewegungen ausspähst. Sie zu überlisten – die eigene Flotte an der Phalanx vorbeizuschleusen – ist hohe Kunst. Der Name Phalanxfall ist eine Verbeugung davor.
Fazit
Nach viel Arbeit, noch mehr Testen und etlichen Durchläufen, die erst krachend scheiterten, steht am Ende ein spielbares Universum: Seit dem 6. Oktober spielen eingeladene Tester, der sichtbare Versionsstand ist 0.59. Bots bevölkern die Welt, damit niemand allein in der Leere sitzt, und ein Feedback-Knopf sammelt Wünsche direkt aus dem Spiel.
Ehrlich bleibt zu sagen: Das Tempo kommt nicht ohne Preis. Die Kampf-Engine ist der Teil, dem ich am wenigsten über den Weg traue – sie stimmt in allen Tests, aber Kampfbalance zeigt sich erst, wenn hunderte echte Spieler sie ausreizen. Was fehlt, ist der Härtetest mit vielen Spielern gleichzeitig – der kommt als Nächstes.
Jetzt spielen
Phalanxfall läuft im Browser – kostenlos, ohne Shop, ohne Pay2Win.
Zuletzt aktualisiert am · erschienen am 12. Oktober 2026
Stimmt hier etwas nicht? Ein falscher Wert, Quelltext, der so nicht läuft, ein fehlender Schritt?
Danke — ist angekommen. Ich schau es mir an und bessere den Beitrag nach, wenn du recht hast.