3.0 KiB
I love X Engine Architectuur
Deze engine is de basis voor alle games op de XCube (game kamer van 4x4 meter). Het doel is dat je direct kunt beginnen met het bouwen van levels en game-content, zonder telkens de basis opnieuw te schrijven.
Structuur
De engine bevat alle generieke modules en functionaliteit:
ilove-x-engine/
├── src/
│ ├── core/ # Engine modules (config-loader, asset-manager, game-loop, event-bus)
│ ├── modules/ # Standaard modules (intro, levels, finale)
│ └── index.js # Entry point
├── assets/default/ # Basisassets
├── configs/default.json # Standaardconfiguratie
├── docs/ # Documentatie
├── tests/ # Testen voor engine en modules
├── package.json
└── README.md
Werking
- Eén codebase: Alle varianten (I love Holland, I love AZ, etc.) gebruiken dezelfde engine.
- Configuratie-gedreven: Je kiest een variant door een configuratiebestand te selecteren.
- Modulair: Kernmodules zijn herbruikbaar en uitbreidbaar.
Gameprojecten
Een gameproject (zoals my-game/
) gebruikt de engine als basis en voegt eigen levels, assets en configuratie toe:
my-game/
├── src/
│ ├── main.js # Startpunt van de game, laadt de engine en jouw config
│ ├── modules/ # Eigen modules/levels/gameover
├── assets/ # Game-specifieke assets
├── configs/game.json # Jouw gameconfiguratie
└── package.json
Direct starten met levels
Je hoeft alleen een nieuwe gamefolder aan te maken, je eigen configuratie en assets toe te voegen, en je kunt direct beginnen met het bouwen van levels. De engine regelt alle basisfunctionaliteit.
Uitbreiden
Wil je nieuwe features? Voeg ze toe aan de engine (core/modules) en alle games kunnen ze gebruiken.
I love X Engine Architectuur (Basis voor XCube)
Deze engine is opgezet als een startpunt voor het ontwikkelen van games op de XCube (game kamer van 4x4 meter). Het doel is dat je direct kunt beginnen met het bouwen van levels en game-content, zonder telkens de basis opnieuw te schrijven.
Principes
- Eén codebase: Alle varianten (I love Holland, I love AZ, etc.) gebruiken dezelfde engine.
- Configuratie-gedreven: Je kiest een variant door een configuratiebestand te selecteren.
- Modulair: Kernmodules zijn herbruikbaar en uitbreidbaar.
Structuur
src/
core/ # Engine modules
configs/
holland.json # I love Holland
az.json # I love AZ
breda.json # I love Breda
assets/
holland/ # Specifieke assets
az/
breda/
Modules
- Asset Manager: Laadt media en data.
- Config Loader: Leest configuratie en stelt de game in.
- Event Bus: Verzorgt communicatie tussen modules.
- Game Loop: Stuurt de flow van de game.
Direct starten
Wil je een nieuwe game maken? Voeg een nieuwe config toe, plaats je assets, en begin direct met het bouwen van levels. De engine regelt de rest.