2.0 KiB
2.0 KiB
HomeGarden
First-Person-Farmspiel mit Voxelgrafik. Der Spieler besitzt einen eigenen Garten, kümmert sich täglich um Pflanzen, baut Blumenkästen/Gewächshäuser und verdient Geld über einen Marktplatz. Das Wachstum orientiert sich an der Realität, ist aber für ein Spiel beschleunigt (Stunden bis Tage). Das Spiel läuft über Timestamps im Hintergrund weiter — auch wenn es geschlossen ist.
Tech-Stack
- Java 21 (LTS)
- LWJGL 3.3.3 (OpenGL 3.3 Core + GLFW) — Grafik/Input-Layer
- Gradle (Wrapper, kein lokales Gradle nötig)
- Eigene Engine: Renderer, Voxel-Welt, Physik, Spielschleife selbst geschrieben
Build & Run
# JDK 21 vorausgesetzt (brew install openjdk@21)
./gradlew run # startet das Spiel (Fenster öffnet sich)
./gradlew build # kompiliert + erstellt Jar
Steuerung (Phase 1)
- W/A/S/D — Laufen
- Maus — Umsehen (Pointer ist gefangen)
- Leertaste — Springen
- Esc — Fenster schließen (beendet)
Projektstruktur
src/main/java/de/jfritzsche/homegarden/
Main.java # Einstiegspunkt
core/Game.java # Spielschleife + Rendering
core/Window.java # GLFW-Fenster + Input
gfx/Shader.java # Shader-Compile/Link
gfx/Mesh.java # VAO/VBO-Wrapper
gfx/Camera.java # First-Person-Kamera
math/Vec3.java # Vektor-Mathematik
math/Mat4.java # Matrix-Mathematik (perspective/lookAt)
world/Block.java # Blocktypen + Farben
world/VoxelWorld.java # Fixed-Grid-Welt + Mesh-Generierung
player/PlayerController.java # Bewegung + Gravitation + Kollision
Roadmap (Phasen)
- MVP-Engine (aktuell): Fenster, Loop, Voxel-Render, FP-Laufen + Kollision
- Interaktion: Blöcke platzieren/entfernen (Raycasting), Bausystem-Grundgerüst
- Pflanzen-Simulation: Wachstumsstufen, Wasser/Health, Offline-Timestamp-Berechnung
- Ökonomie: Marktplatz, Inventar, Werkzeug, Kaufen/Verkaufen, Geld
- Polish: HUD/UI, Audio, Speicherung, Menüs