我正在开发基于回合制的Android游戏,我选择了Nodejs作为服务器端.我已经探索了大约两周如何从Android客户端到Nodejs服务器进行通信.有没有办法在两者之间进行沟通.
如果任何人有这样一个项目的经验,请帮助我.
我目前正在开发我的游戏,我决定在游戏中通过GameCenter启用多人游戏,以允许用户玩他们的朋友.我遵循了RayWinderLinch的教程,但遇到了问题.
我的问题是,当我加载GKMatchMakingViewController并点击Play Now两个设备上的大按钮时,它会找到彼此(这意味着发生)并且在设置的游戏中心用户名下会说Ready.
这意味着GameCenter已找到每个玩家,并准备开始它应该的比赛,但在我的情况下,比赛永远不会开始.它停留在一个循环上,说Starting Game...没有任何反应.看来,
func matchmakerViewController(viewController: GKMatchmakerViewController!, didFindMatch theMatch: GKMatch!)
和
func match(theMatch: GKMatch!, player playerID: String!, didChangeState state: GKPlayerConnectionState)
方法永远不会运行.我完全迷失了正在发生的事情.我已经多次尝试过这个问题来解决问题,但没有任何效果.我将附加一个图像,显示我的问题仍然存在的应用程序的屏幕,我还将附加我正在使用的代码.
我正在使用基于
GameKitHelper.h上述提到的教程的框架.它是用swift编写的,叫做 GCHelper
码
可以使用前面提到的GitHub链接找到GCHelper的代码
我已经删除了这个问题不必要的代码
class GameScene : SKScene, GameKitHelper, MultiplayerNetworkingProtocol {
override func didMoveToView () {
GCHelper().authenticateLocalUser() //Authenticate GameCenter User
println("\n \n \n Authenticating local user \n \n \n")
}
func startMultiplayer () {
var vc = self.view?.window?.rootViewController
GameKitHelper().findMatchWithMinPlayers(2, maxPlayers: 2, viewController: vc!, delegate: self); …Run Code Online (Sandbox Code Playgroud) 我正在开发一款平台游戏,尝试使用IOS Multipeer连接来制作多人游戏.我陷入困境/困惑/不知道在同伴之间发送消息的最佳方式是什么(大多数是游戏中的4个同伴).游戏风格就像有趣的跑步,我有4个英雄跑步和互相射击和类似的东西.问题在于保持其他球员的位置让我疯狂!有时其他玩家处于错误的位置(请记住所有设备都具有相同的屏幕尺寸).这是因为连接滞后.我每秒可以发送多少信息以及管理数据传输的最佳方式是什么?
任何想法/想法都表示赞赏.
我正在构建一个需要以下内容的小型多层面板:
您是否认为新的Delphi 2010 Datasnap可以在这种情况下成功使用,还是应该使用普通的旧TSocket?
我和朋友正在讨论FPS服务器如何更新连接到它的客户端.我们观看了一个在战地:Bad Company 2中作弊的人的视频,看到它如何突出显示屏幕上敌人的位置,这让我们思考.
他的论点是,服务器只使用与客户端直接相关的信息更新客户端.即,如果敌人玩家距离客户太远或者出于效率原因而离开客户的视线,服务器将不会发送有关敌方玩家的信息.但他不确定 - 他提出了一个隐藏在岩石后面的人的例子,无法看到任何人.如果玩家突然出现在他的视线中有三名玩家的位置,那么在他们在屏幕上渲染之前会有50ms的延迟,而服务器会传输必要的信息.
我的论点恰恰相反:服务器向客户端发送有关每个玩家的所有信息,并让客户端理清允许的内容和不允许的内容.我认为,对于服务器来说,只需将所有内容发送到客户端并让客户端执行繁重的工作,实际上计算成本会更低.我还想到这是骗子程序如何工作 - 他们拦截服务器数据包,获取敌人的位置,然后在客户端的视图中显示它们.
所以问题是:现代第一人称射击服务器用来保持客户更新的一般政策或策略是什么?
我正在开发一款简单的游戏来体验移动平台上的多人游戏开发,特别是在Android和iOS上.我现在正在计划游戏的网络/多人游戏方面并需要一些建议.
首先,我认为Google App Engine是游戏的服务器端.但我了解到app引擎无法直接连接到客户端.因此,无法使用此方法直接向其他人发送用户更新.然后我开始考虑在当前会话的一个游戏玩家上提供游戏.但当然一些功能将在服务器上.你认为这是个好主意吗?
其次,我正在寻找一种通信iOS和Android的协议.到目前为止,YAML和JSON是我看过的.
关于多人游戏开发的任何其他建议将不胜感激.谢谢...
我正在编写iPhone游戏,我想创建一个在线多人游戏模式.在未来,这个应用程序将移植到Android设备,所以我想知道如何创建游戏服务器?
首先,我应该选择哪种语言?如何使服务器能够与Objective-c和Java编写的程序进行通信?
那么,如何有效地做到这一点?如果我通过客户端打开一个套接字是好的(会有2个)吗?我应该向服务器发送什么样的信息?对客户?
谢谢你的时间.
Photon Server和Photon Cloud产品有什么区别?
对于Android多人游戏的玩家之间的通信,我在客户端使用WebSocket服务器和TooTallNate的Java库,以在Android应用程序中启用WebSocket支持.所以只是要明确指出,移动浏览器中的WebSocket支持对我来说并不重要.
不幸的是,用户报告说他们遇到了连接失败或未接收消息等问题.这是移动设备上WebSockets的一般问题(阻塞端口,防火墙,移动互联网连接)还是客户端代码中的一个缺陷?
您是否具有WebSocket客户端库的经验,例如上面的那个?我刚刚发现了适用于Android的autobahn.ws - 但我不知道是否值得从我当前的库中切换(见上文).
WAMP怎么样?WebSocket技术不是完全正确的解决方案,因此我应该使用子协议(?)WAMP?
我正在尝试通过websockets在 Python 中构建多人游戏(准确地说是纸牌游戏),但目前我在早期步骤中失败了。
我正在尝试做的事情:
什么有效:
我尝试过的:
客户端.py
import asyncio
import websockets
import random
def random_name():
return "".join([random.choice("abcdefghijkl") for _ in range(5)])
async def main():
uri = "ws://localhost:1235"
print("Starting...")
async with websockets.connect(uri) as ws:
client_name = random_name()
await ws.send(client_name)
print(await ws.recv()) # server sends :client_name registered
print(await ws.recv()) # server sends: 3 people registered
print(await ws.recv()) # server sends: Waiting for input
inp = input()
await ws.send(inp)
asyncio.get_event_loop().run_until_complete(main())
Run Code Online (Sandbox Code Playgroud)
server.py (非常幼稚的方法)
import websockets
import …Run Code Online (Sandbox Code Playgroud) multiplayer ×10
android ×4
ios ×3
iphone ×2
websocket ×2
async-await ×1
asynchronous ×1
cloud ×1
datasnap ×1
delphi ×1
delphi-2010 ×1
frame-rate ×1
game-center ×1
java ×1
networking ×1
node.js ×1
photon ×1
python ×1
sprite-kit ×1
swift ×1
xcode ×1