Sunday, May 27, 2007

遊戲引擎補完計劃

將 Ngan-GINE'3D 的圖像部份,轉用 OGRE3D 的其中一個原因,是希望能夠達到所謂「跨平台」的目的,但是在原 Ngan-GINE'3D 的其他功能,都是用上 DirectX 的 ( DirectSound、DirectInput... etc ),為了達到跨平台,早前我決定要將 Ngan-GINE'3D 的其餘功能,都轉用其他跨平台的 3rd Party Library。

首先是自家的數學函數部份,不可以再用 Direct3D 的數學工具 ( D3DVECTOR3、D3DMATRIX... etc ),全部要轉為自己的數學工具,當然是以基本 float 這類資料為單位呢。

在 Input 部份,真的沒有選擇,只有「 OIS 」( Object Oriented Input System ),作為Keyboard / Mouse / Joystick 輸入。

最後是 Sound 聲音效果問題,我之前看過 OpenAL,但是這個真的很複雜,對我來說甚為不便。最後我發現「 irrKlang 」這個 Sound Library,用了大半天時間便成功代替了之前的 DirectSound,而且還支援多種聲效檔案格式,也算是不錯的。

就這樣,新 Ngan-GINE'3D 已接近完成 ( 這樣說的原因是,可能還有些小問題呢 ),整個引擎只是用了五個 DLL,感覺非常輕巧,而且所用的 Library 都是 Open-Source 及免費的 ( 只要不改動核心部份 ) ,基本上整個 Ngan-GINE'3D 可說是接近零成本 ( 使用 Visual C++ ExpressPellesC,都是免費的 ),感覺非常的良好。

No comments: