绪论
今天开始打算开始写博客记录下,打算记录下我毕业设计和游戏引擎开发的项目选定,并且也打算慢慢在游戏领域进行耕耘,在本科毕业前希望自己可以收获到心仪的offer
按我个人的习惯我喜欢用linux为主,相关的依赖一句命令就能解决,但是我又懒得开类似如nx端口去连接容器或是远程穿透服务器进行使用,综合考虑下我还是认为不如win+linux双平台同步开发会好一点,在windows自带的wsl下也可以做到跨平台使用,当然双系统也不是不行,感觉会麻烦点
介绍下所需依赖
windows需要git、cmake、python2.7和python3.6以上、GetGnuWin32、clang 、llvm、docker
linux同理,网上有许多相关的安装教程,其中windows安装clang会比较麻烦,按照官网的教程会编译非常久,建议直接下载完整llvm软件包一键安装+添加环境会比较方便,可以节省贼多时间
以下关于游戏引擎的一些基本需求和考虑:
- 游戏引擎本身用于学习底层的一些逻辑
- 代码应简明
- 不依赖特定的硬件环境
- 用标准技术去开发
游戏引擎大概会有以下的模块:
- 输入管理模块,用来获取用户输入
- 策略模块,用来执行策略
- 场景管理模块,用来管理场景和更新场景
- 渲染模块,用来执行渲染和画面输出
- 音频音效模块,用来管理声音,混音和播放
- 网络通信模块,用来管理网络通信
- 文件I/O模块,用来管理资源的加载和参数的保存回复
- 内存管理模块,用来调度管理内存上的资源
- 驱动模块,用来根据时间,事件等驱动其它模块
- 辅助模块,用来执行调试,log输出等辅助功能
- 应用程序模块,用来抽象处理配置文件,特定平台的通知,创建窗口等需要与特定平台对接的部分
我会在往后抽空完成这个项目,也是为了记录我的学习过程,通过这个项目我希望可以深入了解游戏引擎的组件,本项目源于陈文礼大佬的无私开源,我会持续跟进并做好代码复现的过程,加入自己的想法并进行深入学习