Dennis Böhmer

🚧 Work in Progress 🚧

Aktuelle Spieleprojekte

An diesen Solo-Projekten arbeite ich derzeit. Drei davon spielen in Valthera, einem gemeinsamen Universum - die Katze Jaro taucht in mehreren davon auf. Die Repositories liegen auf einer privaten GitLab-Instanz, daher gibt es hier noch keine öffentlichen Downloads oder Builds.

Chillhearth

Ein 3D-Spiel, das einen Cozy-Tavernen-Simulator mit Open-World-Erkundung und einem Roguelite-Dungeon-Crawler verbindet. Man spielt Jaro, eine anthropomorphe Katze mit Frostmagie, die im Dorf eine Taverne führt: tagsüber Gäste bedienen und kochen, mit den Einnahmen Zutaten und Rezepte besorgen, Söldner für Raids anheuern und selbst in prozedural generierte Dungeons absteigen, um die seltensten Rezepte zu finden.


Umgesetzt mit Unity 6.5 und C# auf der URP. Inhalte wie Rezepte, Fähigkeiten, Gegner-Traits, Upgrades und Quests liegen als ScriptableObjects vor, damit neuer Content ohne Codeänderung dazukommt. Dazu kommen AI Navigation (NavMesh) für Gegner und NPCs, das neue Input System für belegbare Steuerung, Cinemachine für die Third-Person-Kamera und Unity Localization für die Mehrsprachigkeit.

Scarbound

Ein 3D-Horde-Roguelite im selben Universum wie Chillhearth. Neben einem Survival-Modus gibt es Expeditionen mit generierten Arealen, Bossen und einer Extraction-Mechanik. Der Kern ist der Loadout-Aufbau: Waffen (Armaments) haben Elemente und Statuseffekte und bilden untereinander Synergien und Anti-Synergien, dazu kommen Corruption und Scar Pressure als eigene Risiko-Belohnungs-Systeme.


Ebenfalls Unity 6.5, URP und C#. Das Projekt ist über Assembly Definitions in klar getrennte Module zerlegt (Core, Gameplay, Systems, Platform), sämtliche Inhalte - Waffen, Gegner, Wellen, Upgrade-Karten, Helden-Loadouts - sind datengetrieben als ScriptableObjects umgesetzt und über einen eigenen Editor-Workflow pflegbar. Automatisierte EditMode-Tests sichern die Balancing-Formeln ab, die Steam-Anbindung läuft über Steamworks.

Ninefold Idle

Ein 2D-Idle- bzw. Incremental-RPG: Man ist eine Katze mit neun Leben und verbraucht sie. Jedes Leben ist ein kompletter Fortschrittsdurchlauf, der mit einer Ascension endet und ein Echo hinterlässt - ein vergangenes Ich, das dauerhaft weiter eine Fähigkeit trainiert. Dazu kommen Berufe mit Meisterschaftsstufen und Delves in gefährlichere Regionen.


Unity 6.5 mit dem 2D-Renderer der URP, C# und UI Toolkit für die Oberfläche. Die entscheidende Designentscheidung: die komplette Simulationsschicht ist reines C# ohne jede Unity-Abhängigkeit, per Assembly Definition erzwungen. Dadurch lässt sich das Balancing in einem eigenen Harness ohne Editor durchrechnen, der Offline-Fortschritt entspricht exakt dem normalen Spielverlauf und Spielstände bleiben reproduzierbar. Abgesichert wird das über EditMode-Tests, die zusätzlich unter reinem .NET in der CI laufen.

Typeset

Ein Tipp- und Worträtselspiel. Man ist Schriftsetzer in einer Druckerei und setzt Text aus thematischen Setzkästen - Natur, Anatomie, Seefahrt, Küche, Astronomie, Juristendeutsch oder deutsche Komposita.



Unity 6 mit dem 2D-Renderer der URP und C#, die Oberfläche komplett mit UGUI und TextMeshPro. Die Eingabe läuft über das neue Input System, weil hier rohe Tastenanschläge ausgewertet werden müssen - inklusive korrekter Behandlung toter Tasten für Umlaute. Kästen, Werkzeuge, Ornamente und Plattenvorlagen sind ScriptableObjects, sodass ein neuer Kasten reine Kuratierungsarbeit statt Code ist.

Blightward

