diff --git a/doc/demo01_hello/engine-source.PNG.import b/doc/demo01_hello/engine-source.PNG.import new file mode 100644 index 0000000..86e3c30 --- /dev/null +++ b/doc/demo01_hello/engine-source.PNG.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/engine-source.PNG-6224446f4b0c318ef08a9533a9012997.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://doc/demo01_hello/engine-source.PNG" +dest_files=[ "res://.import/engine-source.PNG-6224446f4b0c318ef08a9533a9012997.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/doc/demo01_hello/hello.md b/doc/demo01_hello/hello.md index 43b65bc..5790152 100644 --- a/doc/demo01_hello/hello.md +++ b/doc/demo01_hello/hello.md @@ -3,13 +3,13 @@ - 比unity简单,更加易上手,GDScript学起来也比C#简单 ``` -大部分使用unity的都在和lua做斗争,虽然官方说用C#但是实际上工作用的大部分是lua,脚本中的脚本 +大部分使用unity的都在和lua做斗争,虽然unity官方说的是用C#,但是实际上工作用的大部分是lua,C#脚本中的脚本,比如原神就有用到lua 虽然unity可以把C#编译成二进制,但是使用这种方式也就意味着放弃了热更新 这个利弊对于不同项目不一样,需要频繁更新的游戏使用脚本语言更加友好,不需要频繁更新的完全使用C#也可以 -现在需要频繁更新的比如王者荣耀,大部分都是用h5页面去做了,这个只需要JavaScript就可以了,比较完美和超前的解决方案 +现在需要频繁更新的功能,比如活动,在王者荣耀中这些活动大部分都是用h5页面去做了,这个只需要JavaScript就可以了,比较完美和超前的解决方案 -GDScript兼顾性能的同时,还带来比较简介的语法,还可以热更新 +GDScript兼顾性能的同时,还带来比较简洁的语法,还可以热更新,只需要用一个语言,理论上远远比unity简单 ``` - 源代码开源,不收费,unity和ue都是要收费的,ue超过100万美元触发5%的分成费用 @@ -26,8 +26,7 @@ ue虽然开源源代码,但是代码量太大,历史包袱太重,不适合 ![Image text](engine-source.PNG) -- 自主可控,从开源软件的角度分析,godot是游戏引擎界的Linux,自己能够本地编译godot源代码,成就感爆棚 - +- 自主可控(避免被“卡脖子”),从开源软件的角度分析,godot是游戏引擎界的Linux,自己能够本地编译godot源代码,成就感爆棚 ``` 使用godot你既可以用GDScript去编写代码,也可以用C++去编写代码,还可以去改底层引擎代码 @@ -35,22 +34,22 @@ ue虽然开源源代码,但是代码量太大,历史包袱太重,不适合 ``` - 用godot你能感觉我能把控底层,我能把控每一行代码的底层细节,这个是程序员的浪漫,godot在国外比较火是有原因的 -- 避免被“卡脖子” # 为使用godot我应该选择什么语言,C# or GDScript -- 比python和lua更加简单 +- GDScript比python和lua更加简单 - 快速加载无需编译,无任何等待 -- 有内置的搞笑类型入Vector,更加有效率 +- 有内置的高性能类型入Vector,更加有效率 - 多线程支持更加友好,其它脚本多线程支持很差 -- 直接和godot内置引擎解析 -- gd是有垃圾回收(继承Reference)和无垃圾回收(不继承Reference)的结合体 -- 带GC垃圾回收器的语言虽然也是内存安全的,但由于GC的存在,已与底层无缘 +- 直接由godot内置引擎解析 +- gd没有gc,没有垃圾回收器,C#带GC垃圾回收器的语言虽然也是内存安全的,但由于GC的存在,已与底层无缘 - gds更加简单,支持的更加完整,而且是脚本可以热更新 - C#很多库用不了,有限制,如果是为了性能可以在godot中使用C++ -- C#对于godot来说比较重,推荐gds - unity在很久之前也同时支持过js和C#,最后放弃了js,主要是因为unity是mono和C#非常友好 -- godot使用C++去解释执行gds,这个时候对于godot来说比较重,推荐gds - 通过学习gds也可以学到一些编译原理的知识 - godot不仅仅是一个游戏引擎,而且还是一个优质的学习资源 -- https://www.zhihu.com/question/393440831 +- C#对于godot来说比较重,推荐gds + +### 参考资料 + +- [为什么unity愿意用c#作为代码语言,而虚幻却使用c++?](https://www.zhihu.com/question/393440831)