2.实例化的优点

但实例场景带来的最大优势在于它可以作为一种优秀的设计语言。这也是Godot区别于其他游戏引擎的主要因素。Godot引擎就是围绕着这个概念从头设计的。

当使用Godot制作游戏时,推荐的方法是把其他的设计风格例如MVC(模型-视图-控制器模式)或者实体关系图(E-R图)抛开,并且开始以一种自然的方式思考游戏。开始想象游戏中的所有可见元素,那些能够不只被程序员,而是能被任何人命名的东西。

比如说,想象一下有一个简单的射击游戏:

../../_images/shooter_instancing.png

对于几乎任何类型的游戏,想出这样的图都很容易。只需要写下游戏中可以看到的部分,然后加上箭头来表示它们的所属关系。

一旦形成了这样的图,制作一个游戏就可以是为每个图中的节点创建一个场景。然后使用其实例(或通过代码,或通过编辑器)来表达所属关系。

在编程游戏(或一般软件)上花费的大量时间主要用于设计架构并使游戏组件适合该架构。基于场景的设计取代了这种方法,使开发更快,更直接,让您专注于游戏逻辑本身。因为大多数游戏组件直接映射到场景,所以使用基于场景实例化的设计意味着需要很少的其他架构代码。

我们来看看另一个更复杂的开放世界类游戏的例子,它有很多资源和嵌套元素:

../../_images/openworld_instancing.png

看一看房间(Room)元素。我们从这开始。我们制作几个不同的房间场景,里面有不同的家具(和场景)布置。然后我们做一个房屋(House)场景,用这些房间来填充内部。

然后,我们可以制作一个城堡(Citadel)场景,有许多实例化的房屋在里面。然后我们可以在世界地图地形(Terrain)上工作了,将城堡添加进来。

然后,我们可以创建代表卫兵(和其它NPC)的场景,并将它们添加到城堡中。因此,它们会间接地被加入到整个游戏世界。

使用Godot,就可以很容易像这样迭代你的游戏,因为你需要做的就是创建和实例化更多的场景。编辑器UI也被设计成对程序员和非程序员都友好,一个典型的团队开发过程会涉及2D或3D美术工作者、关卡设计师、游戏设计师、动画师,他们都可以这个编辑器界面工作。

猜你喜欢

转载自www.cnblogs.com/empist/p/10198521.html
2.