如何创造一个出色的HTML5游戏引擎


去年,我们获得机会能够基于HTML5为Spil games创造一系列5款麻将连连看游戏。我们创造的第一款游戏是《Dream Pet Link》。考虑到我们所分配到的任务是基于以下同样的机制但却...

去年,我们获得机会能够基于HTML5为Spil games创造一系列5款麻将连连看游戏。我们创造的第一款游戏是《Dream Pet Link》。考虑到我们所分配到的任务是基于以下同样的机制但却是不同的主题而创造4款额外的游戏,我们便假设是否能够反复使用同样的代码,即我们只需要编写第一款游戏然后为之后的游戏换入新图像和声音资产。

如果是这样的话一切就简单多了。

但这里存在一些问题可能让事情变得更复杂:

*想要在不具有同样机制的其它游戏中重新使用一些代码

*关于代码改变的不确定性必须适应图像和音频中的差异

*我们可以在之后的循环中发现功能和性能的完善

这些注意事项推动着我们去采取与预期不同的设计方法。在此我将与你们分享我在创造这些游戏的过程,以及在这些游戏和我们的其它HTML5游戏中创造代码库的过程。就像你们所看到的这样,这些过程都很顺利且非常有组织性。我也会描述为何JavaScript被当成是支持我们工作的最佳语言。

开启你的引擎

我们决定将功能整合到三个不同的框架里:

1.针对于特定游戏的代码和配置文件

2.所有带有这一机制的游戏将能够分享代码(我们将其称为LinkEnigine)

3.任何游戏都能够使用代码(我们将其称为绝对程序库)。

我们并不总是清楚该将特定的功能安置在哪个框架中。有时候我们将创造一个功能,并暂时运行它,然后意识到它其实可以变得更有效。之后我们将会把它推向下一个抽象阶段,即将其转移到一个不同的框架中。

在是时候创造第二款游戏前我们并不会开始从LinkEngine中分离出特定的游戏代码。等到那时候我们将会觉得自己能够处理绝对程序库中所需要的内容,但是从LinkEngine中分离出特定的游戏代码是一个需要付出额外努力的过程,即我们相信将比事先分离获得更好的结果。

标签: 游戏