用于简单实时在线游戏的服务器架构

时间:2017-03-16 17:10:43

标签: server network-programming real-time

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

当客户端按箭头键时,将通知服务器并更改蛇方向。

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

选择A:服务器将蛇的当前方向存储在某些数据结构中。客户在每个滴答声中请求指示。

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

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

1 个答案:

答案 0 :(得分:0)

我首先要设计游戏逻辑,然后开始实现游戏逻辑。

我想我会开始这样的事情

考虑有2个玩家然后我会将游戏区域变成网格并且在一个多维矩阵中有蛇位置并在玩家之间传递它们

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

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

快乐编码!!!