GodDot引擎本地编译过程

  • Post author:
  • Post category:其他



一 学习目的

进入游戏行业工作也有两年了,游戏也制作了一些(开发周期一两周小游戏10款左右,大型项目也跟过),平时工作也满满当当,但是两年后回想起来,觉得自己只做了一些皮毛的工作,内功并没有增进。思来想去,决定研究一下引擎内部的工作原理。挑选GodDot的原因,主要是在找开源引擎的过程中,发现其在Github上的star数最高,盛名之下无虚士;其次是他的界面看起来很丰富;希望能在攀登的过程中有所收获。

二 学习思路

我觉得一款引擎作为一个庞大的代码集合,必定有其开发的架构,需要跟着框架走。因为凭我的经验来说,如果不知道原理,不知道目标,就一头扎进去,很容易迷失在繁杂的代码中,前进也不是,下潜也无益。先定一个小目标(laugh),找到框架。

三 正式开始

首先从Github上找GodDot的仓库(不知道怎么回事,我之前看的时候还在,刚刚去找不见了,从码云的镜像找了一个)克隆到本地之后,文件列表如下

翻看之后,发现开发语言主要是c++。另外点进core文件夹,发现了一个不认识的文件

还有一些python文件

(glsl?是shader吗)

下载下来之后,尝试编译一下,官方已经给了编译说明:

SCons。。没听过,但是官方似乎十分推崇,并且坚持不用CMake,VisualStudio。VisualStudio编译毕竟只是微软专属,但是GodDot作为跨平台的开发引擎为什么不选择CMake。一个原因是CMake不够强大。GodDot需要复杂的逻辑来支持其编译(包括动态分析代码,例如shader;生成文件等)

(看来GodDot有点嫌弃CMake不够强大啊only meant for building CMake:你直接念我名字得了)

Windows下需要一个


x86_x64 Cross Tools Command Prompt for VS 2017

的工具

这是个shà(VisualStudio Installer里面没这个工具)百度了一下,

应该是安装了visualstudio之后自带的,果然,windows下一搜就找到了

找到工具之后继续走

欸,怎么就开始用Scons干活了,我连这个是什么都还不知道呢。。算了,先去看一下Scons吧

python就有这个包

切换到工作目录 cd /d E:\Work\godot 执行命令 scons platform=list

报了一个错误

删去空格(无语,空格都不检测)

开始编译

scons platform=windows

报了一个跟之前一样的错 (看来这个Scons 平台指定错误,就直接按当前平台编译了)这次看下具体报错

1 缺少环境变量 WindowsSdkDir

2 没有找到库文件stddef.h 以std开头,应该是标准库文件

项目中用到WindowsSdkDir 的地方

一个叫os.environ 一个叫os.getenv 看来是获得环境变量

看下了下电脑的环境变量

果然没有WindowsSdkDir变量

编译成功



版权声明:本文为qq_34796157原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。