2009-06-13 11 views
1

Ich bin dabei, ein einfaches 2D-Spiel zu entwickeln, so etwas wie Schach, Dame oder Reversi. Es gibt nur einfache Animationen der Spielerstücke. Keine komplizierte Mathematik oder Grafik, deshalb frage ich mich, ob es besser ist, mit P2P über einen Client/Server-Ansatz zu gehen.Ist P2P oder Client-Server-Architektur besser für mein Spiel?

Das Spiel wird ein iPhone/iPod Touch Spiel (und später in einem Web-Browser-Spiel mit Cappuccino laufen). Zwei iPhone-Player können über Bluetooth/Bonjour nebeneinander spielen. Oder das Spiel kann gegen andere iPhone-Remote-Player über das Internet, iPhone to iPhone; (und später - iPhone zu Browser oder Browser zu Browser).

Das Spiel beginnt mit zwei Spielern, jeder mit einer vereinbarten Anzahl von Stücken auf dem Brett zu platzieren.

Beide Spieler sind ständig verbunden, da das Spiel einen Countdown-Timer hat, der auf ein vereinbartes Zeitlimit von 10, 20, 30 Sekunden eingestellt ist, in dem der aktive Spieler (Spieler A) einen Zug machen muss. Spielt der Spieler A nicht bevor der Timer auf Null herunter zählt, verliert der Spieler A seinen Zug und der gegnerische Spieler (Spieler B) wird zum aktiven Spieler. Die Timer-Anzahl wird auf dem Bildschirm jedes Spielers angezeigt.

Das Spiel endet, wenn den Spielern die Teile ausgehen und der Spieler, der die meisten Steine ​​auf dem Brett hat, zum Sieger erklärt wird.

Kann ich bitte Ihre Gedanken darüber, was ist besser für mein Spiel? P2P oder Client/Server?

+0

Vorausgesetzt, Sie haben nicht definiert "am besten", suchen Sie eine Liste von ** alle ** die technischen Vor- und Nachteile (und alle geschäftlichen Vor- und Nachteile) jeder Methode? – ChrisW

Antwort

0

Meiner Meinung nach ist es etwas, wo die Latenzzeit im Spiel nervig sein könnte, dann geh p2p, das Hinzufügen eines Servers in den Mix erhöht die Latenz.

+1

Das Hinzufügen eines Servers erhöht die Latenz möglicherweise nicht "zu sehr" und hat möglicherweise Vorteile, die sich lohnen. – ChrisW

0

Aufgrund der geringen Bandbreite, die pro Sitzung erforderlich ist, können Sie wahrscheinlich einen skalierten Server verwenden. Ich bin nicht vertraut mit iPhone-Entwicklung, aber Sie können die Anwendungsanforderungen auf dem Client niedrig mit einem Web-Standards-Ansatz halten. Die Server können auf dem Back-End ausgeglichen werden und sind an eine eindeutige Sitzung mit mehreren Clients gebunden, die mit einer Sitzung verbunden sind.

3

Bis zu einem gewissen Grad hängt es von Ihrem gewünschten Funktionsumfang ab. Zum Beispiel: wirst du "High Scores" oder "gespeicherte Spiele" haben? Sind Sie sicher, dass Ihre Spieler nahe genug sind, um immer über Bluetooth zu spielen? Wenn nicht - wie werden Sie sie miteinander "verbinden", wenn sie nur das Internet nutzen? Haben Sie jetzt eine Server-Infrastruktur?

Es wäre auch hilfreich zu wissen, ob dies nur ein "Experiment/Spielzeug" ist, das du machst oder etwas, das du kommerzialisieren/an die Öffentlichkeit bringen willst.

Am Ende des Tages können Sie es in beide Richtungen tun. Das "Beste" hängt von Ihren Besonderheiten ab.

2

Ich weiß nicht viel über iPhone-Entwicklung, aber ich denke, es wäre besser, beide zu unterstützen, wenn möglich.

Für das "lokale" Szenario ist P2P der Weg zu gehen. Die Spieler können sich leicht entdecken und ein Spiel starten, ohne einen Server einrichten und sich mit ihm verbinden zu müssen.

Auf der anderen Seite, wenn Sie möchten, dass das Spiel über das Internet spielbar ist, denke ich, dass ein Client-Server-Modell besser geeignet ist. Sie können auch Statistiken auf dem Server hosten (Highscores?) Turniere organisieren und mehr.

Verwandte Themen