Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Spiel im Netzwerk/Daten übertragen (https://www.delphipraxis.net/17165-spiel-im-netzwerk-daten-uebertragen.html)

Spurius 29. Feb 2004 13:37

Re: Spiel im Netzwerk/Daten übertragen
 
Ich verwende DelphiX für die Grafik, aber den Netzwerkteil will ich mit den Indykomponenten machen.

Spurius 29. Feb 2004 13:52

Re: Spiel im Netzwerk/Daten übertragen
 
Also ich probiers mit streams, aber ich muss erstmal streams ein bisschen verstehen.
Wie kann ich in dem Code den Stream empfangen und in einem Label darstellen?
Delphi-Quellcode:
var
  Form1: TForm1;
  Stream: TMemorystream;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Server.Active := true;
 Client.Connect;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Stream := TMemorystream.Create;
 Stream.Write('Test1', Sizeof('Test1'));      // bin mir nicht sicher ob der stream
 Client.WriteStream(Stream, true, true, 0);  // so richtig versendet wird          
end;

procedure TForm1.ServerConnect(AThread: TIdPeerThread);
begin
 athread.Connection.WriteLn('Connected');
end;

procedure TForm1.ServerExecute(AThread: TIdPeerThread);
begin
 //Hier -------------------

end;

end.

Florian H 18. Nov 2004 15:11

Re: Spiel im Netzwerk/Daten übertragen
 
hm, vor dem Problem stehe ich ansich auch.

Wie übertrage ich Daten am besten über die TidTCP-Komponenten...
Also einerseits die schnellste Möglichkeit (von den daten is klar, halt nur das wichtigste) und dann überhaupt das wie... so gan versteh ich es nämlich noch nich :?

Udontknow 18. Nov 2004 15:22

Re: Spiel im Netzwerk/Daten übertragen
 
Hallo!

Schau doch mal im DF unter [df]SimpleNetwork[/df] nach, da gibt es Komponenten, die dir die Kommunikation vereinfachen. Ein Chat als Beispielprogramm ist auch dabei.

Cu,
Udontknow

Fellmer Lloyd 18. Nov 2004 15:22

Re: Spiel im Netzwerk/Daten übertragen
 
Hallo

Wenn es um das Grundsätzliche Übertragen von Daten geht, findest du Hier ein gutes Beispiel (von negaH, ziemlich weit unten).

Gruss

endeffects 18. Nov 2004 16:55

Re: Spiel im Netzwerk/Daten übertragen
 
ich würde vorschlagen die übertragung überwiegend
auf vektoren zu beschränken, d.h. du überträgst
lediglich die richtung in die sich ein spieler
bewegt und mit welcher geschwindigkeit in relativ
langen zeitabständen, ich denke nicht das
es zwingend notwendig ist jede sekunde die genaue
position jedes spielers an jeden der anderen spieler
zu übermitteln

sobald sich allerdings 2 vektoren/spieler einander
annähern muss die frequenz der übermittelten daten
beider parteien ansteigen um die stattfindenen handlungen
genauer zu dokumentieren

das nur mal als denkanstoss

fiasko 18. Nov 2004 17:14

Re: Spiel im Netzwerk/Daten übertragen
 
Hallo,

ich will hier nur mal etwas einwerfen, weil hier alle so freudig auf das TCP/IP Protokoll eingehen. Ich halte das für Spiele wo es um Zeit geht für ziemlich ungeeignet. Es hat viel-zu-viel Protokoll overhead, und vorallem im LAN für ein einfaches Spiele dürfte das overkill sein. Wenn mal ein Packet verlohren geht sollte das doch verkraftbar sein (da macht das Sprite halt mal einen kleinen Sprung wenn zwischendurch ein Packet fehlt). Wenn man sich mal so die Internetspiele anschaut (CS, Battlefield, <your fav. game here>), dann nehmen die eigentlich alle UDP.

Zusätzlich gilt das was hier schon geschrieben wurde, Delta's übertragen etc.

endeffects 18. Nov 2004 17:24

Re: Spiel im Netzwerk/Daten übertragen
 
mich würde mal interessieren was du mit deltas meinst,
höre ich das erste mal. udp ist natürlich eine
interessante sache, gerade wenn es darum geht lags
für alle anderen mitspieler zu vermeiden

fiasko 18. Nov 2004 20:35

Re: Spiel im Netzwerk/Daten übertragen
 
mit Delta's ist gemeint, daß du nur schickst sprite 1 dreht sich 5° nach rechts und beschleunigt um 2 pixel/sekunde. Dafür sollte ein byte pro wert reichen. In größeren Abständen müssen dann natürlich fehlende Delta's ausgeglichen werden indem alle komplett übermittelt wird (also korrekt richtung/geschwindigkeit etc.).

Udontknow 19. Nov 2004 08:00

Re: Spiel im Netzwerk/Daten übertragen
 
Fiasko hat schon recht, für Echtzeitspiele sollte TCP nicht verwendet werden. Die [df]SimpleNetwork[/df]-Komponenten können sowohl über TCP als auch über UDP Daten versenden... Argh, was ist denn wieder mit dem DF los? :?

Cu,
Udontknow


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 Uhr.
Seite 2 von 3     12 3      

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