2009-01-01

2009年新時代新挑戰

真是風水輪流轉. 在科學園區工作當紅的時候, 幾乎所有優秀的科技人才都投入這些產業, 只有少數對遊戲特別熱情的才會投入遊戲產業.

在去年的金融風暴下, 許多科技公司受到很大的影響, 獲利大幅下滑, 遊戲產業卻是在少數幾家有穩定成長獲利的公司下被媒體報導成為一個令人羨慕的產業.

這個時間點對遊戲產業的確是一個可以提升研發能量的最佳時機. 因為台灣的遊戲產業不再是科技產業中的邊緣產業了.除了有機會吸收到比較優秀的科技人才外, 對於目前正在線上的遊戲產業工作者來說, 更是需要好好努力的時候, 作出更好的遊戲. 我們不知道這一波不景氣會何時影響到我們, 當玩家因為荷包縮水開始挑遊戲的時候, 只有少數的遊戲才可以生存; 另一方面當有更優秀的人才加入的時候, 自己也要夠有所成長, 與這些優秀人才保持競爭力, 才不會輕易被淘汰.

總之, 2009年這對我個人來說是一個需要更努力於工作, 以及更需要自我學習成長的一年.
加油!!! :)

2008-10-05

建構 Build Server

做遊戲一段時間了, 到現在才準備導入build server. 若不是為了建立當機回報系統, 可能也不會慎重思考製作這樣的東西.

目前使用的build 工具是MSBuild, 加上免費的The MSBuild Community Tasks 所提供存取source safe /Subversion的tasks, 另外自己寫了更新Symbol Server的Task..整個build的功能算是大致完成
接下來要導入的釋出版本編號的管理, 以及比較好的build server的Web介面 (為了讓build過程可以立即看到log, 找看看有沒有好的Ajax 版的Listview元件了 )

建立好build server之後, 就是要建立client端minidump回送機制. 這部分目前有再看的是google-breakpad 以及 bugTrap, 感覺bugTrap比較VC Friendly, 可能會先研究這個看看.

2008-09-14

Source Server建構

了解建構symbol server的方式之後, 下一步就是要把symbol和source code建立鏈結關係.
這樣在除錯的時候, 可以透過source server和關聯資訊向source code版本控制軟體(VSS, SVN, ...)提取相關聯的code. 這樣可以做到在進行mindump除錯的時候, 除了有symbol server可以存取到適當的symbol 檔案, 透過source server亦可存取到關聯的source code.

看了這個網頁Source Server Helps You Kill Bugs Dead In Visual Studio 2005之後, 也了解如何建立source server. 下一步是要看如何建立build server, 希望從專案的build到symbol server/source server的建制可以自動化.

2008-09-10

建立Symbol Server

想要建制一個symbol server以方便管理symbol 檔案以便於minidump除錯
找到一篇不錯的文章
http://entland.homelinux.com/blog/2006/07/06/setting-up-a-symbol-server/
研究一下

哇.. 2008年首篇文章... XD

2007-12-11

崛起的中國

自從今年在中國舉辦的GDC china, 我突然感覺到有種莫名壓力. 總覺得中國遊戲不但內有政府保障, 又有外國資源. 進步的速度必定是很快的. 又看到在中國舉辦的軟件開發2.0大會. 感覺中國在軟體開發的資源又是比國內強上許多. 台灣除了可以看到廠商的推廣課程外, 這些資訊真是少. 只能警惕自己, 我們不自己求進步, 別人可是很快追上我們的'.

建置 Wiki

最近花了一點時間wiki的架設. 原本公司內已經有個wiki了, 但是覺得不夠好用, 且版本很舊. 所以決定選一個更好用方便的wiki. 在WikiMatrix 看到許多wiki軟體的介紹, 花了一些時間比較之後最後選擇 DokuWiki. 主要的原因是架設容易, 功能也算完備.

有了Wiki, 接下來就是要能夠在上面建立公司內部資訊分享的資料庫了.
這部分或許需要學習. 就想寫blog一樣. 資訊分享還是要有心才能夠達成.

2007-08-08

Direct3D 9 vs Direct3D 10

這幾天看到微軟在最新的DirectX SDK 釋出了Direct3D 10.1 以及Shader Model 4.1的測試版本. 想想D3D 10都還沒碰, D3D 10.1就準備推了.

對於技術規格都會很想衝在前面的我來說, 對Direct3D 10卻提不起學習的動力. 因為DX10綁Vista的關係. 為了使用DX10, 除了要升級硬體, OS也要升級.可是糟糕的是Vista對舊有軟體相容度之差, 讓我根本不敢使用. 所以一開始是想用但是實在是OS太差勁了. 讓我暫時打消學習DX10的念頭.

此外, 我認為以國內遊戲來說, 別說Shader Model 3.0了, Shader Model 2.0根本很少遊戲使用. 能夠充分運用Shader Model 3.0的話, 應該就能做出很炫的遊戲才是. 以目前畫面最酷炫的遊樂器來說, PS3基本上是Shader Model 3.0, XBOX 360算是Shader Model 3.0 加上部分D3D 10部分功能, 但API還是DX9的設計. 看看失落星球PC的DX9版本, 效果也夠COOL了.

最近看到 John Carmark 說最新的技術Tech 5將不會使用Direct3D 10的功能. 以及Epic副總裁認為Direct3D 10要到下個次世代主機才會廣泛的被運用的新聞, 我認為國內的遊戲公司根本可以不用去理會Direct3D 10的發展, 而是應該好好專研如何善用D3D 9的Shader Model 2.0/3.0 來製作出效果好的遊戲. 趁Direct3D 10還沒成氣候的時候, 趕快把3D技術的底子打好.

2007-05-10

測試DOOM3的人物資料

研究normal map到現在都還沒有測試過skin mesh的資料. 自己做又做不來, 只好到網路上找現成的資料. 一開始設定的目標就是DOOM3, 理由是DOOM3的遊戲有大量使用normal map, 且DOOM3的遊戲資料基本上就是ZIP檔案, 很容易解開. DOOM3的模型檔案的格式叫做MD5, 由於我目前的程式只能讀取COLLADA檔案, 所以google一下找到了一個好用的MD5 importer for 3ds MAX, 然後再從MAX輸出COLLADA檔案.

基本上DOOM3是使用Y-down 的normal map, 所以我也改了Doom版本的normal map shader. 在測試的過程中發現目前使用的ColladaMax exporter 3.02版本輸出的tangent space basis vector 有時是錯誤的, 於是造成光影效果有時會很奇怪. 後來使用Nvidia的NVMeshMender來計算tangent/binormal後, 問題就得以解決.

以下是測試圖