Ein First-Person-Zombie-Survival-RPG für Steam: Free-to-play mit dunklem Humor. Man kämpft sich Richtung Epizentrum der Seuche vor - je näher, desto härter und desto besser die Beute. Jeder Kill füttert den Fortschritt: Waffen mit Seltenheit und Meisterschafts-Tarnungen, Klassen und Perks, ein Safehouse und eine Stadt, die man mit Türmen und Fallen verteidigt. Dazu Fraktionen, Söldner und Kult, Tag und Nacht mit Blood Moon, Fahrzeuge, Missionen, Kopfgelder und Dungeons. Bezahlt wird nur über Steam Inventory: Kosmetik, Booster und Komfort, niemals exklusive Stärke.


Umgesetzt mit Unity 6, URP und C#, dazu Input System, Cinemachine, AI Navigation und Unity Localization. Alle Inhalte liegen datengetrieben als ScriptableObjects vor, sodass neue Waffen, Gegner, Missionen und Events ohne Codeänderung dazukommen. Architektur mit Assembly Definitions pro Modul, versionierte Spielstände mit Migration, Steamworks-Anbindung und ein kleines Java-Backend für Remote Config, News und Belohnungen. Der Code bleibt koop-fähig, auch wenn Koop erst nach Release kommt.


Status: Aktuell in Phase 4A: Early-Access-Fähigkeit.

Heartseed Keep (Arbeitstitel)

Ein 2D-Top-Down-Tower-Defense für Steam: Die Burg halten, Welle für Welle. Feste Wellenzahl pro Level, endlos nur im Survival-Modus. Türme platzieren, verbessern, verkaufen und weiterentwickeln, alles auch im Pause-Menü. Dazu Level-Up-Picks, Materialien und Modifikatoren, Erfolge und Bestenlisten. Stilisiert und gewaltfrei inszeniert, komplett offline spielbar; Steam-Funktionen koppeln sich bei Bedarf sauber ab.


Umgesetzt mit Unity 6.5, URP 2D und C#. Die Simulation läuft auf festem Takt, skaliert per Spielgeschwindigkeit (0x bis 3x); Gameplay-Code nutzt niemals DeltaTime direkt. Alle Inhalte liegen datengetrieben in Content-JSON und werden per Importer zu ScriptableObjects; Szenen baut ein SceneBuilder aus Code, UI ist UI Toolkit. Module mit eigenen Assembly Definitions, entkoppelt über einen EventBus, gepooltes Spawning, EditMode-Tests für Logik, Economy und Saves. Platzhalter zuerst: Das Spiel ist in jeder Phase mit generierten Sprites vollständig spielbar, echte Art kommt über klar definierte Pipelines dazu.


Design, Meilensteinplan und Docs (GDD, Technik, Content-Roster) stammen von mir, die Umsetzung läuft meilensteinweise über einen autonomen Agenten-Loop mit Tests und Abnahme pro Meilenstein.

Team-Projekte

Projekte, an denen ich als Teil eines Teams mitgearbeitet habe - hier also mit einer klar abgegrenzten Rolle statt der kompletten Umsetzung. Die meisten davon wurden im Laufe der Entwicklung eingestellt und nie fertiggestellt - einige haben es deshalb auch nie zu einem finalen Titel gebracht.

Village Idle

Ein Idle-Spiel, in dem ein Dorf nach und nach ausgebaut wird und auch dann weiterläuft, wenn man gerade nicht davorsitzt.


Meine Rolle: UI-Entwicklung. Ich habe die Oberflächen des Spiels gebaut und einen Großteil der Verdrahtung dahinter übernommen - also die Anbindung der UI an die darunterliegenden Spielsysteme, damit Werte, Zustände und Aktionen sauber zusammenspielen. Dazu kam viel Arbeit am Balancing.


Status: Eingestellt - die Entwicklung wurde nicht zu Ende geführt.

Koop-Puzzlespiel (ohne finalen Titel)

Ein kooperatives Puzzlespiel, bei dem die Rätsel auf das Zusammenspiel mehrerer Spieler ausgelegt sind.


Meine Rolle: Projektleitung. Ich war über das ganze Projekt hinweg eingebunden - von der Planung bis in die Umsetzung - mein inhaltlicher Schwerpunkt lag aber auf den 3D-Assets, die ich in Blender modelliert habe.


