Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Netzwerkspiel!!! (https://www.delphipraxis.net/12281-netzwerkspiel.html)

Jörn 11. Feb 2004 16:13

Re: Netzwerkspiel!!!
 
Da musst dann vielleicht den Weg berechnen welcher zwischen den Punkten liegt... testweise ein Intervall im Rückstand (sollte schon kaum sichtbar sein), später "vorrausberechnen"

ATwardz 11. Feb 2004 17:18

Re: Netzwerkspiel!!!
 
Hi,

kommt drauf an, wenn du ein Shooting spiel machst wie meines, ist der sncrone Ablauf und damit die 1 zu 1 übertragung notwendig(sonst ist einTreffer beim anderen vielleicht garkeiner!

Zuerst musst du dich entscheiden ob es sinvoller ist in der Timermethode zu verschicken oder in der Onkeydown Methode!Beim Autorennen würde ich auch den Timer nehmen! Den Interval würde ich so zwischen 50 und 100 plazieren!

Jörns Lösung ist Fraglich da die Autos nicht synchron sind und bei einer Kollision auf server/Client verschiedene Werte enstehn!

Grundsätzlich musst du die Daten die du versendest klein halten!
Bevor du die daten weiterverarbeitest, liess sie in eine Stackspeicher!
Wenn du jeder nachricht einen Zahlencode anhängst und alle nachrichten speichers, kannst du dort die Kollison auch überprüfen!


@wardz

Maximus 11. Feb 2004 18:24

Re: Netzwerkspiel!!!
 
Ich hab das jetzt (das = ein Pong Clon mit Netzwerk modus der ...) mit TServerSocket und TClientSocket gemacht und immer wenn die Taste Hoch/Runter gedrückt wird, wird ein +/- zu dem anderen Rechner geschickt, nur es ruckelt dan sehr.

Da ich ausprobieren wollte was das Programm jetzt tatsächlich Senden hab ich ein Programm geschrieben was das alles abfängt und hab bemerkt das es immer gebündelt losgeschickt wird, also stats "+" wird auch mal "++++++" gesendet (vorallem wenn man auf der taste draufbleibt)

Könnt ihr mir da weiterhelfen?

ATwardz 11. Feb 2004 21:55

Re: Netzwerkspiel!!!
 
Versendetes du mit TServer.sendtext, da ist das normal!
probiers mal mit der Einstellung blocking Modus!

supermuckl 11. Feb 2004 23:03

Re: Netzwerkspiel!!!
 
also ich würds schon mit einem dedicated server und udp machen
udp weils halt schneller ist ( wenns allerdings zuviele komplikationen gibt ( z.b. zeitverschiebungen aufgrund von fehlerhafter paketreihenfolge o.ä.) testen ) dann würd ich halt wieder tcp nehmen ) hehe klammern mag ich *g*

jedenfalls würd ich das spiel nur auf dem server berechnen lassen ( kollisionen usw ) und die positionen der spieler/projektiele usw auch an die clients über den server verteilen. ob es nun ein treffer ist oder nicht entscheidet der server ( evtl könnte man da berechnungen die den lag weg rechnen zentral unterbringen wie bei unreal turnament ;))

ich hab z.b. auch n bisschen gamecoding schon gemacht ( sowas wie USI ( weltraum echtzeitstrategiespiel 2D )) aber zum multiplayer design bin ich schon garnich gekommen weil ich n problem mit der synchronisation hab ( timer übertragene positionen ? dann ruckelts vielleicht wenn es zu timer <-> FPs kollisionen kommt ?! ) oder komplette spiele ( clients ) alle FPS basiert synchronisieren?? (langsamster rechner gibt den ton an *g*)

hmm schwieriges thema.. aber ich denke das mit dedicaded und ontimer müsste hinhauen

mit udp <-> tcp würd ich mal bissi rumexperimentieren dann.. is ja net so schwer das kurz umzustellen wenn es soweit tut

weil selbst bei PONG im lan (100mbit) is der schläger total verzögert mit TCP *g*
mit UDP wars geil.. aber im internet muss mans halt testen weil da ja bekanntlich die fehler zuschlagen können ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 Uhr.
Seite 2 von 2     12   

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