Wenn ich ein rundenbasiertes Kartenspiel mache, welche Technik verwenden Sie, um das Multiplayer-Gameplay über das Internet zu unterstützen?
Ist es eine Steckdose? Wenn es sich um einen Socket handelt, welches SDK (CoronaSDK usw.) kann eine solide Socket-Bibliothek bereitstellen?
Kann Unity3D nur zur Unterstützung meiner Anforderungen verwendet werden, ohne andere Socket-Server wie SmartFox oder Electro zu verwenden?
android
networking
game-mechanics
ios
Devyn
quelle
quelle
Antworten:
Wenn Ihr Spiel rundenbasiert ist, sollte eine Kombination aus Long-Polling (Read Push) und Webdiensten (SOAP oder REST) für jedes rundenbasierte Spiel mehr als ausreichend sein. Sie sind einfach auf einem Server zu implementieren und werden auf einer Vielzahl von Clients verwendet.
Die Verwendung von Webdiensten hat zwei Vorteile. Erstens wird fast jede Plattform, die ihr Geld wert ist, über einen Mechanismus verfügen, mit dem Webdienste ohne großen Aufruhr nativ aufgerufen werden können. Zweitens ist es einfach, zusätzliche Plattformen hinzuzufügen oder Web-Player (Desktop-basierter Browser) gegen andere zu spielen, da Sie nur Nachrichten über eine HTTP-Verbindung hin und her übertragen.
Da es sich um Android und iOS handelt, bei denen wahrscheinlich 3G-Verbindungen auftreten, stirbt ein HTTP-Webdienst nicht vollständig in einem "Flaky-Connection" -Modus ab, in dem reine TCP-Sockets Probleme haben würden, in Verbindung zu bleiben .
quelle
Ich hatte das gleiche Dilemma, als ich mich in Android-Spiele wagte. SmartFox überstieg mein Budget, aber ich wollte unbedingt ein SDK eines Drittanbieters verwenden, das ich für mehrere Spiele nutzen konnte. Außerdem habe ich nicht wirklich die Programmierkenntnisse, um eine Socket-Bibliotheksschnittstelle selbst zu entwerfen. Ich bin auf Skiller gestoßen - ein kostenloses SDK für die Entwicklung rundenbasierter Multiplayer-Spiele, das in Eclipse integriert ist und solche Details von Entwicklern abstrahiert.
Ich würde vorschlagen, dass Sie sich Skillers TicTacToe ansehen. Sie erhalten eine gute Vorstellung davon, ob das SDK Ihren Anforderungen entspricht. Ich hoffe das hilft.
quelle