作为一名业内资深的游戏开发人员,经常会遇到实习的新同事在工作中会问到这样的问题:
工作中到底有哪些开源游戏服务器框架,该去值得学习呢?
囊括到node.js 、java、C#、golang 、c++、python 等技术栈有各种各样的游戏框架。
本文给大家总结了一些github上star和fork比较常用的且有一定数量的较为完整的框架做了一个说明,大家可以往下看。
地址: https://github.com/cloudwu/skynet
基于此引擎开发的游戏众多,很多棋牌小企业在用,例如简悦的 陌陌争霸 、 食物战争 等等很多产品...
地址: https://github.com/NetEase/pomelo
一花科技等棋牌在用
地址: https://github.com/ketoo/NoahGameFrame
代表作全民无双
地址: https://github.com/kbengine/kbengine
已经被电魂网络收购
地址: https://github.com/egametang/ET
经过产品验证并且教程比较完善
地址: https://github.com/topfreegames/pitaya
zooba appstroe排行很高的moba、吃鸡类游戏
但是,像c++类的框架对新手要求较高。
亦或者node.js类框架性能确实差一些,毕竟它是针对io密集型。
阿博自己的话使用的是pitaya这套框架。毕竟支持分布式使用的技术比较新,也经过各种验证。 其他的就先不做评价,留着给大家发表一下意见。
毕竟,只要适合自己的才是最好的。
是的不......
这是肯定的,多线程的网络服务当然会比单线程要慢得多, 每多开启一个线程,系统资源就会多分配一份. 特别地,如果多线程之间需要做到线程同步,那就更慢了.但是socket服务器是不可以用单线程来处理客户端请求的,因为IO读写操作总是阻塞的,不可能让一个用户总是等另一个用户处理完了才有机会被处理.
异步IO操作是比较好的方法, 如果你需要做的是一些比如网络聊天室, 棋牌游戏等socket服务器, 你可以考虑Apache开源项目MINA框架来做(它封装了NIO), 这个非常简单, 看一下他们的例子程序和说明文档就可以做一个简单的服务端了.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)