写点什么

游戏夜读 | 怎么做联网五子棋?

用户头像
game1night
关注
发布于: 2020 年 10 月 12 日

五子棋是一个比较熟悉的游戏了。它既能跟井字棋一样,用纸和笔开始游戏。也可以拿围棋的一套装备,煞有介事地来玩。还可以自由发挥,在原有的简单规则上添油加醋。那怎么做联网的五子棋游戏呢?

首先,要联网,要建立端到端的通信。

这里要考虑两个问题,第一是“实现的手段是什么?”第二是“准备几个端之间的通信?”

第一个问题,实现的手段用 socket 通信技术,选一种叫 UDP 的连接——因为这种连接实现起来比较省事。第二个问题,采用一个服务器端,一个客户端,一共两个端——因为这样实现起来比较省事。

其次,是要分析五子棋的游戏机制。可以从下期的流程来看。

棋盘拿来!道具的准备,包括棋盘、棋子(黑色/白色)。

谁先开始?轮到谁了?下棋的秩序,包括双方:我方+对方。轮流下棋,这也是玩家之间通信的主要内容。

对方下在了哪里?我要怎么下?也是玩家之间通信的主要内容。

下哪里?落子的有效性。只能下在棋盘上空的位置上。

如何判断胜负?谁赢谁输?获胜的条件:一方率先完成五子连珠。

不玩了!道具的回收。退出游戏,关闭窗口。

经过一系列的设问,能更加熟悉五子棋的游戏机制,逐步明确要实现的核心逻辑是哪几个。

最后,还得进行交互设计要素察觉。

一方面,先确定交互内容,可以从以玩家为中心的输入输出(IO)信息汇总。例如,玩家从游戏系统咨询获取的信息可以有:现在轮到我了吗?刚才对方下在了哪个/哪些位置?刚才我下在了哪个/哪些位置?现在我可以下在这个位置吗?悔棋?现在我可以放弃/投降/直接退出游戏吗?现在谁胜谁负?再例如,玩家向游戏输入的信息有:我要开始玩了!我要落子在这个位置!我不玩了!我要退出/关闭游戏!

另一方面,根据上述筛选出的交互内容,可以选择出合适的交互方式。例如:鼠标左键,点击操作。点击棋盘进行落子的确认,点击按钮提交信息等。

接下来,是时候开始准备真正的排面了——各种素材!前面逐步确认的交互内容、交互方式,还只是逻辑框架,在具体的游戏制作过程里,这些都要被实实在在的“素材”填充起来!首要的,就是信息传递用途的素材,像交互主界面棋盘、交互主元素棋子、信息展示窗口、退出选项等。其次的,是影视听等素材,像动画、音乐等。

文/良宵听雨。授权“游戏夜读”发表。


发布于: 2020 年 10 月 12 日阅读数: 37
用户头像

game1night

关注

烦请督促我的游戏功课喔! 2017.04.06 加入

计划坚持创作以“游戏夜读”为主题的短文,并以这些杂文作为连载公开发布。烦请大家一起督促我的游戏功课喔!欢迎关注和阅读,如有不足,可直接留言批评,会继续努力!

评论

发布
暂无评论
游戏夜读 | 怎么做联网五子棋?