2012年2月16日 星期四

虎視雄關之封神策

此篇乃灌水兼留念。

這是 2010 年的時候做的一款卡片對戰的大型電玩,繪圖引擎使用的是 Ogre3D,遊戲引擎 是 Infinite Engine,算一算,Infinite Engine 已經用在好幾個遊戲上頭了,也不斷的加強及改版,希望幾年之後擁有自己的繪圖引擎就該算是一個完整的引擎了。(開心)

2012年1月9日 星期一

星際大戰-舊共和國(Star Wars :The Old Republic) 系統分析 (上) 介面篇

繼魔戒 Online 之後,這是第二款MMORPG讓我如此大費周章的介紹遊戲,這次會以研發者的角度來分析遊戲。

星際大戰-舊共和國是最近出的一款MMORPG,本作有很多地方對於MMOG來說是很創新的地方,本來是打算兩篇寫完再一起發佈,不過今天......嗯......唉......嗯嗯......唉唉......所以就先發佈第一篇,明天也會上傳到公司,希望有點幫助............。

星際大戰-舊共和國-(上)-介面篇

2012年1月5日 星期四

程式準則

這一份是公司開發新引擎及未來專案所要使用的程式準則,也是個人長年累積下來的習慣,這當中經過不斷的學習與改進才有現在的樣貌,還有很多C++的技巧都在內文推薦的書籍中都有,這裡只列出比較需要注意的地方。

程式準則

本文經公司主管同意發佈.

2011年8月18日 星期四

Ogre3D v1.7 與 OpenGL ES 1.1 (2)

最近因為升級了其它的 ThirdParty 套件的版本所以 Ogre 也必須要 Rebuild, 只是 OpenGL ES 忘了當初怎麼 Build 因此又花了一些時間研究, 順便做一下筆記, 免得下次要 Rebuild Ogre 時又忘了.

Ogre 1.7.x 只支援 OpenGL ES 1.1, 所以想使用 OpenGL ES 2.0 的話則必須使用 Ogre 1.8, Ogre 1.8 官方目前還在 Debug 中, 所以只好先使用 Ogre 1.7.x + OpenGL ES 1.1 的組合, 以下將說明方法.

1. 至 PowerVR 的網站下載 OpenGL ES SDK, 要先加入會員.

2. 在 Khronos OpenGL ES 1.1 SDKs 中選擇 PC Emulation Windows 7/Vista/XP - OpenGL ES 1.1, 如果方便的話, 也可以將其它平台及版本的套件全部下載, 還有工具及說明文件也一併下載.

3. 安裝 OpenGL ES SDK, 等待安裝完成後就可以進行下一步.

4. 在其它地方中先建立一個 Dependencies 目錄, 並在此目錄下建立三個子目錄

Dependencies\Bin
Dependencies\include
Dependencies\lib

5. 打開 SDK 安裝目錄, 然後切換目錄至 Imagination Technologies\POWERVR SDK\OGLES_WINDOWS_X86EMULATION_2.08.28.0634\Builds\OGLES

將 Include 目錄下所有的檔案複製到 Dependencies\include
將 WindowsX86\Lib 目錄下所有的 .lib 檔複製到 Dependencies\lib
將 WindowsX86\Lib 目錄下所有的 .dll 檔複製到 Dependencies\bin

複製完後應該會有如下列的檔案

Dependencies\Bin
Dependencies\Bin\Debug
Dependencies\Bin\Debug\libEGL.dll
Dependencies\Bin\Debug\libgles_cm.dll
Dependencies\Bin\Release
Dependencies\Bin\Release\libEGL.dll
Dependencies\Bin\Release\libgles_cm.dll

Dependencies\include
Dependencies\include\EGL
Dependencies\include\EGL\egl.h
Dependencies\include\EGL\eglext.h
Dependencies\include\EGL\eglplatform.h
Dependencies\include\GLES
Dependencies\include\GLES\egl.h
Dependencies\include\GLES\gl.h
Dependencies\include\GLES\glext.h
Dependencies\include\GLES\glplatform.h
Dependencies\include\KHR
Dependencies\include\KHR\khrplatform.h

Dependencies\lib
Dependencies\lib\Debug
Dependencies\lib\Debug\libEGL.lib
Dependencies\lib\Debug\libgles_cm.lib
Dependencies\lib\Release
Dependencies\lib\Release\libEGL.lib
Dependencies\lib\Release\libgles_cm.lib

6. 將 Dependencies 複蓋到 Ogre 的 Dependencies 目錄

7. 編譯的時候會有 Error, 修改 Code 方法如下,
在 GLESTextureBuffer::GLESTextureBuffer 中, 將 pow(2, level) 改成 (int)pow(2.0f, level)