用 Unity 开发 MMO 类似的多人在线游戏使用什么样的网络方案?

2016-02-22 14:42:43 +08:00
 denghongcai

目前用的 Unity 5 ,内置的有 UNET ,看起来挺美好,对象状态的同步之类的都帮你做了

但是怎么看怎么像只适合局域网联机的游戏用,官方提供的 Internet Service 又让人觉得很虚,总不能把基础都交给别人吧

我现在的想法是按照 Unity 的 API ,以尽量兼容的方式写一个自己的框架出来,也得解决状态同步之类的事情,但是 UNET 封装的太严密了,反而没有 Unity4 的好加个 wrapper

有做游戏开发的同学可以分享一下网络联机的方案吗?

11450 次点击
所在节点    游戏开发
15 条回复
yueyoum
2016-02-22 16:37:06 +08:00
服务器 bind 到一个地址 监听,
客户端 socket 连接

处理消息,同步状态,
dustfall
2016-02-22 16:46:21 +08:00
推荐去看 ue4 的官方文档和源码
MiguelValentine
2016-02-22 17:00:13 +08:00
虽然帮不上才才什么忙,我还是可以来吹水的
denghongcai
2016-02-22 17:36:01 +08:00
@dustfall Unity 5
denghongcai
2016-02-22 17:36:07 +08:00
denghongcai
2016-02-22 17:40:10 +08:00
@yueyoum Unity 5 把老的比如 NetworkView 之类的都标为 deprecated 了,新的 High Level API 封的太死

看来自己重新写一套是最好的选择了,基础库还是逃不掉的
skyblue
2016-02-22 17:40:48 +08:00
虽然帮不上才才什么忙,我还是可以来吹水的
skyblue
2016-02-22 17:41:22 +08:00
虽然帮不上才才什么忙,我还是可以来吹水的.
yuchting
2016-02-22 20:53:47 +08:00
我使用的是 socket(System.Net) + 自定义协议+Google Protobuff ,服务器用 java 的 Netty ,完鸟。

从不用自己看不了或看不懂的库。
fffonion
2016-02-23 09:47:32 +08:00
噫你怎么开始做游戏了[doge]
我之前看到过一个手游,是 unity 里搞 websocket …
gao117348222
2016-02-23 09:48:56 +08:00
给你一个关键词 unity photon
denghongcai
2016-02-23 11:23:06 +08:00
@fffonion 诡异的工作 2333 ,也是当玩啦
denghongcai
2016-02-23 11:24:40 +08:00
@gao117348222 谢谢,这个 framework 看起来比 UNET 靠谱多了
chrislon
2016-02-28 09:36:00 +08:00
@denghongcai http://v2ex.com/t/259592 正好有 Unity5 的 demo
kytoo
2016-03-29 21:33:27 +08:00
普通 socket + Google Protobuff ,经历数个项目感觉稳定良好。

另推荐使用开元的 NF 服务器引擎, https://github.com/ketoo/noahgameframe

目前引擎已在数个大型商业游戏使用过,有支持 unity 的客户端源码和网络库,稳定,高效的开发方法,正好满足你的需求。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/258228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX