Files
ProjectCapture/docs/IMPLEMENTATION_PLAN.md

56 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ProjectCapture – Implementierungsplan
## Ziel
ProjectCapture ist eine öffentlich vorbereitete, quelloffene und nicht kommerzielle Pokémon-Fanmod für Hytale. Das Projekt wird als eigenständiges Repository unter `~/HytaleMods/ProjectCapture` entwickelt und berührt weder bestehende Projekte noch Hytales Launcher-, Spiel- oder Live-Weltdaten. Es ist ein inoffizielles Fanprojekt und wird von keinem der jeweiligen Rechteinhaber unterstützt oder bestätigt.
Die technische Basis ist Hytale Stable 0.5.9, Java 25 und Gradle 9.6.1. Das Java-Plugin ist serverautoritativ und liefert ein eingebettetes Asset-Pack aus. Die erste spielbare Content-Scheibe enthält Bulbasaur, Ivysaur, Venusaur, Charmander, Charmeleon, Charizard, Squirtle, Wartortle, Blastoise, Pikachu, Raichu und Ditto. Ein späterer Ausbau umfasst #001–#150; Mew ist nicht Teil dieses Ziels.
## Architektur
- `engine`: Hytale-unabhängige Fang-, Kampf-, Level-, Evolutions-, Zucht-, Genetik-, Handels- und Duelllogik.
- `hytale-adapter`: Plugin-Lifecycle, Events, ECS, NPCs, Persistenz, UI, Kamera und Weltintegration.
- `content-pokemon`: Spezies-, Attacken-, Spawn-, Rezept- und Asset-Daten für den inoffiziellen Fancontent.
- `content-tools`: Schema-, Content-, Asset- und Veröffentlichungsvalidatoren.
Die offizielle Abhängigkeit `com.hypixel.hytale:Server:0.5.9` wird exakt gepinnt. Server-JARs, `Assets.zip`, extrahierte Hytale-Basisassets und Geheimnisse werden nie eingecheckt. Hytale-API-Aufrufe bleiben im Adapter, damit spätere API-Versionen austauschbar sind.
Versionierte, stabile IDs werden für `SpeciesDefinition`, `MoveDefinition`, `CreatureInstance`, `Genome`, `HabitatState`, `TradeTransaction` und `DuelSession` verwendet. Persistierte Daten tragen eine `schemaVersion` und erhalten explizite Migrationen.
## Gameplay
- Wildspawns nach Biom, Tageszeit und Seltenheit.
- Kein Starter; die erste Freischaltung ist ein Rezept für craftbare Fanggeräte.
- Level 1–100, Erfahrung, Evolutionen und serverseitig persistierte Instanzen.
- Sechser-Party, erweiterbare Lagerung und genau ein sichtbarer Begleiter.
- Offene Co-op-Kämpfe: Spieler und Kreatur kämpfen gemeinsam; automatischer Basisangriff plus drei befehligte Fähigkeiten.
- Baubares Zuchthabitat; Fortschritt nur während aktiver Serverzeit; Abstammung und schrittweise Genanalyse.
- Modulare Hybriden mit bis zu vier aktiven Spezieslinien und stabilen Modell-Sockets.
- Atomarer Handel von Kreaturen, Eiern und Items.
- Freiwillige Duelle mit natürlichen Leveln, deaktivierten Spielerwaffen und begrenzter Kampfzone.
## Asset-Pipeline
Blockbench 5.0.7 wird mit dem offiziellen Hytale-Models-Plugin 0.9.1 verwendet. Als Automatisierungsbasis dient ein gepinnter, gehärteter Fork von `jasonjgardner/blockbench-mcp-plugin` v1.6.1. Der Server bindet nur an `127.0.0.1`, verlangt ein lokales Token, beschränkt Schreibpfade auf dieses Projekt und bietet weder `risky_eval` noch Klicksimulation, beliebige UI-Actions oder fremde URL-Importe an.
Der Fork ergänzt sichere Werkzeuge für Hytale-Projekterstellung, Quads, Attachments, PNG- und `.bbmodel`-Speicherung, `.blockymodel`/`.blockyanim`-Export und offizielle Validierung. Ein neutrales Testwesen muss vor der Content-Produktion den vollständigen Roundtrip bestehen. Danach werden pro Kreatur Asset-Rezept, `.bbmodel`, PNG, `.blockymodel`, `.blockyanim`, Vorschauen und Validierungsbericht gespeichert. ImageGen dient ausschließlich eigenen Konzepten, UI- und Texturvorlagen; Sounds werden original/prozedural erzeugt.
## Umsetzungsgates
1. **Werkzeug-Gate:** Loopback, Authentifizierung, Werkzeug-Allowlist und Pfadschutz sind nachgewiesen.
2. **Asset-Gate:** Das neutrale Testwesen wird deterministisch erzeugt, exportiert, erneut importiert und unverändert validiert.
3. **Foundation-Gate:** Plugin und eingebettetes Asset-Pack laden auf 0.5.9; Persistenz übersteht Neustarts.
4. **Vertical-Slice-Gate:** Spawn, Fang, Begleiter, Level, Kampf, Evolution und Wiederherstellung funktionieren für eine Kreatur.
5. **System-Gate:** Zucht, Gene, Hybriden, Handel und PvP bestehen Abbruch-, Konkurrenz- und Neustarttests.
6. **Content-Gate:** Alle zwölf Spezies bestehen Schema-, Asset-, Spawn-, Animations- und In-game-Tests.
7. **Ausbau-Gate:** Erst danach erfolgt der Ausbau auf #001–#150.
8. **Release-Gate:** Vor jedem öffentlichen Paket werden Hytale-Richtlinien, Dritt-IP-Hinweise, enthaltene Dateien, Lizenzen und nichtkommerzieller Status erneut manuell und technisch geprüft.
## Verbindliche Grenzen
- Öffentliches, quelloffenes und nicht kommerzielles, inoffizielles Fanprojekt.
- Keine Dekompilierung und keine Übernahme fremder Mod-, Hytale- oder Pokémon-Assets.
- Die Existenz anderer Fanprojekte ist keine Rechtefreigabe; jeder Release benötigt einen eigenen Richtlinien- und Rechtecheck.
- Keine Monetarisierung und keine Behauptung einer Zugehörigkeit zu Pokémon, Nintendo, TPC, Game Freak, Creatures, Hypixel Studios oder Hytale.
- Laufzeittests erfordern eine getrennte lokale Hytale-0.5.9-Entwicklungsumgebung und überschreiben keine Live-Daten.