Saturday, June 30, 2007

近來的遊戲開發構想

我總是覺得,遊戲引擎的製作,應該針對「遊戲種類」的。但一些基本的功能,在任何的遊戲引擎中亦要存在,例如圖形渲染、輸入及聲效功能等等。近日我都在想,究竟一個遊戲引擎的基本功能要有那些?我覺得在幾年前,在我的舊網頁中所說的,應該是最基本的了,因為那些功能是做一隻 3D 遊戲的基本,但是還有甚麼呢?我想應該是 Network 及 Script 引擎吧。

有關 Network 及 Script 引擎,我真的要投降了,這兩方面我從未接觸過。但是若然我自己真的要做個完整的遊戲,那麼這兩個近多年來盛行的技術,始終要學會的呢。如果要選擇先學其中一樣,那麼我會選擇 Network 部份,因為我想,如果能在「 Final Spike 」中加入 Network Play 的話就最好了 ( 我還是想完成 Final Spike 呢 ) 。

用 OGRE'3D 有時候亦有令我高興的時候。話說我早前已做了一個 Mini-Map,另外用自己的方法做了個 SkyDome ( 非 OGRE'3D 內建那個 ),但我希望在 Mini-Map 中,不顯示那個 SkyDome ,我後來用了那個 setVisibilityMask 來控制那些東西要 Render 出來,藉以剔除那個 SkyDome 不在 Mini-Map 中出現,簡單而且有效。

Thursday, June 28, 2007

討厭的...... ( 牢騷 )

眾所週知 ( 有點自大... ),我的遊戲開發工具是使用 MilkShape3D 的,而 MS3D 在早幾個版本中,已加入了 Vertex Weight 的功能。在 OGRE3D 中,亦有給 MS3D 用的 Exporter,但奇怪的是,就是未看到 MS3D 的 OGRE3D Exporter,有支援這個新的 Vertex Weight 功能,那我便在 Forum 中問問,OGRE3D 的主理人答覆,說已在最新的 MS3D Exporter 加進了。

但是,我下載了最新的 OGRE3D Exporter 及安裝後,卻不能夠正確地 Export 出帶 Vertex Weight 的 Mesh ,究竟是怎麼一回事呢?但是 OGRE3D 的主理人卻說應該沒問題的,在滿腦子謎團下,再下載OGRE3D 的 Source Code ( 內連 Exporter Source Code ) 看看,但我發現的是,Exporter 的 Source Code 中跟本就沒有加進 Vertex Weight 的功能,感覺就像被人欺騙了。

最後還是要靠自己了,用了三晚的時間,將 Vertex Weight 加進這個 MS3D 用的 OGRE3D Exporter。

Tuesday, June 19, 2007

寫程式的速度

我所說的,不是程式的速度,而是小弟寫程式的速度,確實是有一點兒緩慢。

一個例子,因為我的新 Ngan-GINE'3D,是沒有辦法改變設定的 ( 如:解像度,是否 Fullscreen... etc ) ,那麼我便想製作一個 Win32 模樣的 " Config-Maker " 出來用。問題出現了,我從沒試過用 Win32 的 API 來寫程式,究竟要如何開始?我啟動了 PellesC,她內部有一個 Designer 工具,用來製作 Win32 程式的,這個工具頗簡單,三扒兩撥便可以設計好一個 Win32 程式的外型了。可惜的是,我完全不知道那些 Controls 是怎樣用的,甚麼 ComboBox、ListBox、TextBox,甚至一個簡單的 CheckBox 我也不懂怎樣去處理。再看下去,又要有甚麼 SendMessage、 SendDlgItemMessage,頭昏腦脹下去 Internet 看看,但看到的都是一些複雜的 C++ class 例子。

到了最後,我用了大約兩天的時間,才完成這個只有兩個選項的 Win32 程式,已足夠令我質疑自己的編程能力。

Sunday, June 17, 2007

OGRE 下的追尾 Camera

要用 OGRE,來做以往用 Direct3D 做過的追尾 Camera,真的有點困難,因為 OGRE 在 Concept 上真的很不一樣,令我難以捉模。用了差不多兩天的時間,才能做得到,可惡。

我進一步不喜歡 OGRE 了,不是因為她的複雜,而是她的 Pipeline,我就是弄不明白。Camera 究竟是在何時更新的?那個時間可以做 Ortho View?究竟有沒辦法簡單地做 2D Render?以上種種問題,對我來說,跟本就是一個「」!

Saturday, June 02, 2007

妥協後的玩具

究竟要自己做 Collision Detection 有多難?當你有要求的時候,確實是很難。

能夠運行是不難的,但是物件的移動速度,會直接影響結果才是最難。物件現時的位置,和下一個 Step 的位置差距,會導致物件由 A Sector,突然移到 B Sector,真的可惡。在不得要領,及沒有解決方案的情況之下,可以做的就是妥協,還是用 Physics Engine 做吧,幸好我只用了一個星期的空餘時間做實驗,就當是一種學習過程。

三隻巨像終於入手!「 汪達與巨像 」的 Figure,前兩天到手了。這套 Figure 每隻是 718yen ( 約HK$ 50 ),但卻被炒高至每隻 HK$150 ,幸好我家姐到日本旅遊,順道幫我買了幾隻,雖然不能買齊一套 7 隻,但也很開心 ( 圖中有巨像 5、12 和 16 )。