Text-based Game in PHP
PHP
Omschrijving
Dungeon Crawler is een text-based spel gebouwd met PHP, waarbij spelers door een dungeon navigeren, monsters verslaan en schatten verzamelen. Het project is ontworpen met een focus op clean code, testbaarheid en een solide softwarearchitectuur.
Doel
Het doel was om spelontwikkeling te combineren met best practices in software engineering, zoals Domain-Driven Design (DDD), CI/CD en testautomatisering.
Technische highlights
- Gebouwd met PHP 8.4 in combinatie met Composer en een aangepaste CLI-interface.
- Duidelijke architectuur met lagen voor Domain, Application, Infrastructure en Presentation.
- CI/CD pipeline via GitHub Actions: voert automatisch tests uit, controleert codekwaliteit en scant op kwetsbaarheden.
- Volledige testdekking met PHPUnit (unit, integration & feature tests).
- Codekwaliteit geborgd met PHPStan (niveau 8), PHP CS Fixer en PSR-12-standaarden.
- Command Pattern voor gebruikersinteractie via de CLI.
- State Pattern voor game progressie en flow.
- Save/Load-functionaliteit met bestandsopslag.
Gebruikstechnologieën
PHP, Composer, GitHub Actions, PHPStan, PHPUnit, PSR-12, CLI-applicatieontwikkeling
Leerpunten
- Werken met Domain-Driven Design in een game-context.
- Inrichten van een CI/CD-pipeline vanaf nul.
- Structureren van een applicatie voor maximale testbaarheid en onderhoudbaarheid.
- Gebruik van design patterns om game-logica schaalbaar en uitbreidbaar te maken.
Resultaat
Een modulair, goed geteste PHP CLI-game met uitbreidingsmogelijkheden voor o.a. random dungeon generation, extra vijanden en karakterklassen.