Skip to content
zurück zu den Projekten

case-study

Lawn Slide

Mow & Puzzle — ein natives iOS-Puzzle, im Alleingang gebaut

Solo – Produkt, Design & native iOS-EntwicklungApp Store

das Problem

Warum ich es gebaut habe

Flashcards, meine erste native App, hat mir vor allem eines gezeigt: Mit Unterstützung von KI kann ich allein ein echtes Softwareprodukt entwickeln und veröffentlichen. Trotzdem blieb eine Frage offen. Flashcards war bewusst klein gehalten, funktionierte ausschließlich lokal und basierte technisch noch auf einem eher wackligen Fundament aus der Zeit vor modernen KI-Entwicklungswerkzeugen.

Ich wollte herausfinden, was möglich ist, wenn ich all diese Begrenzungen aufhebe: ein vollwertiges Produkt mit echter Tiefe, von der ersten Codezeile an sauber aufgebaut, mit KI-gestützten Entwicklungsagenten bei der Umsetzung und mir selbst als Verantwortlichem für jede Produkt- und Architekturentscheidung.

Außerdem wollte ich ganz einfach ein Spiel entwickeln. Keine Anwendung mit spielerischen Elementen, sondern ein echtes Rätselspiel mit einer Grundregel, die selbst ein Kind nach einem einzigen Zug versteht: Du wischst über den Bildschirm, der Rasenmäher fährt geradlinig über das Spielfeld, bis ihn ein Hindernis oder der Rand stoppt, und mäht jedes Feld auf seinem Weg. Ziel ist es, die gesamte Rasenfläche zu mähen. Mehr braucht es nicht. Die eigentliche Tiefe entsteht durch alles, was dem Mäher in den Weg gestellt wird.

Gleichzeitig wollte ich eine These überprüfen. Flashcards hatte mich davon überzeugt, dass man mit den heutigen Werkzeugen kein hauptberuflicher Entwickler sein muss, um funktionierende Software zu veröffentlichen. Man muss technisch neugierig sein und sehr genau wissen, was man bauen möchte.

Mit Lawn Slide wollte ich herausfinden, ob das auch bei einem zehnmal größeren Umfang gilt: kein kleines Wochenendprojekt, sondern ein vollständiges Spiel mit drei Welten, Hunderten Leveln, einer eigenen Spielökonomie, In-App-Käufen, iCloud-Synchronisierung und einer automatisierten, rechnerisch überprüften Level-Erzeugung. Das gesamte technische und kommerzielle Fundament – entwickelt und verantwortet von einer einzigen Person.

Lawn-Slide-Startbildschirm: 3D-Logo, Garten-Diorama mit rotem Mäher, Karten „Level 23 weiterspielen“ und „Täglicher Garten“.
Der zentrale Ausgangspunkt – ohne Titelbildschirm.
Garten-Level „Stiller Teich“: Raster aus hohem Gras, gemähtem Rasen, Teich, Felsen und Büschen mit rotem Mäher; GEMÄHT 1/19, 14 Züge übrig, Drei-Sterne-Ziel ≤9.
Entscheidend ist die ganze Bahn, nicht der Schritt.
„So wird gespielt“-Blatt: Karten „Wischen statt tippen“, „Er fährt bis zum Hindernis“, „Jeder Wisch zählt“, „Manche Felder haben eigene Regeln“.
Das ganze Regelwerk auf wenigen Karten.

der Ansatz

Die Produktentscheidungen

Die Grundregel ist bewusst eindeutig. Ein Zug zählt erst dann, wenn der Mäher mindestens ein Feld überquert hat. Wer gegen einen Stein oder den Rand des Spielfelds wischt, verliert deshalb keinen Zug. Das ist eine Fehleinschätzung des Spielfelds, aber keine spielerische Entscheidung.

Da der Mäher nur am Rand oder vor einem Hindernis zum Stehen kommt, lässt er sich nicht Feld für Feld steuern. Stattdessen muss die gesamte Bahn im Voraus geplant werden. Wer ein Level mit der geringstmöglichen Anzahl an Zügen abschließt, erhält drei Sterne. Diese Zugzahl ist keine Schätzung, sondern wird durch einen Lösungsalgorithmus nachweislich als optimale Lösung ermittelt.

