Sunday, March 09, 2008

Actor Setup 工具 (WIP #3)

完成 AEF 格式的定案後,進展也頗為順利,在上星期的進度之後,這個星期也完成了一點工作,就是暫定了一個 Actor 的格式。這個 Actor 的格式很簡單,只是有 Actor 的名字、Mesh 的檔案名、Skeleton 檔案名及 AEF 檔案名,然而格式暫定後,Actor 工具的 UI 也要加入些新元素呢。Actor 工具程式 Load 入一個 Actor 檔案後,就能夠自動 Load 入 Mesh、Skeleton 及 AEF 資料,但是暫時有一個問題,就是還未有實際應用機會,不知道這樣的設定能否令遊戲製作更為簡便,所以看來下一個工作應該是應用測試了。

現在我的 Actor 製作工序大約是:
一 ) MilkShape3D 製作 3D 角色模型及動畫
二 ) 在 MilkShape3D 中用 Animation Split tool 為 Export 做準備
三 ) 從 MilkShape3D 中 Export 出 OGRE 的 Mesh 及 Skeleton 檔案
四 ) 用 Actor Setup 工具製作 Actor 檔案 ( 製作 AEF 資料 )
五 ) Pack 好所有檔案給 Game Program 使用

上面的工序好像也不錯,希望在應用測試時能夠找出不順暢的地方,再作改善。

Saturday, March 08, 2008

Super Mario Galaxy Rendering ?

任天堂在 Wii 中發售的 Super Mario Galaxy 是個很好的遊戲,畫面非常地豐富,而這遊戲的 Rendering 方法也很有趣,是用了一種像是「 背光效果 」的表現方式。

很多人都說過,這種 Rendering 是用 Shader 做出來的,沒錯,Shader 確實是可以做到這個效果。我經常到處找一些能夠在 fixed-function pipeline 中,做到和 Shader 差不多效果的方法,有時候也會找到一些,和 Shader 效果很接近的做法,而今天我在網上找到了一個方法,可以做到類似 Super Mario Galaxy 的 Rendering,但是只需使用 fixed-function pipeline 功能。

附圖就是用這個方法做出來的,效果也確實是很接近呢。

Saturday, March 01, 2008

Actor Setup 工具 (WIP #2)

作戰了數天時間,Actor Setup 工具 ( 終於 ) 有點新進展了,首先是資料格式定下了,暫時名為 " Animation Event File ( AEF ) "。

現階段都是在測試,現存的功能是否實用,如在每個 Animation 中的每個 Keyframe 記下資料,例如:Dispatch Event 字句、 Goto 另一個 Animation、正確處理 AEF 及 Skeleton 之間的資料互動。下一步的工作應該會是測試,如何將另一組 Skeleton Animation 套入目前的 Actor 中,以及將新的 Skeleton 加入現時的 AEF 中。而現時的資料其實是不足夠的,因為這個 AEF 資料,只是單一 Actor 儲存 Keyframe 的 額外資料,但其實是應該儲存一個 Actor 所用的 Mesh、Skeleton、AEF ......等等的資料,這個方向應該會是再下一個階段的了,因為這需要設計另一個自訂資料儲存起來呢。

製作工具確實很麻煩,但是卻令我更加認識 OGRE 3D 的性格。

Sunday, February 17, 2008

Toy ? Gadget ? Fun !

近日朋友介紹我玩一個軟件,這軟件叫做「RocketDock」,這是甚麼來的呢?它是一個 Docking 軟件,就和 Application Launcher 一樣,是放我常用的軟件在裡面,方便我一 Click 便可以開啟的,而這個 RocketDock 的外表只是和 Apple Mac OSX 內的 Dock 一樣而已。我自己是半個 Max OSX 的 Fans,一向很喜歡 OSX 的界面,這個 RocketDock 就令我很高興,不其然地玩了差不多一整天,而它最有趣的,就是和 OSX Leopard 的 Dock 一樣,有 Stacks 功能呢。下面一幅圖就是從我的電腦直接 Capture 出來的,你看看是不是很像 OSX 呢?


後來我又發現,原來 Microsoft 在 Windows XP 中的 PowerToy 工具中,有個叫做 「Virtual Desktop Manager」,就是可以令你的 Windows XP 擁有四個獨自的 Desktop,就好像有四個 Monitor 一樣,就正如 OSX Leopard 中的 SPACES 功能,有多個 Desktop 供使用。


再在網上瀏覽多一回兒後,又發現了另一個軟件,這軟件是仿照 OSX Leopard 中的 Media Viewer 工具,由一個 3D 的 Viewport 為基本,每個 Movie 或圖片都是由一個 3D Polygon 表達,用家可以簡單地瀏覽各個 Movie 或圖片,雖然這軟件還在 WIP 中,但效果也是很不錯的,以下一張圖是從我的電腦直接 Capture 出來的。


這些各式各樣的 Toy / Gadget 等的小工具,便讓我的 Windows XP 彷彿變成了 Mac OSX 一樣呢,最好的是,這些小工具的速度快,而體積亦很小呢。

Sunday, February 03, 2008

Actor Setup 工具 (WIP #1)

前陣子有機會接觸 Flash 及 Action Script 3.0,用過後發覺 Flash 和 Action Script 之間,就好像 Game Artist 和 Game Programmer 一樣,但是 Flash 和 Action Script 卻融洽非常,我用過她們後吸收了一點點經驗,希望用這些經驗做個工具,一個簡化 Artist 和 Programmer 之間溝通和工作的工具。Action Script 本身就是一個 Event Driven 的工具,在 Flash 中使用 Event 來與 Action Script 溝通,這個是她們融洽的主要原因,所以我先要做的,就是做個 Event System 出來給自己的 Ogng 3D 使用,當然是一個很簡單的版本了,但是也算是可以使用的了,當完成了這個超簡單版的 Event System 後,就要開始做工具了。

我暫時叫這工具做 Actor Setup Tool,這個工具是做甚麼的呢?最主要就是在一個 Character 內做一些 Event 發放的設定,例如:一個 Character 的其中一個 Animation,playback 其間或完成後發放一個 Event,那麼 Game Programmer 只需要做個程序來處理這 Event 便可以,工具就是希望做到,在一個 Animation 中的指定時間上,加入一個發放 Event 的點。現在進行的階段還沒有多大的進展,其中一些記錄 Event 時間、類型、名稱等等資料,都要另外儲存,但資料格式還未敲定呢...... 暫時就如附圖一樣,只是一些基本軟件外表,就和我之前所說,這個工具會是比較大型的,相信還要做一段時間呢。

明天是年廿八,再過幾天就是新年了,在此先恭祝大家:

心想事成萬事勝意

Sunday, January 27, 2008

Animation Split 工具 Plugin

剛剛用了兩、三天的時間,做了個 MilkShape3D 的 Plugin Tool,叫做 Animation Split Tool,為什麼要做個這樣的工具呢?因為 OGRE 的 MilkShape3D exporter 中,可以 Load 入一個資料檔案,當中會有這樣的內容:1, 3, Walk; 4, 12, Run .... 如此類推。這些資料是用來將一段長的 Skeleton Animation,按照資料的內容,分成一段段獨立的 Animation,再 Export 成 Skeleton 檔案。但是要製作這個資料檔案,都是要用一些如 Notepad 的工具做,感覺非常的單調,那麼我便想做一個比較視覺化的工具來代替,就這樣 Animation Split Tool 便出現了。

用法也頗為直觀性,在 MilkShape3D 中 Load 入 Model 後,便可以在 Animate 選項中啟動這個 Animtion Split Tool,這工具可以重新製作、Load 入已有的資料檔案及 Save 更改過的檔案,可以加入或散除檔案中的 Animation 資料,這工具最方便的就是,用家不需要在兩個軟件之間切換,可以一邊看著開啟 Model 的 Animation,一邊輸入資料,減少資料輸入錯誤。用這個工具製作完一個資料檔及 Save 之後,便可以隨即將 Model Export 出來一個 OGRE 檔案,而這個 OGRE 檔案已經將 Animation 分切好了。

完全了這個小工具後,下一個要做的應該就是 Character Setup 工具,這工具將會是比較大型的工作,因為要即時看到 Character 的 Animation 資料,加入或修改一些 Custom Data 及儲存起來,這些 Custom Data 會在製作遊戲的時候,比較容易地製作 Model 的 Animation 調控,從而減少這方面的工作量,因為這類 Animation 的調控工作量確實是很多的。

Friday, January 18, 2008

Ogng3D Material Tool 完成

完成度達 80%,餘下的 20% 是屬於試用多一點,如發現 Bug 就做一些修正工作。說實話,這個 Tool 用起來也不錯,自己就覺得頗為方便呢 ( 在自吹自擂中 ...... ) 。

下一個 Tool 會是甚麼呢?還未想到,可能會是 Character Setup Tool,也可能是個 2D Sprite Setup Tool ...... 未決定呢 ......

Sunday, January 13, 2008

製作 OGRE 的 Material 工具

一個多星期前,我開始製作一個 OGRE 的 Material 工具,我預先設計好一個「 可設定資料量 」,例如:每次只能夠製作一個 Material,每個 Material 只會有一個 Pass 和三層 Texture Layer,以及一些如 Alpha Blend、Depth Check 或 Receive Shadows 等等的選項。初時只是做一些 Win32 API 的程式,還是頗為順利的,但後來牽涉到要讀取 OGRE 中已存在的 Material 時候,就令我更覺得 OGRE 本身的冗長。我建立了一個 ResourceGroup,加進了現時的 Directory 後叫 OGRE 讀入這個 ResourceGroup,便以為可以簡單知道已讀進那些 Material,但是我卻找了很久才知道怎樣才可以找回那些資料。OGRE 的 Material 中基本分別有 Technique、Pass、TextureUnitState,當中很多資料都在 TextureUnitState 裡,看到這些一大堆的資料,我又需要再加入一堆自訂資料,將設定資料記下來給 Material 工具顯示出來,同時亦要將這些資料作改動後,Save 起來做一個 Material Script,工序可以說是甚為煩瑣。

雖說工序是甚為煩瑣,但一想到在 MilkShape3D 中設定的 Material 資料過於基本,而自己也不想「 編寫 Material Script 」且不能方便地看其效果,所以一個可設定簡單 Material 資料 ( 限制於可設定資料量 ),及可以即時看到效果的 Material 工具,仍是一個不二之選。

Sunday, December 30, 2007

新一年的開始

近日我在 MilkShape3D 中製作 OGRE 的 Plugin 工具,其中一個 Plugin 就是做個 Level Viewer 出來,但是我用的是自己的一套 Level Model 資料,要做個「一按即看」的 Viewer 工具很複雜,還好的是,先 Export 然後再按 Viewer 也不會破壞「不離開 MilkShape3D 便做完所有工序」的條件,所以便選擇了用 Viewer 看 Level 之前要完成 Export。

要用 OGRE 來製作一些工具是很麻煩的,最不好的事情是,它不時因為有重複名字的物件 ( 例如:SceneNode、Material ... 等 ),而出現 Exception 令程式 Crash 掉,很令人洩氣 ( 為何不設定為不理會重複的物件呢? )。而我擺放 Model 的資料夾內,會有很多其他的 Model,或 Material script 等的資料,會出現很多重複物件的問題,我後來想到了一個方法來解決,就是要用 Viewer 時候,在 MilkShape3D 的程式資料夾下,建立一個臨時的資料夾,然後將 Viewer 要用的所有資料 ( 如 Level 檔案、Material script、Texture ... 等等 ),都複製一份到臨時資料夾,用完 Viewer 之後便將這個臨時資料夾刪除掉,這樣便不需要理會重複物件的問題。

在 2008 年,我先會致力於 MilkShape3D 的 Plugin 工具製作,在完善 Level Viewer 後,亦會研究 Character Model 及 Animation Viewer,甚至是 Character Setup 工具,我希望令 MilkShape3D 能夠處理大部份製作工序 ( 當然是除了 Programming 呢 ),那麼對於我製作動作遊戲便更加得心應手了。

順道在這裡祝大家下一年做遊戲也一樣順利

Monday, December 24, 2007

聖誕節快樂

一年一度,聖誕節又到。

● 對一樣事物有期望,有時候換來的只有失望,例如早前期待的遊戲 Kane and Lynch

● 雖然是預期中的事情,但是 Call of Duty 4 還是非常非常地好玩。

● 決定了,聖誕節還是給自己一份聖誕節禮物吧。

● 之前看到一個有趣的網頁,一種心靈的慰藉。

● 有時候 OGRE3D 也會給我一點甜頭,很簡單地完成了加 / 減物件到骨骼上 ( 例如:手中加入武器 )。

● 近來因工作關係,接觸過 Flash 的 Action Script,意外地從中學懂了一些 Coding 的技巧。

● 以往曾經在 MilkShape3D 中做過的一些 Plugin 工具,因為暫停了 Final Spike 的開發,而沒有隨 MilkShape3D 而更新,這兩天的假期節目,就是要重建這些 Plugin 工具了 ( 為了準備重新啟動開發 ),又是 Win32 API 呢。

Tuesday, December 18, 2007

要做還是不要做

今天在 GameProducer.com 中看到一篇文章 ,這文章主要是一位 game producer 給 GameProducer.com 的 Email,內容提及的是一些遊戲製作的經驗談,非常值得看看。

當中講及一些話題:Risk Management、3D vs 2D ..... 等。其中不乏說的的當然是有沒有足夠資金,各方層面的營運,以及要不要做 3D 遊戲,我看完之後亦有點得著,而且亦想到一些自己的論點。在外國的遊戲業界中,技術層面是遊戲製作的主要方向,這點原本是好的,但先進技術是要用人材建構的,這樣便會令一間遊戲製作公司負擔沉重。但回看香港這片土地上,有足夠技術的人材究竟有多少呢?

看看眼下遊戲製作業界中,很多都是「追技術」的人,而且在 Production 工序方面多是很複雜,導致製作緩慢而令遊戲難產。但到底甚麼是簡易,甚麼是複雜?當然每間製作公司的計算都不一樣,例如就我個人的遊戲「 Final Spike 」而言,很多人說這遊戲是個中型遊戲製作規模,但在我眼中,她卻是個小型遊戲的規模,因為她的製作工序不複雜,我只是用 MilkShape3D 和幾個免費工具,一個人慢慢地做出來的。

遊戲製作的工序上是複雜還是簡單,對我來說就是遊戲製作上的 Risk Management,只要這方面控制得好,製作遊戲開支就會相對自然地減低了,那麼遊戲製作公司就有更多的機會,製作不同種類的遊戲推出市場了。

Monday, November 26, 2007

重整 OGRE 的工具

支援 OGRE 的工具一向都很多,主要的 3D Content Software 都有 Exporter 可以使用,我常用的 MilkShape3D 也有 Exporter。近日我想整理一下 MilkShape3D 的 Exporter,因為改用 OGRE 以來,Exporter 中對於導出 material 檔案的功能是缺乏的,所以要加進這個功能,就這樣我的週末節目就是製作 Exporter 了。

初時用 OGRE 的功能來導出 material 資料,但很不順利,因為 exporter 不時就會 crash,追查了半天時間才發現是 Release runtime 問題。Runtime 用對了後又發現,OGRE 的 Material Serializer 生成的 material 檔案,有些設定是不能導出的,後來要自己用寫入 Text 檔案方法來完成,又沒有了半天時間。

雖然進度慢了一點,但暫時在 export 出來的 material 檔案中,都可以有基本的資料了,下一部就是加一個 Dialog Box,加一些可設定的資料 ( 又是 Win32 的 API ),再 export 出 material 檔案,計劃好像很完美呢 .....

Thursday, November 22, 2007

做新東西是用來簡化舊東西

我本身就是喜歡簡單的人,無論生活上,又或編寫程式。

上星期有機會,和一個同事開了一個 Side Project,一隻 2D 動作遊戲,就這樣我便重拾起 2D Graphics library。我用了數天時間,將 SDL 包起來,效果也不錯,而且在當中學到了新東西,這個新東西就是 Game State Manager。

在 Internet上都看過很多有關 State Manager 的文章,在新買的 Game Programming Gems 5 中亦有一篇講解 State Manager 的,但我總是覺得複雜,那我就藉由這個 Side Project,開始了自己的 Game State Manager 製作。有趣的是,我做完這個 Game State Manager 後,發覺可以將整個遊戲的架構簡化了,我以往要做個 Demo,main.c 都會是這樣的:

bool Game_Init() {
 ...
}

bool Game_Render() {
 ...
}

bool Game_Update() {
 ...
}

bool Game_Exit() {
...
}

bool Game_Main() {
 Game_Update();
 Game_Render();
 ...
}

void main () {
 InitOGNG();
 Game_Init();
 while (1) {
  if ( IsClosed() )
   break;
  Game_Main();
 }
 Game_Exit();
 EndOGNG();
}

遊戲的主程式一定要在 Game_Main() 、 Game_Update() 內,在這裡面才是真正的遊戲的運作。但是有了 Game State Manager 後,main.c 變成了這樣:

void main() {
 InitOGNG();
 StateCreate("test01", demoStart,
demoUpdate, demoPause, demoExit);
 while (1) {
  if ( RunOGNG() == false )
   break;
 }
 EndOGNG();
}


上面的 demoStart, demoUpdate, demoPause 及 demoExit 都是 Function,StateCreate 就是建立一個新的 GameState 和登記這幾個 Function 進去,而 RunOGNG() 內都會運行每個已登記的 GameState ( 就是 demoUpdate 了 ),差不多就是這樣了。相比起來,有 Game State Manager 的 main.c 確實是簡潔很多,而且亦可以在一個 Game State 內建立另一個新 Game State,已存在的 Game State 可以 Pause 暫停下來,或是刪除掉。這樣便可以很簡單地實現,由 Main Menu 進入 Option Menu,設定完後回到 Main Menu ,又或是遊戲進行中,暫停遊戲進入 Pause Menu 之類的功能。

Monday, October 29, 2007

文章、準備

上個星期,買了本簡體字的「 Game Programming Gems 5 」,看到裡面有一篇叫做 Component Based Game Objects 文章,細閱內容後,發覺原來自己在製作新的 Og-NG'3D 時,也用了差不多的概念,當然沒有書中所說的那麼完整及完善了。

其實我用的都是以 Manager 方案為主,要用 Object-A 的東西,便和 Object-A Manager 要求一個,要 Object-B 就和 Object-B Manager 要一個... 如此類推,就這樣,我在製作遊戲時,我的主要 Game Object 都是儲存著一些 Object 的 ID,而非真正的 Object ,雖然我不太清楚這種方案的好與壞,但我對這方案就是感覺很舒服。

之前數天也在網上看一些有關 Data Driven Programming 的資料,其中看到一篇文章提及 Table-oriented ( data-driven ) programming,當中所說的有點像我在幾年前的 Function Pointer 一文,用一組 Data list 來處理一大堆 Functions 。我的文章當然是沒有那麼大價值,但我卻很喜歡這個方案,因為比較直接簡單易明,我之前所發表的 Final Spike v1.0.0.1 Alpha 也是用了這技巧製作。

上星期完成了一些 Og-NG'3D 的瑣碎功能,同時亦初步開始了 Network 的研究,我選了一個叫做 eNet 的工具,這工具出奇地令我很快便明白它的用法 ( 我一向都是個 " 摸索很久" 的 Programmer ) 。現在覺得 Og-NG'3D 的功能已經頗成熟 ( 除了 Network 部份 ),應該可以開始製作遊戲了,其實我亦有幾個遊戲主意想做,但是我希望能夠做一隻完整版本的 Final Spike,以現時 Og-NG'3D 的功能來說,要從舊版本移植過來,也需要不小的改動,當然是希望加入我最希望的 Network 2-Play 了,相信在短期內可能會開始製作新的 Final Spike 呢。

Wednesday, September 26, 2007

九月雜談

● 已有多年沒有 ‘ 期待一個遊戲發售 ’ 的感覺了,上一次是兩年前的「汪達與巨像」。這幾個月來都在期待一個新遊戲,「 Kane & Lynch: Dead Men 」,為什麼呢?遊戲是由 I O 公司開發,當中可以說是我眼中的夢幻組合,Hitman 系列的 Producer,Freedom Fighters 的開發組。一個字:「 」! ( 要等到 11 月...... )

● 上星期又是一年一度的「 Tokyo Game Show ' 2007 」,有沒有心水推介呢?說實話,好像沒有......

● 很有趣,看看這幾年的次世代遊戲,都是圍繞著三種圖像技術:「 HDR Rendering 」、「 Normal Map 」及「 Shadow 」,當中 Normal Map 是我最為大惑不解,因為這技術早在 DirectX 7 年代已經提出,但竟然在這兩年才大量使用,據知更有些開發商對其不以為然,奇怪。

● 很喜歡看 GameTrailers.com 中的 Bonus Round 節目,新一個 Episode 中討論一個有趣的題目:「 Japan : Culturally Biased 」,其中有些點題很好,我覺得對 Game design 是有點幫助的。

● 我自己是個 C 人,我喜愛用 C 的其中一個原因,是因為它比較 low-level,又比 assembly 為 high-level。但是當要工作的時候,C 是不入流的,要用 C++,但是連 C++ standard library 也不懂使用的我,在 C++ 的工作環境下,壓力並不是一般的大。有時候會在網上,看一些 C vs C++ 的文章,這些文章可以給我用來平衡心理呢,要不然,有一天我可能會倒下來的呢。

● 之前我曾經多次說過,我不太喜歡 OGRE'3D,用了這麼一段時間,這個感覺仍然存在。但可惡的是,除了自己所製作的 Ngan-GINE'3D 外 ( 額外而又自私的論點 ),我的確是找不到一個比它有更好 support 的引擎。曾經看過 Irrlicht,但是它的 MilkShape3D 支援是錯誤的,亦沒有多種工具可以使用。亦證明了一個事實,世界上是沒有免費午餐的。

● 近日在追看電視劇「 Heroes 」( 第一季 ),看到故事後來的發展,有點不自然的感覺,何解呢? ( 個人感覺而已 )

Saturday, August 25, 2007

Game Engine, Game Play

近一年來,發覺自己在 Game Engine 和 Game Play 的編寫程式上,有著明顯的轉變,那是甚麼轉變?就是對 Game Engine 開發很難提起興趣,而對 Game Play 方面會放多一點時間。

曾經想過為何會有這種想法,可能是因為以往多年來,都在做一些 Game Engine 的研究。在初時接觸 2D 圖像,Load 一張 PCX 圖,顯示出來,在電腦顯示 Memory 中畫出一粒 Pixel,繪出一個 Sprite,如何做 2D Tile-Map Scrolling,試做 2D Action 和 Shooting Game。到後來接觸 3D 圖像,認識 3D Coordination system、Vector、Matrix、Vertex、Polygon、Multi-Texturing、Skinned Mesh、Skeleton Animation、Portal System ... 等等,做個3D Game Engine,然後做個3D Game。

感覺就好像,研究了Game Engine 很久,已用了很多時間做一些基礎事情,不應該再停在那裡,應該實實在在向另一個方向走,例如研究 Game Play 編程。但有趣的是,我覺得 Game Play 編程其實並不是屬於「程式編寫」的一種,而是好像砌積木一樣,將一大堆已有的 Code,如何整合一起成為一個遊戲。有時候會想,這個不太像做 Programmer,反而是有點像 Game Designer 。

Saturday, August 11, 2007

八月雜談

火狗告別
  確實是有點突然,我個人覺得火狗工房是本港少數成功的遊戲製作公司,而且她還能夠在日本打開市場,有點惋惜。其中說道使用第三家的遊戲引擎時很糟,這也是我以往說過,遊戲引擎開發公司沒有開發遊戲來配合,是不太適合的呢。

Carnival of Game Production - Fifth Edition
  當中有些 Blog 內容很好,不訪看看。

◎ 一隻 Click & Find casual game 在頭一個月有 US$ 250,000 銷量
  真的是難以置信,第一個月已有接近二百萬港幣收入,Casual game 市場真是叫人驚訝。

◎ 工作進度落後令我精神緊張,導致胃抽筋
  痛了四天,還未舒緩下來,非常不舒服。上一次的胃痛也是工作進度問題導致,已是三年前了。

Saturday, August 04, 2007

做個好玩的遊戲?

前天和朋友史艷文兄閒談,當中談及一隻 Capcom 新的 Wii 遊戲「 寶島 Z 」,我們都認為 Capcom 懂得做 Wii 遊戲,也很懂得 Promo 這個遊戲。其間我說了一個話題,「 寶島 Z 」這類 Action Puzzle,很多玩家都只會玩一次,因為解謎方法都只有一兩種,很難令玩家重複再玩,但史兄說了一點:「不是 Action Puzzle 的遊戲也是只得一種完成方法,但多年來你也是在玩呀。」

完全對,我一直都鍾愛的 Action 遊戲,都是只有一種完成遊戲的方法,看來我是有點迷失了。後來亦帶出了第二個話題,現在的玩遊戲的年輕玩家,是被漂亮的3D圖像養大,而我們年齡層較高 ( 老 ) 的玩家,不是被漂亮的圖像養大,而是被 Gameplay 養大的。那麼一個遊戲應該是怎樣才會令玩家一玩再玩呢?這個跟本是沒有標準答案,舉個例子:日本有個新的 Online 遊戲,叫做「 ViZiMO 」,一個自由度很大的遊戲,但看過一些這遊戲的片段後,我不知道這遊戲有甚麼可以玩?另一個例子:PS3 將會有個遊戲,叫做「 PixelJunk Racer 」,圖像上真是懷舊至極,但我看過其 Gameplay 片段後,不禁叫了一聲「 好!」。

我覺得,遊戲對玩家來說是否好玩,都會是由玩家的個人觀感出發,如果玩家不喜歡玩動作遊戲,我的「 Final Spike 」永遠不能吸引他 / 她。反觀我自己亦然,就算「 Star Craft 2 」是多麼的受注目,我亦不以為然。那麼做遊戲的人怎樣好呢?試想想剛才我所說的,那麼做一個自己喜歡玩的遊戲,就是做一個好遊戲的第一步,然後再在上面加一點點「客觀公恩數」,那就是一個好玩的遊戲了。如果遊戲有人欣賞的話,那麼就一定會有人購買的,而且這遊戲亦會令玩家一玩再玩。

Tuesday, July 31, 2007

Final Spike v1.0.0.1 Alpha

正 式 公 開 下 載 ! (7.52MB zipped)

(Last update : 2009-May-10)
File Factory 下 載
fileQube 下 載
Easy Share 下 載
filehosting.org 下 載



System Requirement :
- Pentium III 800 mhz with 128MB Memory or above
- 3D display card with 32MB, DirectX7 support or above
- 20MB Harddisk space
- Joystick (optional, better gameplay experience)