这两年接触了一些比较成熟的商业引擎, 慢慢得思想有所转变
以前总以为, 哪个引擎代码写得好看就牛, 太偏激了
很多商业引擎的代码那叫一个乱~
后来觉得引擎工具很重要, 没有经过成功项目的引擎不是好引擎..., 开始从另一个角度看待一下引擎开发
之前有说过, 引擎可以看作是一个资源管理器, 它的作用是对资源的创建, 编辑, 整合
那这三个大的方面可以从微观的角度看: 那就是它们都是一些基本元素的组合
拿一个模型来说...转成引擎术语, 其实就是基本数据类型构成属性, 属性构成组件, 组件组成实体, 实体组成场景, 再加上各种行为与事件, 成为一个游戏
这里面有三个关键的技术点, 那就是反射, 序列化, 组件模式
这三个技术点成就一个成熟引擎所具备的特征..., 那你的编辑器就基本完成了
你再也不用开发一个功能就到面板上加一个控件, 改一下保存/加载的版本号了
到这, 引擎已经有一个很好的底层了, 再就是考虑怎么灵活地去进行游戏开发
组件模式就是为了资源驱动...或者叫Template
因为你所创建的实体都是各种组件的集合, 每次都去一个个的组装起来很麻烦
所以需要一个模板, 这个模板可以是一个物体, 也可以是多个
这些模板才是传统引擎中的resource的概念