作者pponywong (pony)
看板GameDesign
標題Re: [請益] 遊戲有哪些研究僧能發揮的題材嗎?
時間Fri Feb 6 22:08:54 2009
原文恕刪
我也來說一下好了
因為我也是在做3d偏遊戲方面的
要學做遊戲的話
最難的技術當然是 3d engine
主要是渲染器(renderer) 跟 level editor 的部分
當然物裡引擎也很難
我先說圖形部分好了
如果是資工系的
可以去 trace code
我碩一的時候是選擇 ogre 看了
那時覺得他的 c++ inheritance, polymorphism 用的很好
然後 design pattern 也用了很多
但是後來學久了
卻覺得ogre不好
因為 design pattern 用太多了
個人認為已經到了 anti-pattern 的地步
有學過的人應該知道 ogre 用了一堆 singleton manager
覺得很討厭
所以要學遊戲設計...............
很重要的一點就是請從商業引擎著手
建議你看 quake3 的程式碼
可以從 bspc (bsp tree compiler) 開始看
可以知道一般 FPS 地圖的構成
再看 quake3 的 renderer (opengl 寫的)
因為 quake3 renderer 是基於 bsp 場景做渲染的
所以會有一堆 vis, pvs, portal 之類的
要花不少時間
這邊有一個大陸人的 blog
裡面有一些關於 bsp 的東西, 可以看
http://www.cnblogs.com/dreams/archive/2007/03/25/687267.html
還有之前 Half-life2 被駭客洩漏的程式碼
有方法記得入手一下, 裡面可以看的東西更多
像是在 bsp 裡面加上 displacement map
跟 lighting (hl2 是用 radiosity)
gdc 有一些 valve 的 paper 有提到 displacement normal mapping
就是利用 disp map 跟 radiosity 技術
不過 valve 在 level editor 的基本技術還是使用 quake3 的 bsp
另外 hl2 源碼裡面還有 havok 物理引擎的程式碼
要學物理引擎也可以 trace 看看
想要再多學一點的話
就練練 opengl 跟 directx
不要有那種選一種學就好的想法, 請兩者都學
還有之前 ps3 sdk 也有秘密流出
裡面有不少不錯的 example 跟 sce confidential 的東西
有方法也拿一份來 trace code
如果你的興趣只是做 3d 而不是遊戲的話
就學一下 global illumination 的技術吧
像是 radiosity 跟微軟推的 PRT
還有 ray tracing
都是不錯的論文題目.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.207.94
※ 編輯: pponywong 來自: 140.114.207.94 (02/06 22:46)
1F:推 Bencrie:實在是不怎麼喜歡D3D 囧rz 02/06 23:46
2F:推 AlvinX:sigletion是很基本的pattern, 我覺得蠻好用的 02/09 00:23
3F:→ AlvinX:我覺得Ogre能發展的快, 主要歸功於他用了很多pattern 02/09 00:24
4F:推 GALINE:我沒玩過Ogre,不過用很多pattern不一定是好事[苦笑] 02/09 11:18
5F:→ jugu:別人寫singleton的東西給你用時,有時候會是件很恐怖的事:( 02/10 02:29