Multiplayer Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Yellow Pfeiffer

Betreff: Multiplayer Problem

BeitragSa, Nov 18, 2006 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo.

Ich programmiere gerade ein Weltraumspiel, wo man sich gegenseitig abschiessen kann. Leider funktioniert da was mit DirectPlay nicht. Zur Zeit kann ich keine Verbindung aufbauen. ich kann mich zwar ins spiel einklinken, aber dann is alles so, als wärs garnicht verbunden...

Dann is noch doof, dass ich einen schnelleren und einen langsameren pc hab. Der schnellere kommt auf 60fps, der langsame auf 15fps. Jetzt verarbeitet der langsamere die vielen pakete vom schnellen nicht so schnell und hingt minuten hinterher. Was kann ich da machen?

danke schonmal
Pentium D 3000Mhz Dual Core
NVidia Geeforce 6800 GT
1024 MB DDR Ram
160 GB
WinXP Home

pixelshooter

BeitragSa, Nov 18, 2006 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
weniger pakete schicken. Wenn du nen Server hast, kann der versuchen, auf jedes Paket, das jeder Client ihm schickt, einen Antwortsaatzt zu schicken, also nicht mit konstanter Rate. Dann gibt der Client ihm ein Signal, wann er mit dem Frame fertig ist und neue daten gebrauchen kann.
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

Yellow Pfeiffer

BeitragSa, Nov 18, 2006 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
eine gute idee! aber leider geht des net, weil ich hätte gerne, dass jeder user an jeden spieler eine nachricht schikt, so dass der host jederzeit off gehen kann, ohne probleme.

Ich hab da noch n großes problem!!
Ich empfamg keine pakete von anderen pcs. Hab keinen plan, worans liegen könnt. Hat vorher aber auch geklappt.
Pentium D 3000Mhz Dual Core
NVidia Geeforce 6800 GT
1024 MB DDR Ram
160 GB
WinXP Home

Pdd

BeitragSa, Nov 18, 2006 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ports freigegeben?
Lieber Apfel als Birne.
 

Yellow Pfeiffer

BeitragSa, Nov 18, 2006 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich mach das per DirectPlay und bei nem anderem Programm geht es.
Pentium D 3000Mhz Dual Core
NVidia Geeforce 6800 GT
1024 MB DDR Ram
160 GB
WinXP Home

Pdd

BeitragSa, Nov 18, 2006 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Direct Play benutzt hunderte Ports. Direct Play -> doof. Wink
Lieber Apfel als Birne.

Blitzcoder

Newsposter

BeitragSa, Nov 18, 2006 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Für Anfänger ist DirectPlay die einfachste Wahl, da es am leichtesten ist.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Pdd

BeitragSa, Nov 18, 2006 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Das stimmt allerdings Razz
Lieber Apfel als Birne.
 

Yellow Pfeiffer

BeitragSa, Nov 18, 2006 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, mein Programm sollte anzeigen, wenn weitere Spieler beigetreten sind. Es kommt aber nicht die geringste veränderung im Spiel.
Pentium D 3000Mhz Dual Core
NVidia Geeforce 6800 GT
1024 MB DDR Ram
160 GB
WinXP Home
 

Mr Hopp

BeitragSo, Nov 19, 2006 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Schonmal was von Frameunabhängigem Programmieren gehört? Sehr wichtig in Multigames Wink Zu finden in den Foren-FAQ's
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.
 

Yellow Pfeiffer

BeitragMi, Nov 22, 2006 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
also, mein prog geht jetz wieder, ich hab aus versehen die zeile, wo der spieler erstellt wird rausgelöscht -> ups...

Aber könnt ihr mir bitte mit dem frameunabhänigem zeugs erklären? ich peil des garnet, wie des gehen soll...

also, ich habs jetz so:
jeder spieler sendet jedem eine nachricht, und antwortet auf jede empfangene nachricht mit ok. erst wenn alle oks da sind, gehts zum nächsten frame. wie soll ich sagen, das bremst natürlich alles auf den langsamsten pc herunter. ich muss aber machen, dass die frames irgendwie synkron sind, weil ich teilweise in jedem frame nen schuss abfeuere. wenn da welche fehlen is es kacke, weil jeder spieler mitteilt, ob er schiesst, drauf geht oder sonst was. wenn da schüsse fehlen, is es also doof.
Pentium D 3000Mhz Dual Core
NVidia Geeforce 6800 GT
1024 MB DDR Ram
160 GB
WinXP Home

pixelshooter

BeitragMi, Nov 22, 2006 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
schieß net abhängig vom Frame. Hast du nen Server? ist besser. Jeder Spieler sendet dem Server ne Nachricht, wenn das Frame fertig ist. 2. Der Server schickt dem spieler die (aktualisierten) Daten. 3. Der spieler breechnet den nächsten frame.

Also hat der server viel zu tun aber der muss ja evtl auch nix darstellen. kk?
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Nov 24, 2006 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Frameunabhängig programmieren zB so:

Jeder Rechner schickt seine Koordinaten und die Geschwindigkeit den anderen Rechnern bzw. den Server. Jeder Rechner positioniert dann die Gegner neu um und berechnet bei nicht einkommenden Daten die Umpositionierung der Gegner anhang der angegebenen Geschwindigkeiten neu (Vorhersage zu dem, wo sich die Gegner aller Wahrscheinlichkeit befinden müssten). Erst wenn neue Daten einkommen, wird eine Neupositionierung durchgeführt und die Geschwindigkeitsvariablen umgestellt. Je nach Spiel reicht dann schon ein Update alle 0.5sek.

edit1:
bei DP kann der Host bei stehender Verbindung zweier Rechner abgeschaltet werden. Das Spiel läuft weiter und es können sich weitere Spieler einloggen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group