想编写一个小小的在线游戏,但是发现用编写web server的思路编写game server完全行不通,比如我目前想到了以下几个比较幼稚的问题需要解决:
• game server是不是比web server更高并发?
• 如何做反作弊?纸牌游戏还好,每一步都可以交给服务器处理和校验。但是实时性高的在线射击游戏哪些逻辑会放在客户端,哪些放在服务器,如何实现反作弊?杜绝反作弊是不是永远都不可能的?为什么?
• http协议是不是已经不适用于游戏通信了?个人猜测是因为TCP协议要求可靠导致通信时间过长?那一般使用什么协议进行通信?这类协议的特征是什么?网页游戏有没有什么好的解决办法?websocket效率如何?
• 例如我要实现多房间同时进行游戏,那我应该如何做?目前有两个想法,选择一是有多少个房间就运行多少个实例,但如何分配实例与线程资源的关系?二是可不可以有一个或几个总控,根据输入的数据处理后返回,逻辑在这里,数据在别处,类似于单例模式
最后,有没有这方面的文章和书籍可以参考?
多谢各位啦
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.