Gegner Kollision
Übersicht

![]() |
N0XBetreff: Gegner Kollision |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich habe eine Frage: Wie machen Online Spiele (á Metin2) Kollision von Gegnern? (speziell in der Y-Achse) Normalerweise sendet der Server doch die Koordinaten der Gegner. Aber mit den Koordinaten kann man ja leider keine Kollision machen. Der Server hat ja die Map nicht geladen und auch die Gegner nicht und kann deshalb auch keine Kollision berechnen. Wie kann ich trotzdem Kollisionen haben? Mfg, N0X //Edit: Verzeiht, es ist spät... |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, eigentlich sollte bei einem Onlinespiel der Server die Gegner- und Mapdaten kennen und an den Clienten schicken und nicht umgekehrt. Sonst wäre es viel zu einfach zu cheaten.
Lg M0rgenstern. |
||
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieh es quasi so das der Server das Herz ist und der Client nur das macht, was der Server will. Wenn der Server zum beispiel will das dein Char levelt dann levelt er auch und schickt die Aktuellen exp etc zum clienten der hier quasi nur das widerspiegelt, was der server ihm sagt.(ausgenommen bewegungsbefehle, das soll der spieler ja verändern) Denn wenn exp etc in den speicher vom clienten geladen hat, kann der Client wie eben schon gesagt mal fix den speicher manipulieren und cheaten.
Das selbe halt kollisionsmäßig ![]() |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, aber der Server läuft (bei mir zumindest) nicht grafisch, kann also keine Kollisionen prüfen!
Wie mache ich das dann? Für jeden Punkt in X und Z einen Y-Punkt festlegen?! Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Kollision läuft auf dem Client ab, der Client schickt die Position am Server.
Der Server schickt die Positionen an die anderen Clients. Wo ist das Problem? ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, also mit einem gesonderten "First Client"?
Denn wenn das alle machen, wärs ja "hack" Ziel No.1 . Mfg, N0X //EDIT: Neue Frage: Sollte ich die Koordinaten der einzelnen Spieler vom Server berechnen lassen oder vom Spieler selbst übertragen lassen? Ersteres zieht ja ne Menge Verbindung, und die andere Möglichkeit wäre "Hack"bar (außer ich benutze Begrenzer auf dem Server) |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaub in nem anderen Thread von dir wurde schon diskutiert was man so alles tun könnte um vor Hacks zu schützen... Mit allen Vor- und Nachteilen, es wurde sogar eine Ausarbeitung der HalfLife-Entwickler gepostet - also wenn das mal nicht genug Material ist um sich Ideen zu holen!
Oder du machst den Server halt doch "graphisch". Ich könnte mir an deiner Stelle folgendes vorstellen: Graphics3D -> dadurch kann man Objekte und Terrain laden und auf Kollision prüfen wie gewohnt und dann am Ende halt das RenderWorld einsparen, das braucht man am Server gewiss nicht ![]() mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, gut ok ![]() |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was mir gerad noch eingefallen ist, wenn du kollisionen von spielern machen willst, kannst du auch für jeden spieler einen kleinen radius um den char machen als wert. Sollte der Radius von einem Spieler mit dem Radius des anderen spielern kollidieren, dann setzt du den char zurück oder so ähnlich so das es wie eine kollision aussieht. Somit kannst du das auch einfach über den Server machen ohne im Clienten das zu vollziehen.
Aber dann musst du dir vorstellen (wenn du vllt nen mmorpg ähnliches machen möchtest) dass die spieler sich dann sehr gern blocken werden und aus spaß wege versperren können ^^ |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group