Multiplayer-Spiel -- Netzwerkfragen
-
Hi Leute,
Wollte mal fragen ob ihr paar gute Quellen habt in Bezug auf Multiplayer-Spiele Entwicklung habt.
Es gibt ja so 2 Ansätze:
1.) Server und viele Clients und das der Server dann halt die Daten empfängt und alle verteilt. und:
2.) viele Clients die alle ne peer to peer Verbindung aufbauen.Wollte eher das erste mit den Server realisieren. Vielleicht könnt ihr mir ja ein paar Anregungen, Tipss oder Quellen geben.
MfG schirrmie
-
schirrmie schrieb:
2.) viele Clients die alle ne peer to peer Verbindung aufbauen.
Von dem kann ich dir nur abraten.
Mach es lieber so, dass jeder ein "Host" starten kann, welcher
dann zu deinem Zentralen server connectet, welcher wiederum eine Hostliste
zur verfuegung stellt.Die beste Variante ist die 1).
So hast du eine Zentrale verwaltung.Jetzt musst du nur noch einen passenden Algorithm finden,
welche dir hilft die Daten moeglichst kompakt zu verteilen.Gg
-
Was willst du genau wissen?
Du könntest den Server mit Sockets wie folgt realisieren:- ein Thread, der auf eingehende Verbindungen wartet (listen())
- wenn eine Verbindung zu Stande kommt (nach einem accept()), wird ein neuer Thread gestartet, der von nun an für die Kommunikation zu diesem Client zuständig ist
- in jedem dieser Threads wird eine Inbox und eine Outbox verwaltet, die eingegangene und zu versendende Nachrichten enthält
- die Threads bleiben so lange inaktiv, bis eine neue Nachricht in der Inbox (empfangen via recv()) oder Outbox ist (senden via send())
- ein weiterer Thread steuert die Spiellogik und bereitet die Nachrichten zum Senden an die einzelnen Clients vor (Versenden einer Nachricht durch Ablegen in die Outbox des entsprechenden Clients)
- Thread-Sicherheit beachten, Stichworte Mutex/Semaphore
-
Danke also wie gesagt ich wollte die 1. Variante mit Server nehmen. Sind schon mal paar gute Tipps, falls ihr noch mehr habt oder paar gute Inet Seiten dann immer her damit

Gibt es vielleicht schon fertige, freie Lib's zu dem Thema?MfG schirrmie
-
It depends. f'`8k
Gruß, TGGC (\-/ returns)
-
TGGC schrieb:
It depends. f'`8k
Auf was?
MfG schirrmie
-
Auf die Anforderungen. Stell dir vor, der Starcraft Server wird gerushed und geht nach 10 Minuten aus dem Spiel... f'`8k
Gruß, TGGC (\-/ returns)
-
Also die Anforderungen liegen "nicht hoch". Es soll erst mal das Grundprinzip funktionieren. Aufbauen und Erweiteren kann man immer. Ich will nun keine kommerzielle Server-Client Lösung haben

MfG schirrmie
-
Hier gibt's eine Netzwerk-Engine für Multiplayer-Spiele und noch ein paar allgemeine Tipps:
http://www.rakkarsoft.com/
http://www.rakkarsoft.com/raknet/manual/programmingtips.html