Networking 多人在线游戏之如何测试
NOTE : WIP, don't delete for this moment, please. Thanks :) 文档编写过程中
概述
Unreal Engine中开发网络游戏极为容易,但将C/S同置于一个项目,也许对于很多熟悉编写独立C/S的开发者来说比较不适应。将通过本教程介绍常见的几种多人游戏测试方法。 示例项目:Blueprint Third Person Template
服务器类型
在次之前先简单介绍UE4中两种服务器类型:
- Listen-Server :Listen-Server 表示玩家
- Dedicated-Server :与我们常见的无异
新建项目并运行测试
编辑器(PIE)中运行
点击Play右侧的小三角,现在我们主要关注:
Numbers of Clients : 当我们指定的客户端数量超过1个时,就表示我们想运行多人游戏了,这里最大数量是64,也就是最多支持64人。 Run Dedicated Server: 勾选表示运行独立服务器,不选择则运行Listen Server
点击Play就可以了看到立即实例化两个角色出来了。
其他: 根据需要,可以点击Advanced,模拟客户端的窗口的位置与大小。
虽然PIE测试很简单,但有些情况下PIE并不能满足我们的需求,比如说我们在测试另一个玩家开火的声音,或者看另一个玩家蹲下被爆头的效果等等至少需要两个人才能完成测试的条件下,PIE就难以满足。
以Launch方式运行
首先抱歉的是,我不知道该如何命名这个运行方式。
在你的编辑器也就是UE4Editor.exe目录下创建 分别运行客户端、服务端的快捷方式, 右击快捷方式, 加上参数,客户端很简单:127.0.0.1 -game - 示例: C:\UnrealEngine\4.2.1\Engine\Binaries\Win64\UE4Editor.exe D:\Project\Unreal\4.2\MyTPS\127.0.0.1 -game
服务端 : Listen Server: Example_Map?listen -game - 示例: C:\UnrealEngine\4.2.1\Engine\Binaries\Win64\UE4Editor.exe D:\Project\Unreal\4.2\MyTPS\MyTPS.uproject Example_Map?listen -game
Dedicated Server : <MapName> -server -log - 示例: Map5D -server -log
为什么要使用这种方式运行? 这是最接近编译结果的方式,你可以多人联机测试
以发布方式运行
发布游戏,我们需要打包游戏资源,编译游戏代码。如果你是刚刚开始学习UE4,这边的资料可能 有些繁杂。
UE4是开源的,就目前而言也是不成熟的,大部分情况下我们使用编译过的编辑器来工作, 不成熟导致我们在从编译好的编辑器下打包游戏时,只有DebugGame/Development/Shipping三 个选项,但没有编译客户端还是服务器的概念。
所以想要以发布的方式运行多人游戏,在本文里只介绍使用Listen Server,如果对如何打包 Dedicated Server感兴趣,可以看看我的另外一篇博文: Unreal Engine 4 Packaging与Cooking游戏项目
总结
联系我:hexcola