Jeder Feldtyp verändert die Bewegung auf seine eigene Weise. Wasser setzt den Mäher an den Ausgangspunkt des aktuellen Zuges zurück, während der bisherige Fortschritt erhalten bleibt. Ein Loch beendet den Versuch sofort. Schlamm stoppt den Mäher mitten auf seiner Bahn. Ein Busch blockiert den Weg, während ein Teleporter den Mäher an eine andere Stelle des Spielfelds versetzt.

Hinzu kommen bewegliche und miteinander verknüpfte Elemente: ein Schaf, das auf einer festen Strecke patrouilliert, ein Maulwurf, der aus seinem Hügel auftaucht, sowie Tore und die dazugehörigen Schalter.

Besonders stolz bin ich darauf, dass dieselbe Grundmechanik in drei völlig unterschiedlichen Welten funktioniert. Im Garten wird gemäht, in der Eiswelt Schnee geräumt und in der Wüste Sand gefegt. Jede Welt gestaltet sämtliche Felder neu, verwendet eigene Begriffe und ergänzt die Grundmechanik um besondere Elemente. In der Eiswelt kommen rutschiger Schnee und Eiskristalle hinzu, in der Wüste Treibsand und miteinander verbundene Portale.

Ein eigenes Feldlexikon erklärt alle Elemente nachvollziehbar: nach Welten geordnet, mit ihrer jeweiligen Wirkung und ihrem Verhalten. Felder, die noch nicht entdeckt wurden, bleiben zunächst gesperrt.

Die technische Entscheidung, auf die ich am stolzesten bin: Keines der Level wird von Hand entworfen. Alle 256 Spielfelder einer Welt werden automatisch erzeugt und anschließend von einem Lösungsalgorithmus auf Basis einer Breitensuche überprüft. Dieser verwendet exakt dieselbe Bewegungslogik wie das eigentliche Spiel.

Die Vorgabe für drei Sterne ist deshalb keine Schätzung, sondern entspricht nachweislich der optimalen Lösung. Kein Level wird übernommen, solange seine Lösbarkeit nicht eindeutig belegt ist. Gleichzeitig darf die Schwierigkeitskurve im weiteren Spielverlauf nicht wieder absinken.

Erst diese automatisierte Erzeugungs- und Prüfstrecke macht drei Welten mit jeweils 256 Leveln überhaupt möglich. Mehr als zweitausend Sterne lassen sich nicht sinnvoll von Hand austarieren. Sie lassen sich jedoch systematisch erzeugen, lösen und überprüfen.

Lawn Slide ist kostenlos spielbar, folgt dabei aber klaren Regeln, die ich mir selbst gesetzt habe. Benzin wird nur nach einer Niederlage verbraucht. Wer gewinnt, kann ohne zusätzliche Kosten weiterspielen.

Es gibt zwei Währungen: Münzen und Klee. Die Umtauschrichtung ist bewusst festgelegt. Klee als Premiumwährung kann zum Kauf von Münzen verwendet werden, Münzen lassen sich jedoch niemals in Klee umwandeln. Andernfalls würde die Premiumwährung ihren besonderen Wert verlieren.

Auch die Benutzeroberfläche folgt klaren Grundsätzen. Die Startseite ist der zentrale Ausgangspunkt der App. Ein roter Hinweis bedeutet immer dasselbe: Dort wartet etwas, das jetzt abgeholt oder mit dem vorhandenen Guthaben erworben werden kann.

Die Einstellungen liegen hinter dem Zahnrad, weil ein Bereich, den man vielleicht zweimal im Jahr öffnet, nicht ein Viertel der Hauptnavigation beanspruchen sollte. Sämtliche Preispakete sind auf einen Blick sichtbar, ohne dass horizontal oder vertikal gescrollt werden muss. Eine Preisliste, bei der die Hälfte der Angebote zunächst verborgen bleibt, erfüllt ihren Zweck nicht.

Die App verwendet keine Analysedienste, keine Nutzerverfolgung und keine eigenen Server. Sie verbindet sich ausschließlich mit dem App Store und iCloud.

