CubicUnit is the name of my game development project. This project contains graphic rendering tools and game logic control tools. By using the tools, I can shorten the game develpment cycle. This blog is a information pages about what I will work for the project.

星期五, 八月 04, 2006

可謂可有可無

原本以三賢人(Video Manager, Input Manager, Sound Manager)的角度來作基礎,再以大量的Wrapper來建造我的Game Engine。看來天衣無縫。心想,日後我要創造新的電腦遊戲時,就不用去直接接觸Directx API,可謂一勞永逸。

但係對一個沒有遊戲開發經驗的人來講,「想的」和「做的」始終都係有一點出入。三賢人和Wrapper的想法基本是好的。但係,在配合HLSL的時候,我發現Game Engine不景是要多一點Generic。結果,我還是須要在Game Engine上開很多洞,為日後的開發人員提供一個機會去直接接觸Directx API。這樣做後,我原先的設計看上去就有點笨,可謂可有可無。

在新的設計中,三賢人會被淡化,或被視為提供簡化程式的Classes。換來係把Directx Devices看作針或引線放在Game Engine Main Class中。其他的Objects,在不儲蓄這些Devices的前提下借用作林林總總的工作。

至今可能留下的Classes有︰
  • IRenderable
  • G3DCamera
  • G3DIndexBuffer
  • G3DVertexBuffer
  • G3DTexture
  • G3DStaticMesh
  • G3DAnimMesh
  • Video Manager
  • Input Manager
  • Sound Manager
  • G3DGameEngine