眾所週知 ( 有點自大... ),我的遊戲開發工具是使用 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。
Thursday, June 28, 2007
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 程式,已足夠令我質疑自己的編程能力。
一個例子,因為我的新 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?以上種種問題,對我來說,跟本就是一個「謎」!
我進一步不喜歡 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 )。
能夠運行是不難的,但是物件的移動速度,會直接影響結果才是最難。物件現時的位置,和下一個 Step 的位置差距,會導致物件由 A Sector,突然移到 B Sector,真的可惡。在不得要領,及沒有解決方案的情況之下,可以做的就是妥協,還是用 Physics Engine 做吧,幸好我只用了一個星期的空餘時間做實驗,就當是一種學習過程。
終於入手!「 汪達與巨像 」的 Figure,前兩天到手了。這套 Figure 每隻是 718yen ( 約HK$ 50 ),但卻被炒高至每隻 HK$150 ,幸好我家姐到日本旅遊,順道幫我買了幾隻,雖然不能買齊一套 7 隻,但也很開心 ( 圖中有巨像 5、12 和 16 )。
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++ Express 及 PellesC,都是免費的 ),感覺非常的良好。
首先是自家的數學函數部份,不可以再用 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++ Express 及 PellesC,都是免費的 ),感覺非常的良好。
Thursday, May 24, 2007
令人討厭的OGRE
Monday, May 21, 2007
Level Map Collision Detection
早前我說過,不想再用 Physics Engine 來做 Collision Detection,另外亦構思了一種方法來代替,在過去的週末,也正式開始了新構思的實驗。
我的方法其實很簡單,就是「人手規劃」方法,原先我的 Ngan-GINE'3D 中的設計,已經將 Render 和 Collision 的地圖作分開處理,這樣其實已經對人手規劃法埋下方便的伏線,加上我的 Collision 地圖資料已經是 Sector 形式儲存,用於人手規劃法時亦不需要改寫,在種種理由下,似乎不得不實驗一下這個「人手規劃」方法。
朋友問道:「會不會有 Precision 問題?」
我答:「不知道,但是數年前的 Final Spike 參賽版本,都是以這類形式製作,相信問題不大。」
我的方法其實很簡單,就是「人手規劃」方法,原先我的 Ngan-GINE'3D 中的設計,已經將 Render 和 Collision 的地圖作分開處理,這樣其實已經對人手規劃法埋下方便的伏線,加上我的 Collision 地圖資料已經是 Sector 形式儲存,用於人手規劃法時亦不需要改寫,在種種理由下,似乎不得不實驗一下這個「人手規劃」方法。
朋友問道:「會不會有 Precision 問題?」
我答:「不知道,但是數年前的 Final Spike 參賽版本,都是以這類形式製作,相信問題不大。」
Saturday, May 19, 2007
Friday, May 04, 2007
為什麼要 Physics Engine ?
我近來有個想法,就是不再用 Physics Engine 來做 Collision Detection,反而用最簡單 Point Plane 及 Polygon 的 Collision,為什麼我會這樣想呢?原因有而下幾點:
1) Time Step 問題,很難做到不同的 PC,有一樣的效果
2) 對 Low-end PC 是一種沉重的負擔
3) 程式變得複雜,導致難以控制
4) 如果遊戲中沒有 Physics game-play,變得沒意義
確實,沒有 Physics Engine,那麼 Collision 就要自己做,而近來除了想不再用 Physics Engine,亦想著要怎樣才可以代替她,而又可以盡量做到小問題,我的構想也差不多成型了,只要實踐來證實可行,希望有時間試試吧。
1) Time Step 問題,很難做到不同的 PC,有一樣的效果
2) 對 Low-end PC 是一種沉重的負擔
3) 程式變得複雜,導致難以控制
4) 如果遊戲中沒有 Physics game-play,變得沒意義
確實,沒有 Physics Engine,那麼 Collision 就要自己做,而近來除了想不再用 Physics Engine,亦想著要怎樣才可以代替她,而又可以盡量做到小問題,我的構想也差不多成型了,只要實踐來證實可行,希望有時間試試吧。
Tuesday, May 01, 2007
現實中的千與千尋
今天是假期,電視台亦在今早播放日本卡通電影「千與千尋」,我亦有重溫這套卡通。「千與千尋」是一套很有寓意的卡通,往往看後也會令我回想身邊的人和事,以及自己處事方法。
無知的父母,迷失的小孩,利慾的婆婆,沒家的白龍,被污染的河神,物質主義的無面人,被過份寵愛的嬰孩... 等等,環顧周圍,亦不難發現身邊都有剛才所說的人和事。但是世界並不會因為這些事而停下來,每一秒鐘也有不同的事情發生,我們會因為周遭有很多事發生,而遺忘了很多對自己重要的事情,就正如「千與千尋」中,忘掉了自己的名字,被迫留在神隱的國度。
無知的父母,迷失的小孩,利慾的婆婆,沒家的白龍,被污染的河神,物質主義的無面人,被過份寵愛的嬰孩... 等等,環顧周圍,亦不難發現身邊都有剛才所說的人和事。但是世界並不會因為這些事而停下來,每一秒鐘也有不同的事情發生,我們會因為周遭有很多事發生,而遺忘了很多對自己重要的事情,就正如「千與千尋」中,忘掉了自己的名字,被迫留在神隱的國度。
Sunday, April 22, 2007
久違了的模擬器世界 II
Saturday, April 21, 2007
久違了的模擬器世界
Sunday, April 08, 2007
遊戲開發,還是引擎開發?
今天看到 GameProducer.net 的一篇 Blog:
Are You a Game Developer or Game Engine Developer
沒錯,這篇 Blog 內所說的情況,都是很多想從事遊戲開發的人的迷思,究竟開發遊戲要不要先學習開發引擎?這個問題我在很多年前已經找到答案,那時候是香港的 Internet 服務的起步,我發現了網上原來有多個 2D 遊戲引擎 ( 而且還是免費的 ),就從那時候開發,我便不再想自己做個 2D 遊戲引擎了,只去學習使用那些引擎。
但在大約七年前 ( 2000 年 ),我初次接觸 3D 遊戲開發,那時候的我對 3D 數學一竅不通,我就是不能暢順地學習開發 3D 遊戲,所以我便決定自己做個 3D 遊戲引擎,希望能從中學習 3D 數學。我用了兩年的工餘時間,製作出自己的 3D 遊戲引擎「 Ngan-GINE'3D 」,再用大約三個月的時間製作「 Final Spike ( 參賽版 ) 」,在這個過程裡,令我對 3D 遊戲開發有更深的了解。到了近期,我亦能有效地將 OGRE3D 包裝起來給自己用。
「 Are You a Game Developer or Game Engine Developer 」這個問題是否也迷倒您呢?看到很多中外的業餘遊戲開發人們,都會在這個問題下打轉,說實話,我亦不時會被這個問題所迷倒,但當這發生時,我會盡快地調整一下心態,走回想走的路上,那麼您又如何呢?
Are You a Game Developer or Game Engine Developer
沒錯,這篇 Blog 內所說的情況,都是很多想從事遊戲開發的人的迷思,究竟開發遊戲要不要先學習開發引擎?這個問題我在很多年前已經找到答案,那時候是香港的 Internet 服務的起步,我發現了網上原來有多個 2D 遊戲引擎 ( 而且還是免費的 ),就從那時候開發,我便不再想自己做個 2D 遊戲引擎了,只去學習使用那些引擎。
但在大約七年前 ( 2000 年 ),我初次接觸 3D 遊戲開發,那時候的我對 3D 數學一竅不通,我就是不能暢順地學習開發 3D 遊戲,所以我便決定自己做個 3D 遊戲引擎,希望能從中學習 3D 數學。我用了兩年的工餘時間,製作出自己的 3D 遊戲引擎「 Ngan-GINE'3D 」,再用大約三個月的時間製作「 Final Spike ( 參賽版 ) 」,在這個過程裡,令我對 3D 遊戲開發有更深的了解。到了近期,我亦能有效地將 OGRE3D 包裝起來給自己用。
「 Are You a Game Developer or Game Engine Developer 」這個問題是否也迷倒您呢?看到很多中外的業餘遊戲開發人們,都會在這個問題下打轉,說實話,我亦不時會被這個問題所迷倒,但當這發生時,我會盡快地調整一下心態,走回想走的路上,那麼您又如何呢?
Wednesday, April 04, 2007
有時間玩Games
這個星期以來玩了兩個遊戲,一是「 Virtua Tennis 3 」,另一個是「 T.M.N.T. 」。這兩個遊戲都是新出來的,但名字大家應不會陌生吧,一是知名的體育遊戲,一是知名的卡通片 / 電影。
先說說「 Virtua Tennis 3 」,遊戲的圖像很好,用我的電腦玩 ( CPU 不是太強 + 入門級的 3D card ) 也有不錯的速度,遊戲中亦有很多小遊戲,非常耐玩。玩了這遊戲良久後,總是有個奇怪的感覺:「幾年前的 GBA 版本真的很好玩。」;有這個感覺的原因是因為,遊戲內容和數年前的 GBA 跟本沒大分別,只是 3D 圖像很美罷了,對手的 AI 也有增強,但是遊戲的進行真的是一模一樣,說罷也有點懷念 GBA 版本。我不是說這遊戲不好玩,如果沒有玩過 GBA 版的,這個「 Virtua Tennis 3 」真的不容錯過的 ( 而且有很多正名的現役網球手 ) 。
「 T.M.N.T. 」玩了一會兒後,有種奇怪的感覺,初時真的想不出是甚麼,只覺得好像在那裡看過似的。幾天後,從網上看到一個 PS3 遊戲,呀!就是她了,「 T.M.N.T. 」就是像這個遊戲:「 Ninja Gaiden ( 忍者外傳 ) 」( 這遊戲原本就是 XBox 的,近來會移值到 PS3 上 )。可惜的是,遊戲的進行過程就是走來走去,走完一大段路之後,消除數隻嘍囉之後,再走一大段路,在走路途中是沒有敵人的,只需要跑跑跳跳爬爬之類便可以,和嘍囉打鬥時,亦欠缺打擊實在感,如果玩過或看過「 Ninja Gaiden 」的,很自然地便會比較起來,但「 T.M.N.T. 」卻是完全比下去。
先說說「 Virtua Tennis 3 」,遊戲的圖像很好,用我的電腦玩 ( CPU 不是太強 + 入門級的 3D card ) 也有不錯的速度,遊戲中亦有很多小遊戲,非常耐玩。玩了這遊戲良久後,總是有個奇怪的感覺:「幾年前的 GBA 版本真的很好玩。」;有這個感覺的原因是因為,遊戲內容和數年前的 GBA 跟本沒大分別,只是 3D 圖像很美罷了,對手的 AI 也有增強,但是遊戲的進行真的是一模一樣,說罷也有點懷念 GBA 版本。我不是說這遊戲不好玩,如果沒有玩過 GBA 版的,這個「 Virtua Tennis 3 」真的不容錯過的 ( 而且有很多正名的現役網球手 ) 。
「 T.M.N.T. 」玩了一會兒後,有種奇怪的感覺,初時真的想不出是甚麼,只覺得好像在那裡看過似的。幾天後,從網上看到一個 PS3 遊戲,呀!就是她了,「 T.M.N.T. 」就是像這個遊戲:「 Ninja Gaiden ( 忍者外傳 ) 」( 這遊戲原本就是 XBox 的,近來會移值到 PS3 上 )。可惜的是,遊戲的進行過程就是走來走去,走完一大段路之後,消除數隻嘍囉之後,再走一大段路,在走路途中是沒有敵人的,只需要跑跑跳跳爬爬之類便可以,和嘍囉打鬥時,亦欠缺打擊實在感,如果玩過或看過「 Ninja Gaiden 」的,很自然地便會比較起來,但「 T.M.N.T. 」卻是完全比下去。
Friday, March 30, 2007
Saturday, March 17, 2007
當 Milk 在 Shape 的時候
最近手上的工作已完成九成多了,但不明所以地仍然有點忙碌,很奇怪的感覺。
今天有機會閒著,便上網看些新聞,赫然發現 MilkShape3D 推出了新版本,而且在這個新版本中,居然加入了眾所期望的 Vertex Weight 功能,實在令我感動不已,因為開發者曾經多次說過只會在 MilkShape3D v2.0,才會加入這個功能的。我玩了一會兒後,還未掌握當中 Weighting 的設定,而且在更新履歷中的一項新功能 :
今天有機會閒著,便上網看些新聞,赫然發現 MilkShape3D 推出了新版本,而且在這個新版本中,居然加入了眾所期望的 Vertex Weight 功能,實在令我感動不已,因為開發者曾經多次說過只會在 MilkShape3D v2.0,才會加入這個功能的。我玩了一會兒後,還未掌握當中 Weighting 的設定,而且在更新履歷中的一項新功能 :- added: vertex extra, can be used for color or other info
Sunday, February 25, 2007
再想一想Indie Game Developer
忙了很長時間,終於能夠在這個星期日稍稍靜下來,寫寫 Blog 了。
有幾天在想,在香港要做個 Indie Game Developer,究竟成本多少?不少的外國 Casual / Indie Game Developer,都是以開發 Casual Game 類遊戲為 " Side Business ",成功轉為全職的例子比較少。前陣子看過 GameProducer.net 的其中一篇 Blog,內有多個 Blog Link 談及 Indie Game Developer 的文章,很有參考價值。
香港與外國的成本比較,相對是比較低的,若然外國有成功例子,香港亦應可以做到,問題可能只在於發行上的執行,包括推廣、包裝、DRM、支援...等等,以上都是香港比較不利的因素,如果能夠解決,相信香港發展 Casual / Indie Game Developer 行業是可為的。
最後結論,Casual / Indie Game Developer 是一個 Side Business,亦即是在正職工作時間外,製作簡單遊戲賺取金錢。可惜在香港很多職業的工作時間,也是一星期做六天,每天朝十晚十的絕望工時 ( 我近期亦是如此 ),能否真正成為 Casual / Indie Game Developer 亦是一個謎團。
有幾天在想,在香港要做個 Indie Game Developer,究竟成本多少?不少的外國 Casual / Indie Game Developer,都是以開發 Casual Game 類遊戲為 " Side Business ",成功轉為全職的例子比較少。前陣子看過 GameProducer.net 的其中一篇 Blog,內有多個 Blog Link 談及 Indie Game Developer 的文章,很有參考價值。
香港與外國的成本比較,相對是比較低的,若然外國有成功例子,香港亦應可以做到,問題可能只在於發行上的執行,包括推廣、包裝、DRM、支援...等等,以上都是香港比較不利的因素,如果能夠解決,相信香港發展 Casual / Indie Game Developer 行業是可為的。
最後結論,Casual / Indie Game Developer 是一個 Side Business,亦即是在正職工作時間外,製作簡單遊戲賺取金錢。可惜在香港很多職業的工作時間,也是一星期做六天,每天朝十晚十的絕望工時 ( 我近期亦是如此 ),能否真正成為 Casual / Indie Game Developer 亦是一個謎團。
Wednesday, January 31, 2007
Sunday, January 21, 2007
雜談
● 「Gears of War」全球賣出三百萬隻。
● 14 Ways to Motivate Yourself
● 在工作的地方多了一部 Nintendo Wii,終於試過了 Wii,非常非常的有趣。
● 家中有些舊的電腦配件,總是想將它們送到一些電腦回收中心處,但一想到要將一個頗重的14吋 Monitor 搬到老遠,就令我卻步,究竟何時才能將那些舊電腦配件送走呢?
● 一年多後,我仍然很喜歡「Shadow of the Colossus ( 點擊 English(UK) )」。
● 14 Ways to Motivate Yourself
● 在工作的地方多了一部 Nintendo Wii,終於試過了 Wii,非常非常的有趣。
● 家中有些舊的電腦配件,總是想將它們送到一些電腦回收中心處,但一想到要將一個頗重的14吋 Monitor 搬到老遠,就令我卻步,究竟何時才能將那些舊電腦配件送走呢?
● 一年多後,我仍然很喜歡「Shadow of the Colossus ( 點擊 English(UK) )」。
Tuesday, January 16, 2007
Subscribe to:
Posts (Atom)







