最近朋友想一起做个2D游戏,也想用Unity练练手,查找下资料,本想用UNet但已被Unity弃用了,查了些资料有一些替代资源可用,如SmartFoxServer、Photon、Mirror等,更多参见此。
我们有以下需求:
- 免费,我们只是想尝试性的做个游戏看看,做游戏产品本就很难赚钱,100CCU能赚到钱吗?
- 支持服务端硬件引擎,如UNet一样,否则处理各种碰撞检测等会相当麻烦;
- 能比较快速做出原型和产品;
- 开源最好,这样即使有问题的时候我们也有可能直接修改而不必等待。
基于以上几点,选择Mirror开始入手。
百度查了下Mirror的资料,没找到一个中文的说明(也有可能它的引擎就是找不到想要的东西),决定简单记录下这个过程,备忘也供其他朋友参考。
下载使用
Mirror 官网:https://mirror-networking.com/
Mirror Github:https://github.com/vis2k/Mirror
Mirror 文档:https://mirror-networking.com/docs/
从此处下载package,打开Unity(我用的2019.2.0f1)导入package。
从中可以看到有认证、网络动画、网络大厅、网络房间等组件,还有例子程序。
例子程序
引入后例子都在这,直接打开Scenes下对应场景查看
Basic
游戏只显示了玩家名字和数据,如下:
有个Player.cs,里面有一些基本方法,如OnStartServer、OnStartClient、OnStartLocalPlayer等,还有SyncVar,看起来与UNet相似。
NetworkManager
Network Manager HUD基本界面,Network Manager中网络配置、网络传输协议、Spawn配置等。
Tanks
Pong
这个官方说是比较好的说明了用Mirror开发一个多人游戏的用法。
AdditiveScenes
怎么在主场景中动态加载子场景
Room
这个例子说明怎么在多个玩家准备好后,再一起开始进入场景。
应用
从Mirror自带的几个例子运行来看,与UNet应该是很相似,也能满足我的需求。