0
已解决
薛乘志
初级启示者
初级启示者
今天,我的第一个多人联机游戏贪吃蛇的基本代码写完了,也发布了
但是我对于联机游戏结构的思索仍然没有停止
目前,我的贪吃蛇基本结构为:
服务端:
主要部分类似于单人游戏。
主函数不断接受玩家加入请求
接收后为每个玩家单独创建2个线程,负责接受和传输
传输线程每次生成如单人游戏的字符信息并传输过去
接受线程接受客户端传来的键盘事件并处理
客户端:
接受服务端传来的字符信息并输出,获取键盘输入并传输到服务端
优点:
结构简单,理解方便,与单人游戏差别不大
只传输生成好的字符信息高度防止客户端作弊
缺点:
服务端**能较低(毕竟承包了不少应该是客户端运行的代码)(简称暴力算法)
其他奇奇怪怪的BUG容易出现(如玩家退出仍然运行处理他的代码等)
我认为,多人游戏主要需要解决这几个问题:
1. 联机通信效率较低,**处理耗时较高
2. 联机游戏玩家数量不定,需要接收玩家随时进入,如何处理玩家上线/下线问题
3. 服务端崩溃导致客户端出现问题/客户端崩溃导致服务端出现问题
4. 服务端处理多玩家同时操控游戏的优先级问题
大家有什么想法或建议,可以讨论下