如何使用 Unity 3D 开发网络游戏
第一步 ,学习怎么做一个单机游戏。 第二步,在单机游戏做的比较好的情况下,学习服务器。做数据收发,人物同步。 第三步,维护,优化。 也就是 客户端,和服务器 。都要学。unity只是客户端。
在上两节中,脚本文件内容一直都是 Js。Ts 作为 Js 的超集,不能直接丢进 V8 中运行,其在运行时仍然是以 Js 形式出现的。
所以,还需要搭建 Ts -> Js 的编译环境。
Ts 编译器有很多。例如:tsc(亲儿子)、esbuild、swc 等
这里将介绍两种方案:
可以将以下内容,复制到初始化好的 packagejson 中。
这里稍对其内容稍作介绍
在项目目录下运行 yarn 或 npm install 来拉取依赖到本地,拉取到的所有的依赖都将保存在 node_modules 目录中。
该文件用于配置 Ts 的 相关配置项
修改文件内容如下,稍后对参数稍作讲解:
参数基本说明:
该配置文件主要有以下几个作用:
对于该配置文件有以下几个要求:
在 Assets/Editor/ 目录下(没有则手动创建该目录),创建 PuertsConfigcs 文件,内容如下:
出于轻量和速度考虑,且这里只需要对 Js 进行一些简单处理,并不需要用到诸如 Webpack、Grunt、Gulp这些强大的工具。
所以自己撸一个编译相关的处理脚本,在项目根目录下创建 Buildjs ,其内容如下:
运行 yarn run watch:swc 或 yarn run watch:tsc 启动监听编译,这样 TypeScript 目录下所有的 ts 文件有任何改动。都会实时编译。
在 TypeScript/ 目录下创建 maints 文件,内容如下:
看一下 Assets/StreamingAssets/Scripts/ 有应该有编译出对应的 Js 文件,如果没有可以尝试重新保存一下文件或执行 yarn run build:tsc 手动编译(只编译一次)。
试着运行下游戏试试吧!
如果对楼主有帮助,给个采纳好不,谢谢啦
Photon和KBEngineunity3d是最适用Unity3d游戏开发的两个服务器引擎,但它们还是有区别的,只有清楚地了解区别在哪才能正确使用,下面简单描述下两者的共同点和不同点。
语言
对于大部分的程序员语言简直就是宗教信仰。
Photon使用C#开发,当然使用者也是用C#进行各类游戏功能开发。前后端同种语言,这对使用Unity3d游戏开发也有很大的好处。
KBEngine使用C++开发,逻辑开发是用python,也是很不错很快速的。
开源与收费情况
Photon是Exit Games公司的产品,不开源,有好多种收费模式,官网上可以看到。开发阶段可以用免费的license,后期可以看流量用户活跃度来选择付费模式。后续的支持,似乎是免费的,你可以选择邮件或是到论坛发帖求助,当然是E文。
KBEngine是国人开发,开源免费,但从官网上并没有看到商业使用的案例。有中文论坛,你可以在论坛上向开发者求助。
虽然两者的模式不同,但作为一个Unity3d游戏开发者,我们最希望的其实是把游戏引擎当作一个安全稳定的黑箱。
操作系统
之前说了Photon使用C#开发很自然的,配套的工具也是使用C#,比如最重要的PhotonControl。所以开发环境和生产环境最好都是windows。
虽然在跨平台上有mono,在服务器代码部分是系统无关的,但是不管你信不信,我是不信它的一套窗体工具也能运行在Linux下。反正,官网说法是,开发和生产环境都是用windows。
KBEngine建议开发环境选择Windows,生产环境选择linux。毕竟你总不希望开一组服务器打开9个Console窗体,一不小心把哪个点X了吧~
协议
Photon有自己的序列化反序列化方式,你也可以使用protobuf这类的来做应用层传输协议。
KBEngine在这方面表示不支持自定义协议,它帮你选择了有效的方法来处理,如果你习惯了他规定的方式,会喜欢上的。
看法
在功能上,我毫无疑问地更喜欢KBEngine,脚本化和自动持久化是极富魅力的功能。而Photon几乎没做这方面的功能,可能和老外的观念有关系。就目前我对两者功能的理解看来,Photon其实是个和SuperSocket差不多的东西,而SS是作为轻量级服务器框架存在的,Photon却是说自己是Unity3d游戏引擎,除去提供的MMO示例代码(未解读),没看到什么游戏引擎的魅力。
0条评论