SambVerse - Die virtuelle Stadt (Patreon)
Content
Ich bin Chaos. Ich weiß das. Ich bin mir das absolut bewusst.
Ich habe eine Idee, ich setze mich dran, ich arbeite bis 6Uhr morgens an der Sache, bis ich zu müde werde und schlafen muss. Das ist ok. Das ist mein kreativer Prozess und das schon seit immer.
Sachen wie das Twitter-Tool sind so entstanden. "Ich will, dass Tweets im Stream eingeblendet werden und ich gehe erst schlafen, wenn ich irgendetwas brauchbares habe".
Früher, als es die GamingClerks Webseite noch gab, da war es noch extremer. Eigentlich.. "nur" diese Art von Projekten. Clerks-Taler. Eine Echtzeit Notification Box für die Webseite für Sachen die gerade passieren. Ein Jump'n'Run online Multiplayer Racer namens Jump'n'Race.. OH!... Gutes Thema!
Es ist also wieder passiert. Zum zweiten Mal für ein Projekt. Jetzt in nem Zustand, den ich zeigen kann, da man darauf ab jetzt wirklich aufbauen kann. ALSO:
Als Kind war ich fasziniert von der Idee von virtuellen Städten. Fun Online hatte so etwas und es kostete monatlich Geld. Ich wollte es immer ausprobieren aber meine Eltern erlaubten es nicht. Dann kamen die 3D Chats, alle powered by Java Applets. Ich liebte es!! Extrem geprägt hat mich die Webseite Fun City die es sogar HEUTE noch gibt!! Nicht mehr so wie damals, aber es war eine Web-basierte virtuelle Stadt, in der man eine Wohnung mieten konnte in virtuellen Straßen, mit eigener Hausnummer. Letztendlich war es ne Art.. Beepworld Seite + Gästebuch. Um die zu finanzieren musste man z.B. im Chat abhängig, dadurch blieb die Wohnung "hell".. Ansonsten gehen irgendwann halt die Lichter aus.
Und immer sagte ich mir: Ich will das. Doch mein Know-How war zu beschränkt. Jump'n'Race klappte zwar aber es war ohne autoritativen Server, bedeutet man konnte mega simple cheaten, da der Server nichts kontrollierte. Und selbst wenn man das löst kommt das Problem der Datenbank. Das Problem der Accounts. Das Problem von "es soll im Browser laufen". Ich bin froh sagen zu können, dass ich all diese Probleme gelöst habe.
Hier ist ein Bild des "Proof of Concepts". Eine Multiplayer Unity WebGL Anwendung im Browser, eingeloggt via YouTube Account.
Dies sind die Schritte:- Eine NodeJS Anwendung dient als Webserver.- Wenn man die Webseite öffnet kommt ein "Google Log-In" Dialog- Wenn man sich eingeloggt checkt NodeJS in einer MongoDB, ob der Spieler sich je eingeloggt hat. Wenn nicht, dann wird ein Eintrag erstellt. So oder so erstellt er einen temporären Login-Code, der wird dem Browser übergeben.- Der NodeJS Webserver speichert den Google Log-In als Cookie und zeigt nun das Unity WebGL an, statt des Log-Ins.- Wenn das WebGL geladen ist wird der Log-In Code, den wir erstellt haben, an das WebGL Spiel geschickt. Das Spiel versucht sich jetzt mit dem Spiele-Server zu verbinden.- Der Server checkt, ob ein Account diesen Log-In Code hinterlegt hat, wenn ja genehmigt er den Log-In.
Und der Rest ist Multiplayer Programmierung.
Ein wichtiger Faktor, damit das so funktioniert ist, dass der NodeJS Webserver und der Spiele-Server beide Zugriff auf die MongoDB haben müssen. Da die Webseite UND der Spiele-Server sie lesen und beschreiben können.
Das schöne ist: Ab jetzt kann man in jede Richtung gehen. Animal Crossing Style? Virtuelle Stadt als riesiger 3D Chat?Mein Plan ist es, das ganze mit zukünftigen Streams zu kombinieren. Daher hoffe ich schon sehr bald einen ersten öffentlichen Test zu machen. Mal gucken, was aus der ganzen Sache noch entsteht!