Minecraft-ähnliches Voxel-Spiel mit Three.js und TypeScript. Die erste Welt ist das alte Ägypten; die Architektur erlaubt weitere Welten, Items und Blöcke.
npm install
npm run devIns Fenster klicken, um zu spielen.
| Aktion | Taste |
|---|---|
| Bewegen | W A S D |
| Springen / Auftauchen | Leertaste |
| Sprinten | Shift |
| Umschauen | Maus |
| Abbauen | Linksklick halten |
| Platzieren / Essen | Rechtsklick |
| Essen (Hotbar) | Q |
| Inventar & Crafting | E |
| Mumie angreifen | F |
| Hotbar | 1–9 oder Mausrad |
- Prozedurale Wüste, Nil, Höhlen, Golderz
- Landmarken: Pyramiden, Sphinx, Obelisken, Tempel, Oase
- Tag/Nacht-Zyklus mit Sonnenlauf
- Platzierbare Fackeln mit echtem Licht
- Schwimmen im Nil, Fallschaden, Hunger, Ertrinken
- Inventar, Crafting-Rezepte, Nahrung (Datteln, Fladenbrot)
- Mumien an Gräbern, Kompass zur Pyramide
- Block-Highlight und Abbau-Partikel
src/world/WorldDefinition.ts— Vertrag für Weltensrc/world/WorldRegistry.ts— Registrierung nach IDsrc/world/worlds/egypt/— Ägypten-Weltsrc/blocks//src/items/— Blöcke, Items, Craftingsrc/entities/— Kreaturen (Mumien)src/core/Game.ts— Game-Loop; neue Welten inregisterWorldsOnce()eintragen
- Ordner
src/world/worlds/<name>/anlegen WorldDefinitionimplementieren (inkl.setupAtmosphere→ Lichter)- In
Game.ts→registerWorld(create…World)registrieren
- Single Source of Truth: Keys in
egyptKeys.ts, Konstanten inshared/constants.ts, Rezepte inCrafting.ts - Interfaces + Generics:
IRegistry<TKey,TValue>,IFactoryRegistry,IItemStock,IVoxelReader,IBlockCatalog - Testbare Kernlogik: reine Funktionen (
dayPhase,combat) und DI (Inventar mitIItemCatalog)
npm run dev— Entwicklungsservernpm run build— Produktions-Buildnpm run preview— Build lokal ansehennpm test— Unit-Tests (Vitest)