模型驱动架构探索之游戏引擎设计 (一)
一、分析与抽象:
我们想要构建一个游戏世界,即构建一个项目。需要将领域问题拆解,我的思路是,无论如何,第一部分一定是“动画模块”的设计,因为我对游戏的理解是“一部即使人为干涉的电影”。如果你放下手中的手柄、键盘,那他就是一部电影,而这正是游戏的基础。我将我的引擎名定义为OF(OlderFlower,因为我有一件小花衣裳,有个人称我为“老花”,故得此名)。
这个图便是我几经思考产生的架构图。因出发点是为探索“模型驱动”架构,故将采用“模型”+“配置”的方式实现游戏动画“对象”与“业务”的架构方式,约束用户在架构下编程的思想统一与编码统一。
注:图中虽然在垂直方向看起来有层次,其实并不是采用分层形式。而是以包(组件)的方式进行协作。
核心名词解释:
1.图片:一张图片。
2.动画(叫动作更合适) : 一组有序图片。
3.精灵(名称来源于互联网,别的引擎好像都这么叫,我也没用过,定义上可能会有区别,请勿先入为主而混淆):游戏世界各种物质的统一抽象。一个精灵包含多组动作。
4.场景:一些精灵共同构成的集合。
5.摄影机:特定场景下的捕捉局部场景的工具。