Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie funktioniert WoW (https://www.delphipraxis.net/125103-wie-funktioniert-wow.html)

Lantis87 30. Nov 2008 20:06


Wie funktioniert WoW
 
Hallo,

ich mache mir gerade Gedanken über das Onlinegame World of Warcraft.
Wie es funktioniert stell ich mir so vor:

Die "Map" befindet sich ausschließlich auf den Rechnern der User (Man muss die Software ja kaufen).
Die Nötigen Informationen (wo läuft gerade User XY und was macht er da) befinden sich auf den Servern von WoW und wird meinem PC in dem Moment zugeschickt, damit ich diesen dann bei mir im Spiel sehe?

Ist echt blöd zu erklären... Also dass nur die Handlungen oder Aktionen online sind, aber die Map an sich nicht?

Oder kann mir das mal jemand erklären?

Liebe Grüße
Yvonne

Volle 1. Dez 2008 06:43

Re: Wie funktioniert WoW
 
Hoi,

hoert sich schonmal gut an. Wenn du auf W drueckst dann sendet dein rechner an den server "ich wuerde gerne vor laufen". Dein PC 'denkt' sich ok laufen wir nach vorne. Auf deinem Bildschirm faengst du an dich nach vorne zu bewegen. Sagt jetzt aber der Server "hey ne das geht nicht weil da etwas ist" dann wirst du wieder zurueck gesetzt. Meistens ist diese Verzoegerung sehr sehr klein (~30ms denk ich mal) und du merkst davon nichts. Wird sie groesser (serverlast oder verbindungslast) dann bekomsmt du 'lag'. Die aktionen von anderen mitspielern bekommst du vom server zugeschickt und dein rechner reagiert dann dementsprechend drauf. Ob der Server ansich ne map hat oder nicht weis ich nicht. In den meisten faellen is das so, somit koennen verschiedene sachen ueberprueft werden (ob jemand versucht durch nen berg zu laufen etc). So eine kollision koennte man ja durch cheats z.b. auf clientseite ermöglichen, der server kann dann aber immernoch sagen "geht nicht".

ich hoff das hat das ganze ein wenig beantwortet ...

Relicted 1. Dez 2008 06:53

Re: Wie funktioniert WoW
 
Hallo Yvonne, willkommen in der DP!

Also im normalfall liegt auf client und server die map vor. der server hat den überblick über alle clients die verbunden sind. über gewisse parameter wird festgelegt welche "fremdspieler" positionen/aktionen etc. dir zugeschickt wird. das kann z.b. entfernung, sichtlinie usw. sein. Was Volle geschrieben hat würde ich bejaen. Hinzuzufügen ist noch das bei schlechteren verbindungen der clients meist noch das so genannte "interp" berechnet wird. also aufgrund der letzten daten die der server erhalten hat (laufrichtung z.B.) er weiterberechnet wo der charakter hinläuft. diese berechnung kann auch provoziert werden (kA obs in wow funktioniert): z.B. wenn du viele verbindungen/downloads/uploads hast wirst du merken dass es passieren kann dass du mehrere meter bei dir geradeaus läufst und der server dich aufeinmal woanders hinstellt. in anderen mmorpgs gabs mal den so genannten "lagjump": man springt, minimiert das spielfenster (alt+tab) und provoziert dadurch die berechnung des servers, denn der client hat zumindest kurzzeitig einen aussetzer - zack stehst auf nem dach wo du sonst nicht hinkommen würdest etc.

im normalfall erhälst du daten über spieler noch bevor du sie siehst. das macht gerade pvp lastige mmorpgs anfällig für "radars". dort siehst du schon spieler bevor diese wirklich bei dir im spiel auftauchen.

gruß
reli

Erkan Frey 1. Dez 2008 09:49

Re: Wie funktioniert WoW
 
Also hier hab ich deine Lösung!

http://www.wow-europe.com/de/info/ba...ngstarted.html


Alle Grundlagen und weiteres!

MFG Erkan/Manu

Relicted 1. Dez 2008 09:51

Re: Wie funktioniert WoW
 
Ohne mir den Link anzuschauen:
Ich glaube nicht dass Blizzard irgendwelche technischen Details in ein "Gettingstarted" dokument einfließen lässt.
Daher: Thema verfehlt, setzen 6 Erkan :-)

