2012-08-03 85 views
0

我開始製作HTML5遊戲的引擎。很快,我對另一個項目感興趣,基本上,它是一個演化模擬。模擬將在服務器上運行,但實際的渲染將發生在客戶端。我意識到我可以在服務器端使用遊戲引擎中的大部分類和代碼。如何在這種情況下處理代碼重用?

現在,我不知道該怎麼辦。我可以選擇創建一個「單塊引擎」,它將具有雙方的特定功能和通用功能。或者,我可以創建一個單獨的「遊戲引擎」,並使用它來渲染模擬和製作遊戲,以及具有仿真特定功能的單獨「仿真引擎」。

monoluthic方法的問題是使代碼庫中的代碼太大且不相關,而單獨的方法存在兩個代碼庫中都有相同類的問題。

我該如何處理這種情況?

如果它改變了任何東西,我使用Javascript編碼。

回答

2

聽起來像你需要隔離你認爲是兩種用法之間的共同功能,並將這些片段提取到它自己的庫中,我將其稱爲「引擎核心」。那麼你基本上有三件事:「遊戲引擎」,「模擬引擎」和「引擎核心」。遊戲引擎和仿真引擎都會引用引擎核心,因此無論何時您更新引擎核心,遊戲引擎和仿真引擎都會收到更新。這是如何實現的,取決於你使用的語言,但這個想法是一樣的。

+0

在C或C++中,您可以將通用代碼存檔到可以鏈接的庫中,在Java中您可以使用Packages,在Perl中,您將使引擎成爲單獨的模塊。無論語言如何,這都是正確的。 – djechlin 2012-08-03 22:03:12

相關問題