我开始为HTML5游戏制作引擎。很快,我对另一个项目感兴趣,基本上是一个进化模拟。模拟将在服务器上运行,但实际渲染将在客户端进行。我意识到我也可以在服务器端使用游戏引擎中的大部分类和代码。
现在,我不知道该怎么办。我可以选择创建一个“单片引擎”,它既具有双方的特定功能,又具有通用功能。或者,我可以创建一个单独的“游戏引擎”,并使用它来渲染模拟和制作游戏,以及一个具有模拟特定功能的独立“模拟引擎”。
monoluthic方法存在使代码库中的代码保持过大且无关的问题,而单独的方法存在两个代码库中具有相同类的问题。
我该如何处理这种情况?
如果它改变了什么,我用Javascript编码。
答案 0 :(得分:2)
听起来你需要隔离你认为两种用法之间的共同功能并将这些部分提取到自己的库中,我称之为“引擎核心”。那你基本上有三件事:“游戏引擎”,“模拟引擎”和“引擎核心”。游戏引擎和模拟引擎都会引用引擎核心,所以每当你对一块引擎核心进行更新时,游戏引擎和模拟引擎都会收到更新。如何实现这一点将取决于您使用的语言,但想法是相同的。