通常而言,对于不少开发人员而言,开发一款多人在线游戏通常是一件麻烦事,复杂的测试,繁琐的调试过程,还会时不时会出现一些几乎无法复现的BUG。另外,更让人抓狂的是,即便你的代码都能正常工作,但依旧有可能因为糟糕的网络而出现问题。
众所周知,利用Unity本身内置的多人联网功能(Multiplayer Networking)与高级应用程序接口(High Level API, HLAPI)可以实现创建多人工程。不过实际上除此之外,还有其它更为轻松的方式。本次我们教大家的就是利用国内一个名叫Matchvs的第三方插件工具来实现多人联网,实现过程十分简单且支持自定义拓展。
具体教程如下:
- 新建游戏
1.使用Matchvs游戏云需要AppKey、AppSecret,通过Matchvs官网创建游戏获取。进入官网
2.登陆官网,点击右上角控制台进入,若没有Matchvs官网账号。立即注册
3.进控制台,点击新建游戏,填写《游戏名称》即可,新建成功如下:
- 下载Matchvs游戏云
您可以通过访问 服务中心-SDK下载 下载Matchvs游戏云SDK。
- 加载SDK
- 初始化
注意 在整个应用全局,开发者只需要对引擎做一次初始化。
新建一个子类(如:MatchVSResponseInner)继承抽象类 MatchVSResponse,并实现其中的的抽象方法。
MatchVSResponseInner.cs
public class MatchVSResponseInner : MatchVSResponse
{
//实现所有父类的抽象方法
}
Matchvs 提供了两个环境,alpha 调试环境和 release 正式环境。
游戏开发调试阶段请使用 alpha 环境,即 platform 传参"alpha"。如下:
engine.init(matchVSResponses, "Matchvs", "alpha", 201016);
channel 固定参数为 “Matchvs” ,GameID 为你在官网上新建游戏后获取的ID信息。
- 开发游戏逻辑
如果是第一次使用SDK,需调用注册接口获取一个用户ID。通过此合法ID连接至Matchvs服务器。
engine.registerUser();
调用登录接口即可建立连接,此时用户ID和创建游戏后获取的AppKey、Secret、GameID为必要参数。
engine.login(3513,"ETOHLWXYJZMMNQUDQDPBAHMYKBQSLLCW",201016,1,"* ","afecedab415e40a4a1d1329962940191","","");
接下来就可以使用Matchvs提供的接口实现游戏联网逻辑,详情请参考 接入指南
- 发布上线
开发和调试过程在测试环境(alpha)下进行,调试完成后即可申请将游戏转到正式环境(release):
前往官网控制台进行“发布上线”操作,如图,点击按钮后即向Matchvs提交了上线申请。
申请通过后,在客户端的初始化接口将 platform 置为 release。
至此,游戏就可以运行在正式环境。