【问题标题】:Server architecture for simple real-time online game简单实时在线游戏的服务器架构
【发布时间】:2017-08-08 00:16:52
【问题描述】:

我正在制作一个简单的在线游戏作为学校项目。 这基本上是一个经典的蛇游戏,最后一个玩家获胜。

当客户端按下箭头键时,服务器会收到通知并更改蛇的方向。

我正在考虑如何告知客户每条蛇的当前方向 - 您认为哪条蛇的选择更好?

选择 A: 服务器将蛇的当前方向存储在某种数据结构中。客户在每个刻度上请求方向。

选择 B: 除了主服务器之外,每个客户端还托管自己的服务器。当客户端进行按键操作时,主服务器会接收到它并将其广播到每个客户端服务器。

我认为选择 A 会很简单,因为不需要额外的服务器,但是......选择 B 将绕过定期请求游戏状态的需要。

【问题讨论】:

    标签: server network-programming real-time


    【解决方案1】:

    我会从设计游戏逻辑开始,然后着手实现游戏逻辑。

    我想我会开始这样的事情

    假设有 2 名玩家,那么我会将游戏区域设为网格,并在一种多维矩阵中设置蛇的位置,并在玩家之间传递它们

    来到服务器架构,我建议将其作为一个运行服务器的守护线程和作为客户端的其他线程,每个客户端处理自己的逻辑

    看起来像这样http://pirate.shu.edu/~wachsmut/Teaching/CSAS2214/Virtual/Lectures/chat-client-server.html

    编码愉快!!!

    【讨论】:

    • 谢谢你的答案。该游戏已被编程为离线版本。我需要传递的唯一数据是每条蛇的方向变化,可以从那里插入位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    相关资源
    最近更新 更多