Gruß
Reli

Erkan Frey 1. Dez 2008 09:54

Re: Wie funktioniert WoW
 
Zitat:

Zitat von Relicted
Ohne mir den Link anzuschauen:
Ich glaube nicht dass Blizzard irgendwelche technischen Details in ein "Gettingstarted" dokument einfließen lässt.
Daher: Thema verfehlt, setzen 6 Erkan :-)

Gruß
Reli

Wie es funktioniert stell ich mir so vor: <--- wie es funktioniert sagte er auch!!

DeddyH 1. Dez 2008 10:01

Re: Wie funktioniert WoW
 
Da wird beschrieben, wie es gespielt wird und nicht die Technik, die dahintersteht.

Erkan Frey 1. Dez 2008 10:03

Re: Wie funktioniert WoW
 
Achso
Ja etz mh.. stimmt ist eine Sau gute frage !

Medium 1. Dez 2008 10:17

Re: Wie funktioniert WoW
 
Im wesentlichen läuft es wie von Volle beschrieben. Sowohl Server als auch Client brauchen natürlich die topologischen Daten. Was die Spielcharaktere angeht, so werden dort nicht nur Positionsinformationen, sondern gleich der Richtungsvektor an die Clients verteilt, wodurch ein Client versucht die mögliche weitere Bewegung zu schätzen wenn der Quellclient Verbindungsprobleme hat. Kollisionsabfragen finden übrigens clientseitig statt - wenn man die Server damit noch belasten würde bräuchte man ja fast schon einen eigenen Kollisionsserver ;).

Der wirklich interessante Teil ist denke ich eher, dass der Server anhand der Position des Charakters auf jedem Client für jeden einzeln entscheidet was dieser Charakter gerade überhaupt in seiner Umgebung hat, was auf ihn wirken könnte bzw. was er sehen kann. Würde man sämtliche Infos an alle Clients schicken wollen bräuchte man wohl ein Vielfaches an Bandbreite. Ähnlich läuft es entsprechend auf dem Client: Was zu weit weg ist bzw. einen gerade nicht betrifft taucht überhaupt nicht auf. Würde man die gesamte Welt im Speicher vorhalten wollen bräuchte man sicherlich ein paar zig Gigabyte RAM, und um all die damit verbundenen Berechnungen anzustellen reicht vermutlich auch kein mittelklassiger Core2Duo mehr :).

Diese Relevanzentscheidungen, und das dynamische Verarbeiten der Inhalte ist vermute ich sogar der mit aufwendigste Teil des ganzen Spiels - zumindest wenn man von der Erstentwicklung spricht. Wenn man diese Dinge nämlich von Anfang an richtig baut sollte man sich nach Hinzufügen von Inhalten nicht mehr groß darum kümmern müssen.

Volle 1. Dez 2008 13:17

Re: Wie funktioniert WoW
 
Hoi,

jop das mit der interpolation hatte ich vergessen zu erwaehnen :>
Aber bist sicher dass die gesamte Kollisionsberechnung nur clientseitig ablaeuft? Ich denke grundlegende Kollisionsabfragen werden sicherlich auch serverseitig abgearbeitet werden, sonst haette man ja im nu nen "ghost" cheat oder?
Btw ich weis nich ob sowas vielleicht gibt ^^ ich zock kein WoW bzw MMORPG aber ich denk bei shootern wird sowas sicherlich auch auf dem Server gehandhabt. Klar die Physikberechnungen laufen auf der Clientseite ab, das waere sonst zu krass aber ein "steht der spieler in nem baum?" duerfte doch relativ flott gehen.
Wobei ich eh sehr sehr bemerkenswert finde was so ein MMORPG server alles abwickeln muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz