Wenn Dinge aus Frust entstehen (Patreon)
Content
Ok, ich war also dabei das SambVerse endlich auf einen Standalone Clienten umzustellen. Habe die HD Render Pipeline von Unity eingebaut, Servercode angepasst und sehr viel geändert, aber da das ganze von TCP zu UDP gewechselt ist gibt es Probleme. Bei TCP werden alle Netzwerk-Pakete brav in einer Reihenfolge abgearbeitet, das dauert länger. Bei UDP wird einfach jedes Paket abgefeuert und wenn eines zu spät kommt dann ist das halt so, das ist schneller, man muss aber seinen Code darauf auslegen. Bedeutet das Inventar kommt zu spät an beim Joinen, die Infos der Wohnung kommen zu spät an, nach dem sie spawnt etc. Es war an dem Punkt wo ich mir dachte "das alles neu schreiben geht schneller, als auf Fehlersuche zu gehen.
Ich verwende Mirror als Multiplayer Schnittstelle und wo ich am Anfang noch mega irritiert war wie man gewisse Sachen umsetzt kapiere ich das "Konzept" heute sehr viel besser, eben dank dem SambVerse. Und dann dachte ich mir "komm, teste dein Wissen. Mach Bumper Balls aus Mario Party!!" Alle die Mario Party 1 oder 2 gespielt haben sollten dieses Minispiel kennen:
Und nach 3 Stunden hatte ich einen Prototypen, den ich online ausprobieren konnte... Und es machte Spaß. HM!
Nicht nur das, es ist komplett Server basierend, bedeutet cheaten ist komplett unmöglich, da alles auf dem Server berechnet wird. Glücklicherweise ist der leichte Input-Delay nicht störend, da die Bälle ja absichtlich etwas schwammig sind.
Ich bin aktuell dabei eine öffentliche Version zu machen, das bedeutet vor allem: Match Making programmieren. BlobCat nutzte damals Photon als Schnittstelle und war Cloud basierend. Ein Spieler war der Host, dennoch wurde alles über einen Server geschleust. Vorteil ist, dass so was wie Räume etc. automatisch gehandhabt wurden, Nachteil ist, dass der Host-Spieler theoretisch cheaten könnte. Mirror hat keine direkte Unterstützung für Räume, daher muss man dies selbst einbauen. Glücklicherweise klappt alles bereits, wenn auch sehr stark mit Debug Zeug. Daher: Alles etwas hübscher machen, Basics einbauen wie einen Namen, den man eingeben kann und vielleicht ein Rundenende mit Gewinner-Anzeige und wir werden es mal öffentlich testen.
Das System ist bisher so beeindruckend stabil, dass ich mir gut verschiedene Modi vorstellen kann, von Fußball bis Battle Royale wäre da alles ohne Probleme möglich! Aber ja, machen wir zwischen den Jahren mal via Livestream einen Stresstest und schauen uns das genauer an. Gutes Zeichen ist, wie gesagt, dass es einfach schon Spaß macht, selbst in einer verbuggten Version, ohne viel Spiele-Logik!