Wie Amateur-Softwareentwickler professionell scheitern
Zwei Spieleprojekte, zweimal derselbe Fehler. Unsere Software war nicht zu schwach für ihr Problem, sondern zu stark für unser Team.

September 2024: Die Schule langweilte mich, und der Misserfolg unseres letzten Minecraft-Netzwerks „Uroria“ frustrierte mich noch immer. Trotzdem wollte ich es noch einmal versuchen und die Fehler von damals diesmal nicht wiederholen. Das war der Anfang von o7studios.
Vorgeschichte
Bevor ich Raphael kennenlernte, meinen wichtigsten Mitstreiter, entwickelte ich auf eigene Faust einen Minecraft-Server für einen kleineren Twitch-Streamer. Es war Anfang 2021, und der Corona-Lockdown ließ reichlich Zeit. Die Idee war einfach: Streamer wollen live mit ihren Zuschauern in einer Welt spielen, meist in kurzen Spielen, die selten länger als eine halbe Stunde dauern.
Mit Java war ich damals noch nicht sehr vertraut und auf fertige Lösungen angewiesen, die meinen Ansprüchen nicht genügten. Außerdem war ich der Einzige, der wirklich mitarbeitete. In manchen Bereichen kam ich allein nicht weiter, vor allem beim Kartendesign.
Uroria
Im März 2021 lernte ich Raphael kennen. Er arbeitete damals an einem MMORPG namens „Uroria“. Er und sein Team überzeugten mich schnell: Sie waren das erste Netzwerk, das in der Minecraft Java Edition konsequent Resource-Packs nutzte. Die meisten Serverbetreiber hielten das damals für Unfug, aber die Möglichkeiten, die Resource-Packs dem Spieldesign eröffnen, konnte man nicht einfach liegen lassen.
Umgekehrt überzeugte Raphael meine Idee, ein kleines Netzwerk für Live-Events mit Twitch-Streamern zu bauen. Wenige Monate später lief das erste Event: 80 Spieler gleichzeitig im PvP, für den Gewinner gab es einen Preis. Danach war auch der Rest des Teams überzeugt. Uroria wurde zum Event-Netzwerk, das MMORPG rückte in den Hintergrund.
Das Team hätte kaum besser besetzt sein können. Raphael und Felix waren erfahrene Kartendesigner, Raphael versuchte sich außerdem am ersten Spielmodus „Ghosthouse“. Gebuildet war der Experte für Resource-Packs, RUBABLADADUDI machte das Grafikdesign, Jan entwickelte weitere Spielmodi, Nico baute die Website, und ich übernahm Lobby und Infrastruktur. Wer lieber nicht mit Klarnamen auftaucht, steht hier unter seinem Pseudonym. Natürlich gab es hin und wieder Streit, die Hälfte von uns war noch minderjährig.
Kurz vor Weihnachten 2022 ging Uroria nach einem Trailer online. Mit einer Handvoll befreundeter Streamer kamen wir auf rund 100 gleichzeitige Spieler. DDoS-Angriffe störten uns, und ich wusste damals noch nicht, wie man sie abwehrt. Trotzdem war die Resonanz bei Streamern, Spielern und Zuschauern groß.
Vom Konzept waren wir überzeugt, von der Umsetzung nicht. Ich schlug vor, das Netzwerk komplett offline zu nehmen und zu überarbeiten. Die anderen stimmten zu. Ein fataler Fehler.
Stillstand
Unsere Software war der Komplexität der Laufzeitumgebung und unserer Konzepte nicht gewachsen. Inzwischen hatten wir Verstärkung bekommen, die eine eigene Cloud-Software baute: Sie sollte die einzelnen Minecraft-Server verwalten, denn ein großes Netzwerk muss automatisch horizontal skalieren. Die Idee war richtig, die Umsetzung unnötig komplex: mehrere Systeme in Rust, eigene UDP-Protokolle, Anbindung an die API der Hetzner Cloud. Nur eine Person konnte wirklich daran arbeiten, und die war durch ihr Informatikstudium ständig verhindert.
Ich hatte derweil genug Zeit, das gesamte Backend innerhalb von sechs Monaten mehr als dreimal neu zu schreiben, jedes Mal anders. Erst mit Apache Pulsar, dann schien Apache Kafka besser geeignet, am Ende hielt ich RabbitMQ für die einzig brauchbare Lösung. Die anderen wussten es auch nicht besser, keiner von uns hatte mit solchen Systemen je gearbeitet.
Ich suchte nach Entwicklern aus anderen Netzwerken, die vor ähnlichen Problemen standen und sich vielleicht von unseren Ideen überzeugen ließen. So stieß ich auf Nextfight, ein beeindruckendes Battle Royale mit leerem Server, und traf zum ersten Mal Maxim, der es allein betrieb.
Bei Uroria ging es trotzdem kaum voran. Nach etwa einem Jahr, Ende 2023, hatten wir alle die Motivation verloren. Einer nach dem anderen stieg aus, und Uroria wurde begraben. Einige wechselten zu Nextfight. Ich hielt mich von Minecraft erst einmal fern und widmete mich anderen Projekten.
Neue Pläne
Im September 2024 saß ich abends mit Raphael im Discord, und wir sprachen über die Szene, in der wir uns seit Jahren bewegten. Ernstzunehmende Konkurrenz für unsere Konzepte gab es noch immer nicht. Die meisten scheiterten an ähnlichen Problemen wie wir damals oder waren schlicht zu unkreativ. Auch bei Nextfight sahen wir große Probleme in der Infrastruktur, und die Nachfrage nach dem, was wir uns längst ausgedacht hatten, wurde immer größer.
Also beschlossen Raphael und ich kurzerhand, ein Entwicklerstudio zu gründen. Es war, für meine Verhältnisse, spät am Abend, als mir der Name einfiel: „o7studios“. „o7“ war ein beliebtes Emote unter Twitch-Streamern und steht für einen Salut. Wir fanden das beide lustig. Wenige Tage später war das Logo gezeichnet, und die Entwicklung begann.
Schon wieder Over-Engineering
Diesmal hatten wir Erfahrung, und jeder kannte sich auf seinem Gebiet aus. Ich beherrschte inzwischen Kubernetes, das eine eigene Cloud überflüssig machte. Aber Kubernetes ist nur ein Beispiel für viele Systeme, mit denen wir uns enorm viel Komplexität in die eigene Verantwortung holten. Wir hofften, mit einer deklarativen Infrastruktur die Komplexität künftiger Laufzeitumgebungen und Konzepte schon im Voraus zu beherrschen.
Die Ergebnisse waren vielversprechend. Nur bauten wir vorausschauend für künftige Projekte und nicht an dem, was tatsächlich mit dem Spiel zu tun hatte. Und wieder konnten nur wir Entwickler mit unserer eigenen Plattform umgehen. Wir hatten denselben Fehler wiederholt.
Überforderung
Gegen Ende 2025 wurde der Druck riesig. Wir hatten die Heldeninsel als Projekt übernommen, die zuvor an ähnlichen Problemen gescheitert war. Viele von uns arbeiteten, wie ich, nebenbei hauptberuflich. Der Quellcode war inzwischen so komplex geworden, dass nur noch ich wirklich daran arbeiten konnte, weil den anderen die Zeit fehlte, sich einzuarbeiten.
Am 23. Dezember 2025 wurde es mir zu viel. Mein Körper hatte schon länger Warnsignale gesendet, die ich ignoriert hatte. Ich stieg aus, von einem Tag auf den anderen.
Gebuildet, Maxim und Raphael machten niedergeschlagen weiter und gaben zum Glück einige komplexe Systeme auf, die sie sich ohnehin nicht zutrauten zu warten. Im Hochsommer 2026 ging die Heldeninsel nach gewaltigen Rückschlägen und einer massiven Überarbeitung durch Raphael, Gebuildet, Maxim und allen anderen Beteiligten erfolgreich online. Vor dieser Leistung habe ich großen Respekt.
Ashbys Gesetz
Over-Engineering ist in der Softwareentwicklung extrem verbreitet. Man versucht, eine Software schon heute auf jede Situation vorzubereiten, die morgen eintreten könnte. Das klingt vernünftig und hat sogar eine kybernetische Begründung: Nach Ashbys Gesetz der erforderlichen Varietät kann ein System nur so viele Störungen ausgleichen, wie es selbst unterschiedliche Zustände annehmen kann. Wer die komplexen Probleme von morgen lösen will, braucht dafür komplexere Software.
Was dabei vergessen wird: Ashbys Gesetz gilt zweimal. Die Software muss ihrem Problem gewachsen sein. Aber das Team muss auch seiner Software gewachsen sein. Jede Komplexität, die wir für die Probleme von morgen einbauen, müssen wir heute schon verstehen, warten und steuern können. Und die Probleme von morgen treten oft nie ein.

Genau das ist uns zweimal passiert. Bei Uroria konnte nur eine Person die Cloud bauen, bei o7studios nur ich den Quellcode. Die Software war nicht zu schwach für ihr Problem, sie war zu stark für ihr Team.
Daraus können wir Softwarearchitekten und -entwickler lernen: Ein Softwaresystem sollte nur so komplex sein, wie das Problem es verlangt, das es heute lösen soll, und nur so komplex, wie das Team, das es betreut, heute beherrschen kann.