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 呢。