Status: Eingestellt - die Entwicklung wurde nicht zu Ende geführt.

Detective-Adventure (ohne finalen Titel)

Ein Krimi-Adventure: Ein Detektiv reist in ein abgelegenes amerikanisches Bergdorf, um den Tod eines Mädchens aufzuklären.


Meine Rolle: 3D-Assets und Welt. Ich habe den Großteil der 3D-Modelle in Blender erstellt und die Open-World-Map des Dorfes und der umliegenden Berglandschaft aufgebaut.


Status: Eingestellt - die Entwicklung wurde nicht zu Ende geführt.

3D-Physik-Puzzlespiel (ohne finalen Titel)

Ein 3D-Puzzlespiel, in dem aus Kisten gebaute Strukturen mit Kanonenkugeln zum Einsturz gebracht werden. Der Reiz liegt darin, nicht einfach draufzuhalten, sondern den richtigen Punkt zu treffen: Was danach passiert, überlässt das Spiel der Physik, und ein einzelner gut gesetzter Schuss bringt mehr als fünf schlechte.


Dafür sorgen unterschiedliche Bausteine und Geschosse. Kisten haben eigene Trefferpunkte und Punktwerte, manche sind unzerstörbar und müssen umbaut werden, andere darf man gar nicht erst treffen. Die Geschosse unterscheiden sich in Masse, Geschwindigkeit, Schaden und Explosionsradius - eine schwere Kugel schiebt eine Struktur um, ein explosives Geschoss räumt eine Ecke frei. Dazu kommen ein Kombo-System für Kettenreaktionen, in Kapitel gegliederte Level und Achievements.


Meine Rolle: Asset-Entwicklung. Ich habe die 3D-Assets des Spiels erstellt - die Bausteine, aus denen die Strukturen zusammengesetzt werden, samt der Teile, in die sie zerfallen.


Status: Eingestellt - die Entwicklung wurde nicht zu Ende geführt.

Weitere eigene Projekte

Projekte, die ich neben den oben genannten allein umgesetzt habe.

Medieval City Idler

Ein Aufbau-Idle-Spiel im mittelalterlichen Setting: Aus einer kleinen Siedlung wächst über Produktionsketten nach und nach eine Stadt. Der Holzfäller liefert an das Sägewerk, der Steinbruch an die Steinmetze, die Mine an die Schmiede - jedes Gebäude verarbeitet den Rohstoff der vorgelagerten Stufe, kostet Einwohner und produziert dann eigenständig weiter. Dazu kommen Rathaus, Häuser, Taverne und Zauberturm. Der Fortschritt läuft auch weiter, während das Spiel geschlossen ist.


Umgesetzt mit Unity und C#. Gebäude hängen an einer gemeinsamen Basisklasse mit exponentieller Upgrade-Kostenkurve, darüber liegen getrennte Manager für Ressourcen, Produktion und Speicherstände. Die Rohstoffe selbst sind ScriptableObjects mit Icon, Anzeigename und Obergrenze, sodass ein neuer Rohstoff ohne Codeänderung dazukommt. Für das Aufsetzen von Szene und Ressourcen habe ich mir eigene Editor-Tools gebaut.


Von dem Spiel existieren zwei Fassungen: die erste mit den Produktionsketten und dem Speichersystem, und eine zweite, in der ich die Architektur neu aufgesetzt und um Helden mit sammelbaren Trinkets, ein Prestige-System mit Shards sowie ausbaubaren Offline-Fortschritt erweitert habe.

Im Browser Spielbare Unity Games

Hier sind ein paar der Spiele, welche ich für den Browser spielbar gemacht habe.
Klicke auf den Button um das Spiel direkt im Browser spielen zu können.

Tilevania

Ein kompaktes 2D-Mikrospiel, das entwickelt wurde, um mit 2D-Entwicklungstechniken zu experimentieren und über einen WebGL-Build zu veröffentlichen.



Play

Star Blaster

Ein weiteres 2D-Mikrospiel zur Vertiefung von 2D-Workflows und WebGL-Veröffentlichung. Das Projekt zeigt Einschränkungen des Unity-WebGL-Players bei der Anpassung an unterschiedliche Bildschirmgrößen, wodurch mobil optimierte Layouts auf Breitbilddisplays nicht korrekt dargestellt werden.



Play