Weltauswahl mit drei Karten: Garten, Eiswelt, Wüste, je mit Sternen und gemeisterten Leveln.
Drei Welten: Garten, Eis, Wüste – je 256 Level.
Eis-Level „Weißer Rutsch“: Schneekacheln, Eiskristalle, schneebedeckte Büsche und ein Eisteich mit rotem Mäher; GEKEHRT 6/22, 11 Züge übrig, Ziel ≤6.
Die Eiswelt – hier wird geräumt statt gemäht.
Wüsten-Level „Blasse Pforte“: Sandkacheln, trockenes Gestrüpp, zwei Teleporter-Portale und ein Fels mit rotem Mäher; GEFEGT 1/20, 13 Züge übrig, Ziel ≤8.
Die Wüste – hier wird gefegt statt gemäht.

was ich gebaut habe

Das Produkt

Lawn Slide ist eine native iOS-App für iOS 17 und neuer. Sie ist vollständig in Swift entwickelt. SwiftUI bildet die Benutzeroberfläche, SpriteKit die eigentliche Spielszene, SwiftData übernimmt die Speicherung, StoreKit 2 verarbeitet die Käufe und CloudKit sorgt für die Synchronisierung. Fremdabhängigkeiten gibt es keine.

Die Architektur ist strikt in vier Schichten unterteilt. Die gesamte Bewegungslogik liegt in einer einzigen Funktion. Das Spiel animiert die Ereignisse, die diese Funktion zurückgibt, während der Lösungsalgorithmus dieselbe Funktion für seine Berechnungen verwendet. Dadurch können Spielablauf, Animation und Schwierigkeitsbewertung nicht voneinander abweichen.

Zum Umfang gehören drei Welten mit jeweils 256 Leveln. Neue Abschnitte werden über gesammelte Sterne freigeschaltet. Hinzu kommen ein täglich neu erzeugter Garten, der für alle identisch ist und ohne eigenen Server auskommt, ein Benzinsystem, tägliche und wöchentliche Aufgaben, ein Anmeldekalender mit einer wöchentlichen Belohnungskiste, acht Abzeichen und eine fortlaufende Tages-Serie.

Die Sternebewertung richtet sich nach der optimalen Zugzahl des Lösungsalgorithmus. Außerdem gibt es sechs freischaltbare Mäher-Modelle sowie einen Laden mit zwei Währungen und In-App-Käufen.

Über iCloud werden Fortschritt, Guthaben, freigeschaltete Mäher, Aufgaben und bereits bezahlte Inhalte auf alle Geräte übertragen, die mit demselben Apple-Account verbunden sind. Selbst nach dem Löschen und erneuten Installieren der App lässt sich der vollständige Spielstand wiederherstellen.

Reiter „Täglich“ mit Belohnungskalender und vier Aufgaben mit Münz- und Klee-Belohnungen.
Tägliche Aufgaben und ein Anmeldekalender.
Reiter „Wöchentlich“: Fortschritt zur Kiste mit 500 Münzen und 25 Klee, drei Wochenaufgaben.
Wochenaufgaben führen zur Belohnungskiste.
Shop, Reiter „Münzen“: sechs Münzpakete von 0,99 € bis 39,99 € mit Bonus-Prozenten und „Popular“/„Biggest saving“.
Alle Münzpakete auf einen Blick – ohne Scrollen.

Drei technische Bereiche würde ich anderen Entwicklerinnen und Entwicklern besonders zeigen.

Die StoreKit-Schicht sorgt dafür, dass jeder Kauf genau einmal verbucht wird – selbst wenn die App während des Vorgangs beendet wird. Die Transaktionskennung wird dauerhaft in der Datenbank gespeichert, und finish() wird grundsätzlich erst als letzter Schritt aufgerufen.

Der CloudKit-Abgleich kann zwei Spielstände wieder zusammenführen, die auf zwei Geräten unabhängig voneinander im Offlinebetrieb entstanden sind. Dabei darf kein Fortschritt und keine einzige Münze verloren gehen.

Hinzu kommen mehr als zweihundert automatisierte Tests. Sie ermöglichen es mir, einzelne Bereiche umzubauen, ohne bei jeder Änderung mögliche Folgeschäden befürchten zu müssen. Die optimale Zugzahl wird anhand vollständiger Zugfolgen überprüft. Käufe werden über simulierte Neustarts auf ihre genau einmalige Verbuchung getestet. Auch die Zusammenführung der Cloud-Daten wird gezielt darauf geprüft, dass keine Werte verloren gehen.

