Monday, October 26, 2009

閒來的 Ogng3D 工具更新

之前說過,我重新製作 Ogng3D 的設定工具,但在那之後,發覺其他工具也衍生了一些小問題,例如 Render Window 大小錯了一點點。所以在這幾天的重陽節假期,整理了其他工具的一些小問題。

有趣的是,在整理工具的問題時,卻忽發奇想地想到了一些點子,從中亦改善了 Ogng3D 中的一些功能。例如將所有的 Plugins DLL 都放到一個 Folder 裡面,可以在 ResourceGroup 以外的地方讀除 .cfg 檔案,Event 系統中的單一 Event 可加入多個 Callbacks ...... 等等。這些一點點的功能改善,雖然不是甚麼大功能,但卻可以在使用 Ogng3D 時更方便。

點子不單單是在一些細節上,亦在新功能上有一些,那是甚麼?就是人物更換裝備了。這個點子幾個星期前已出現在腦裡的了,可是 OGRE 是那麼的複雜,總是很難找到適當的方向或答案,但在這兩天好像看到了方向,遲些要找些時間來實驗一下。

看看現在的 Ogng3D,發覺她已經有八百多個 Functions 了,DLL 的檔案大小是 990KB ( Release 版本 ),對於一個 Game Engine 來說,可能不是很大,但我總是覺得有點臃腫,可能是因為 OGRE 吧,臃腫的感覺就是揮之不去。

Friday, October 16, 2009

Bayonetta 的一些有趣資訊

話說,新遊戲「 Bayonetta 」即將推出,我剛才便去一去官方網站看看,那裡其實有一個開發 Blog,良久之前到過一次,在她發售前去看個究竟。

當中有很多篇 Blog 也很不錯,其中有數段有趣的,和大家分享一下:

Prototype 影片:這片段看到遊戲初時的試驗。


Gameplay 影片:這片段有趣的地方是,當中沒加入任何 Effect


Source Code 影片:顯示了其中一個 Source code 檔案,內裡有 13000 行,而整個 Project 有約 1800000 行 Source code。

Saturday, October 10, 2009

Generic Approach

其實,一個遊戲引擎 ( Game Engine ),究竟能否用「 Generic Approach 」為方向呢?

為什麼要用 Generic Approach 呢?用這方案的好處,是比較容易組合配件,擴展性高而且靈活 ( 同事說,編程弱的也可容易做到,但我卻不懂... )。那麼究竟實際上是怎樣的呢?我個人的意見是,Generic Approach 是不適合用來製作 Game Engine 的。

電腦遊戲有很多很多的種類,尤其是 3D,是不太適合 Generic 化 Game Engine 及製作流程 ( 文檔處理不計算在內 )。適合 Generic 化的,只是 Graphic Engine、Audio Engine、Physics Engine 或 Script Engine。當所有東西組合成一個 Game Engine 時,需要的不是 Generic Approach,而是類似 middleware 的 API 或工具,Game Engine 的出現,就是可以提供這類 API 或工具。如果每一個遊戲,都是從那些單一 Engine 組成,那麼 Game Engine 的存在是怎麼樣的價值?

3D 遊戲要適合的 Engine 工具來製作

2D 或小型遊戲可能比較適合 Generic Approach ( 左圖 ),而 3D 遊戲就要適合的 Game Engine 工具來製作 ( 右圖 )。

最後補充一些,我想說的是不適合,不是絕對不可以。其實,甚麼事情也可以 Generic 化,只是看看最終出來的結果會是怎樣而已。

Thursday, October 01, 2009

VirtualBox 下的 Ogng'3D

在兩個星期前,忽發奇想地想在其他電腦上測試 Ogng'3D,所以便找來了 VirtualBox 軟件來試試。

圖中我在 VirtualBox 中執行了一個 Demo (OpenGL),再在我的電腦上執行同一個 Demo (DirectX),我有點驚喜的,因為在 VirtualBox 中執行的 Demo,執行速度上也真的很不錯,雖然 Demo 中只得一個 Actor (Entity),但感覺真的很有趣。