Beiträge von Socke

    Das ist bei den Grundsätzlichen Sachen wie Bewegungen recht einfach bei UE4. Vielleicht findest du es deswegen nicht. Wenn du ein 3D Objekt erstellst und es ins Level einfügst machst du in den Eigenschaften ein Häkchen bei Replicated. Wenn jetzt einer das Object bewegt wird es automatisch an den Server übertragen und der Server überträgt das an alle Spieler.


    Wenn du jetzt einen Wert also eine Variable an alle Spieler schicken willst dann machst du das mit den Custom Events. Spieler A löst ein "on Server" Event aus. In diesem Event ist die Variable und sie wird demnach auf dem Server übertragen. Auf dem Server machst du wieder so ein Event. Dieses Mal ein Multicast Event mit dieser Variable. Das Multicast Event wird bei allen Spielern ausgelöst (vorsicht, auch auf deinem). Damit ist deine Variable bei allen angekommen. Das ist aber recht unsicher. Client -> Custom Event on Server -> Server -> Custom Event Multicast -> Alle Clients.


    Die Kollisionsabfrage läuft auf dem Server und den Clients. Wenn jetzt ein Spieler einen Gegenstand berührt (über ein Item gelaufen) wird ein Event ausgelöst. Du fängst dieses Event ab. Möglichst auf dem Server (siehe Switch Has Authority). Jetzt kannst du das mit dem Multicast Event an alle Clients schicken um etwas anzuzeigen oder so. Du kannst auch eine Variable setzten und auf dem Server lassen. Die ist aber auf nur auf einem Server und nur im RAM.


    Du kannst auch Variablen auf Replicated setzten. Das ist aber ausschließlich Server -> Client und nicht andersrum möglich.


    Wie gesagt, das mit der Datenbank und dem Masterserver läuft außerhalb UE4 und muss selber implementiert werden.

    Ich weiß das ich Events Serverseitig oder Clientseitig laufen lassen kann und das ich Variablen replizieren kann... Aber nehmen wir z.B. EventBeginPlay... woher weiß welche Komponente nun wozu dies gehört

    Bin mir nicht sicher ob ich die frage richtig verstanden habe. Hilft das hier?
    https://docs.unrealengine.com/…ntExamples/Networking/1_2


    Alles was im Spiel in Echtzeit übertragen werden soll wie z. B. die Bewegung des Spielers machst du mit den Events die du erwähnt hast.


    Wenn du Daten persistent auf einem Masterserver speichern willst musst du das selbst programmieren. Kannst teilweise Plugins dazu nutzen falls du keine kostenlosen findest oder kein Geld ausgeben willst musst du dich wohl in c++ einarbeiten.
    Damit würde es gehen. https://wiki.unrealengine.com/Http-requests Mit SSL sogar sicher.

    Ja, du brauchst den Masterserver.
    Du musst dir vorstellen das dein Spiel Daten ausliest und senden wie dein Webbrowser. So wie ich jetzt deinen Post abgerufen habe und meinen hier jetzt gleich absende. Genau so kannst du das mit den Daten deines Spiels machen. Läuft hier auch mit PHP und mysql.


    Wie willst du damit eigentlich Cheats verhindern? Du könntest Spieler bannen aber dazu musst du die Cheats ja erst erkennen. Außerdem schreibst du nur von dir und deinem Bruder. Wer von euch will cheaten? :D


    Je nachdem wie eilig du es hast, ich baue ein UE4 Plugin mit dem das möglich sein wird. Dauert aber noch.

    Nur mal so ne Idee. Zwei Fahrzeuge "zusammenkleben" um 8 Räder zu erzeugen. Vielleicht noch irgendwie ineinander schieben für 6 Räder.

    Bin schon seit Monaten dran ein Plugin zu erstellen das unter anderem genau das hier ermöglichen wird. Dauert aber noch. Wer es in 1 - 2 Monaten testen will, kann sich bei mir melden. Bevorzugt Android (ist mir zu nervig) und Mac IOS (hab ich nicht) Entwickler.

    Seine Beispiele waren blöd. Wenn schon dann richtige Beispiele wie Paper Mario und das neue Paper Yoshi Spiel. Da kam meine Idee her ein PUBG in diesem Stiel zu machen. Das gibts nicht. Sonst hätte ich es nicht angefangen. Wäre ja bescheuert, wer kopiert einfach nur die Ideen anderer ohne eigene einzubringen? :whistling:


    Nicht falsch verstehen. Ich nehme es dir nicht übel. Wie du gesagt hast hast du es durchgezogen. Im Gegensatz zu uns. :D
    Sieht halt fast genau so aus wie ich es mir vorgestellt habe. War schon überraschend das hier zu sehen.


    Hoffe du hast aber noch ein paar eigene Ideen. Ein Multiplayer Shooter aus Pappe reicht da nicht aus um Aufmerksamkeit zu erregen. Da musst du schon noch ein paar Besonderheiten einbauen.

    Seit langem komme ich mal wieder ins Forum.


    Hmm, sieht eigentlich genau so aus wie das Projekt an dem ich mit @djeki gearbeitet habe. Wir haben die Arbeit da dran schon vor einiger Zeit abgebrochen. Deswegen ist es egal.


    Es zeigt aber wie vorsichtig man sein muss und drauf achten sollte was und wem man was erzählt. Muss echt zugeben etwas geschockt gewesen zu sein das hier zu sehen.

    @Dj EKI Dachte das wäre öffentlich. Sorry.
    Das video zeigt (ab 27:00) das bei UE4 der Character lokal gesteuert wird. Dazu ein Zitat aus der PDF


    Zitat

    When you move your Character, as a Client, in a Multiplayer Match, you don't actually move your Character by yourself, but tell the Server that you want to move it. The Server then updates the location of the Character for everyone else, including you.

    Das Video widerlegt diese Aussage und zeigt den Wert der PDF.


    @LucyDemoon
    Danke. Du hast mich verstanden.


    Bitte kein Drama draus machen. Jeder kann sein Spiel so machen wie er will. Ich habe nur konstruktive (Beispiel wie es richtig ist wurde von mir genannt) Kritik an der PDF geäußert.


    Hab meine Aktivität hier schon runtergefahren. Ich glaub ich werde noch seltener rein schauen.

    Ich habe wie gesagt nur die ersten 6 Seiten gelesen. Auf Seite 5 ist der Satz den @LucyDemoon zittiert hat. Und der ist Unsinn. Ich kann einen Ping von 3000ms haben. Das hat absolut keine Auswirkung auf die Bewegung meines Charakters und wenn doch dann ist es schlicht falsch es so zu machen. Einer der Gründe warum gestreamte Spiele momentan so abgelehnt werden ist dieser Input Lag. Der entsteht nur zu einem sehr geringen teil durch das Encoding des Videos und zum großteil eben aus der Tatsache das die Eingaben erst an den Server geschickt werden müssen.


    Es gibt doch einige Youtube Videos zum Thema UE4 Mulitplayer. Müsste auch welche aus unserer Comunity geben. Von @Nobody und @Dj EKI glaub ich.


    Wie gesagt, ist nur meine eigene Meinung basierend auf den "erschreckenden falschen angaben" der ersten 6 Seiten. Kann sein dass es später doch noch korrekt weitergeht. Ich wollte nur drauf Hinweisen was mir (seit gut 10 Jahren auf Netzwerk spezialisierter Programmierer :P ) aufgefallen ist. Wen jemand anderes einen Film kritisiert muss der für einem selbst ja trotzdem nicht schlecht sein.


    Man kann es auch wie in PUBG machen. Alles auf dem Client berechnen und 1 Million neuer Kopien monatlich an die gebannten Cheater verkaufen. :D

    Hab nach der sechsten Seite schon aufgehört. Mein eigener Spieler auf meinem PC wird nicht direkt bewegt, die Eingabe wird erst an den Server geschickt und dann sagt der Server meinem Client das er sich bewegen soll?


    Das stimmt nicht. Das gäbe ein riesiges Input Lag. Spiele wie Counterstrike wäre nicht möglich. Bei Rennspielen würde sich die Steuerung wie an einem Gummibad gezogen anfühlen. Auch der Vorschlag man soll alles auf dem Server überprüfen bevor man es auslöst ist schlicht falsch. Man sollten alles was Cheater ausnutzen könnten überprüfen und nicht schlicht alles. Wenn möglich asynchron dh. dem Client ein Treffer Feedback (Blut, Sound) sofort geben die Hitpoints und den tatsächlichen Treffer des Gegners aber auf dem Server berechnen.


    Nur meine Meinung. Ich kann die PDF nicht empfehlen, auch wenn ich nur die ersten 6 Seiten gelesen habe.

    Ja, diese Einstellungen geistern schon seit Jahren rum. Aber wo sind die Blueprints dazu? Wer hört Wen zu welchem Zeitpunkt?
    Ich bin immer davon ausgegangen das man damit Flags für das Steam SDK setzt und es ohne Steam nicht geht. Dokumentiert ist es anscheinend nicht. Wenn man nach Voip im Forum sucht findet man nur Aussagen das es nicht geht. Genau das steht auch bei deinem (4 Jahre alten) Link. Steam oder gar nicht. Das "VOIP Redesign" steht sicher nicht zum Spass in der Roadmap.


    Ich werde mir am WE das Shooter Spiel angucken.

    Hmm, es scheint theoretisch alles drin zu sein. Wie es funktioniert weiß ich aber nicht. Das normale Voip ist glaub ich schon vor der 4.19 eingebaut worden. Ein UE4 Entwickler hat vor ein paar Tagen geschrieben das man das normale Voip Setup benutzen soll. Es wurde nachgefragt was den "normales Voip Setup" sein soll. Er meinte es wäre eins im "Shooter Game" drin.
    Hab im Launcher geguckt. Gibts kostenlos unter "Anleitungen". Werde ich mir die Tage reinziehen. Ich brauche aber eher ein normales Voip so wie man es von Counterstrike kennt.

    Da steht


    https://forums.unrealengine.co…nreal-engine-4-19-preview

    Zitat

    Improvements to UE4’s native VOIP implementation. Spatialization, Distance Attenuation, Reverb, and custom effects for a player's voice can now be controlled using the UVoipTalker scene component.

    Wenn ich an Voip in Counterstrike oder so denke dann spricht das eine Team nur mit seinen eigenen Leuten. Man kann auch Spieler muten. Man muss also bestimmen können wer mit wem sprechen darf. Davon wird überhaupt nichts erwähnt.


    Aber ich werde es vielleicht heute noch ausprobieren können oder zumindest die Tage. Vielleicht war das schon vorher drin oder die erwähnen es nur nicht.

    Für alle die es interessiert: In Version 4.19 wird die UVoipTalker-Component Klasse eingeführt. Damit sollte der räumliche Voice-Chat möglich sein.

    Also ich verfolge die Roadmap auch. Soweit ich das sehen konnte kann man damit seine Stimme aufnehmen und auch mit Effekten verändert. Aber nicht übers Netzwerk verschicken. Das eigentliche Voip steht noch in "Future Releases". Hoffe aber es ist gerade in Bearbeitung.

    Oder wie nen Autohersteller der als Einziger Bremse und Gas Pedale vertauscht weil er der Meinung ist das es besser ist. Zum Glück kann man das umstellen und es müsste auch komplette Einstellungen zum runterladen geben die sich an anderen 3D Tools orientieren.

    Weiter gehts. :bye:
    Neu dazu gekommen ist jetzt ein UDP und TCP Server Plugin und ein Plugin das den internen UE4 Browser um viele nützliche Funktionen erweitert um ihn als Alternative zu UMG zu nutzen.