Zur Entstehung des Spiels gehört außerdem eine ehrliche Einordnung. Flashcards entstand noch vor modernen KI-Entwicklungsagenten und wurde von mir mit Unterstützung von ChatGPT weitgehend von Hand zusammengesetzt. Lawn Slide dagegen habe ich gemeinsam mit KI-gestützten Entwicklungsagenten umgesetzt.

Ich habe die Architektur entworfen, sämtliche Produktentscheidungen getroffen und verfügte über genügend Swift-Kenntnisse, um die Umsetzung eng zu führen und kritisch zu prüfen. Gleichzeitig wäre dieser Umfang in dieser Qualität ohne die Unterstützung der Agenten nicht möglich gewesen.

Das Bemerkenswerte daran: Dieses Mal ist gerade der Code der stabile Teil. Die Architektur besteht aus sauber getrennten Schichten, es gibt keine Fremdabhängigkeiten, und das gesamte Projekt wird seit dem ersten Tag mit Git versioniert. Damit ist Lawn Slide technisch das genaue Gegenteil meiner ersten App.

Shop, Reiter „Klee“: sechs Klee-Pakete von 0,99 € bis 39,99 €, Starter-Paket als „Owned“ markiert.
Klee, die Premiumwährung – Starterpaket nur einmal.
Mäher-Auswahl mit sechs Skins: Standard (in Benutzung), Blau, Lila, Gelb, Frost, Wüste.
Sechs Mäher zur Auswahl, einer für jede Umgebung.
Kachel-Glossar mit Garten-Kacheln: hohes Gras, gemäht, Fels, Busch, Teich, Teleporter, Schlamm, Loch, Schaf, Maulwurfshügel, Maulwurf, Tor, Schalter; einige gesperrt.
Das Feldlexikon, nach Welten geordnet.

das Ergebnis

Veröffentlicht – und was ich daraus gelernt habe

Lawn Slide ist im App Store erschienen und hat damit genau den letzten Schritt geschafft, den Flashcards nie erreicht hat.

Flashcards scheiterte letztlich an den technischen und organisatorischen Hürden der Veröffentlichung. Die kostenlose Signierung lief nach sieben Tagen ab, sodass die App immer wieder neu installiert werden musste. In den App Store gelangte sie nie.

Lawn Slide hat dagegen den vollständigen Veröffentlichungsprozess durchlaufen: den kostenpflichtigen Entwickleraccount, die Einrichtung der In-App-Käufe, den Store-Eintrag mit sämtlichen Screenshots und alle formalen Anforderungen, die zu einer echten Veröffentlichung gehören. Drei Welten sind bereits verfügbar, weitere befinden sich in Arbeit.

Ebenso bewusst habe ich entschieden, welche Funktionen noch nicht eingebaut werden. Game Center und ein Widget für den Home-Bildschirm folgen mit späteren Aktualisierungen, statt bereits jetzt nur als unfertige Platzhalter aufzutauchen. Eine halb umgesetzte Funktion hilft niemandem.

Die wichtigste Erkenntnis begann mit Flashcards und wurde durch Lawn Slide bestätigt. Flashcards hat mir gezeigt, dass ich allein eine native App entwickeln kann. Lawn Slide hat bewiesen, dass dies auch in einem deutlich größeren Maßstab möglich ist.

Ein technisch neugieriger Produktmensch, der sehr genau weiß, was er erreichen möchte, kann tatsächlich komplexe Software entwickeln: eine rechnerisch überprüfte Spielmechanik, ein belastbares System für Käufe und Synchronisierung sowie eine deterministische Erzeugungs- und Prüfstrecke, die Hunderte Level und mehr als zweitausend Sterne erzeugt und überprüft.

Die eigentliche Herausforderung war nie das Schreiben des Codes. Sie bestand darin, genau zu wissen, wie sich der Mäher verhalten soll, wenn er ins Wasser fährt – und diese Entscheidung anschließend in jedem Teil des Produkts konsequent durchzuhalten.

Das Spiel ist veröffentlicht – und die nächste Welt entsteht bereits.

Lawn Slide ist live im App Store.

Im App Store laden