homegarden/README.md

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)

  1. MVP-Engine (aktuell): Fenster, Loop, Voxel-Render, FP-Laufen + Kollision
  2. Interaktion: Blöcke platzieren/entfernen (Raycasting), Bausystem-Grundgerüst
  3. Pflanzen-Simulation: Wachstumsstufen, Wasser/Health, Offline-Timestamp-Berechnung
  4. Ökonomie: Marktplatz, Inventar, Werkzeug, Kaufen/Verkaufen, Geld
  5. Polish: HUD/UI, Audio, Speicherung, Menüs