Initial Brogether prototype
This commit is contained in:
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Brogether
|
||||
|
||||
Brogether ist ein experimentelles Brotato-Mod-Projekt mit dem Ziel, echten Online-Multiplayer fuer 2 Spieler vorzubereiten. Brotato selbst kann lokal im Coop gespielt werden und ueber Steam Remote Play geteilt werden; Brogether erforscht stattdessen eine native Steam-Lobby- und P2P-Basis.
|
||||
|
||||
Der aktuelle Stand ist bewusst ein technischer Prototyp. Es ist noch keine fertige Multiplayer-Mod, aber die wichtigsten Grundlagen sind vorbereitet: Mod-Laden, Steam-Lobby-Erstellung, Debug-Logging, lokale Pakettests und erste Hooks in den Brotato-Run.
|
||||
|
||||
## Was aktuell funktioniert
|
||||
|
||||
- Die Mod wird von Brotatos Godot Mod Loader geladen.
|
||||
- Steam wird ueber den im Spiel vorhandenen Steam-Singleton angesprochen.
|
||||
- Eine oeffentliche Dev-Steam-Lobby kann erstellt werden.
|
||||
- Basis-Pakete fuer Handshake, Ping und Pong sind implementiert.
|
||||
- Ein lokaler Loopback-Test simuliert Paketverkehr ohne zweiten Steam-Client.
|
||||
- Brotatos Run-Szene wird per Script-Extension beobachtet.
|
||||
- Run-Start, Spieler-Spawn und einfache Player-Snapshots werden geloggt bzw. fuer P2P-Versand vorbereitet.
|
||||
|
||||
## Was noch nicht fertig ist
|
||||
|
||||
- Ein echter zweiter Steam-Client wurde noch nicht getestet.
|
||||
- Remote-Spieler werden noch nicht voll spielbar synchronisiert.
|
||||
- Shop-, Item-, Gegner-, Wave- und RNG-Synchronisation fehlen noch.
|
||||
- Die Snapshot-Anwendung auf einen zweiten lokalen Player ist nur experimentell vorbereitet.
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```text
|
||||
src/mods-unpacked/Brogether-Brogether/
|
||||
manifest.json Mod-Metadaten fuer Godot Mod Loader
|
||||
mod_main.gd Steam-Lobby, P2P-Pakete, Debug-Overlay, Logging
|
||||
extensions/main_ext.gd Hook in Brotatos Run-Szene
|
||||
|
||||
scripts/
|
||||
package.ps1 Baut das Mod-ZIP
|
||||
install-local.ps1 Installiert das ZIP fuer lokale Brotato-Tests
|
||||
|
||||
docs/
|
||||
setup.md Setup- und Testnotizen
|
||||
brotato-multiplayer-modding-research.md
|
||||
```
|
||||
|
||||
Nicht eingecheckt werden `.tools/`, `recovered/` und `dist/`. Diese Ordner enthalten lokale Tools, recovered Brotato-Dateien und gebaute ZIPs.
|
||||
|
||||
## Lokaler Test
|
||||
|
||||
Brotato laedt in der Steam-Version nur abonnierte Workshop-Ordner. Das Install-Skript legt das gebaute Brogether-ZIP deshalb fuer lokale Tests neben eine bereits abonnierte Brotato-Workshop-Mod.
|
||||
|
||||
```powershell
|
||||
.\scripts\install-local.ps1
|
||||
```
|
||||
|
||||
Danach Brotato komplett neu starten.
|
||||
|
||||
## Debug-Tasten
|
||||
|
||||
```text
|
||||
F6 Steam-Lobby erstellen
|
||||
F7 Lobby suchen / joinen
|
||||
F9 Lobby verlassen
|
||||
F10 Ping senden
|
||||
F11 Lokalen Loopback-Test starten
|
||||
```
|
||||
|
||||
Brogether schreibt ein eigenes Log nach:
|
||||
|
||||
```text
|
||||
C:\Users\tommi\AppData\Roaming\Brotato\brogether.log
|
||||
```
|
||||
|
||||
## Naechster sinnvoller Test
|
||||
|
||||
Sobald ein zweiter Steam-Client verfuegbar ist:
|
||||
|
||||
1. Beide Clients mit derselben Brogether-Version starten.
|
||||
2. Host drueckt `F6`.
|
||||
3. Client drueckt `F7`.
|
||||
4. Mit `F10` Ping/Pong testen.
|
||||
5. Einen Run starten und pruefen, ob `run_started`, `players_spawned` und Snapshot-Pakete auf beiden Seiten im Log erscheinen.
|
||||
|
||||
Wenn das stabil laeuft, ist der naechste Entwicklungsschritt die echte Remote-Spielersteuerung auf Basis der Snapshot- und Input-Pakete.
|
||||
Reference in New Issue
Block a user