看板 GameDesign 關於我們 聯絡資訊
※ 引述《littleshan (我要加入劍道社!)》之銘言: : ※ 引述《haryewkun (Har)》之銘言: : : 對於做 3D 引擎的人來說,重寫應該是家常便飯。不重寫,怎樣加入對更新顯示 : : 卡的支持及優化?而且像雙核這樣的技術,也是日新月異。平常應用程式可以不 : : 管,但是要搾出最佳效能的 3D 引擎,就不可能不重寫了。像John Carmack也重 : : 寫不止一次…… : 你寫過 game engine 嗎? : 那種完整包含物理模擬的... 我所說的不是 game engine. : 「重寫」不是鬧著玩的 : 程式愈大 所花時間的增長程度絕對超過線性 : 所投注的人力物力也不是每家公司都可以想重寫就重寫 : 因此新的 game engine 往往都是從舊的 engine 修改而來 : dual core 出來一段時間了 : 但由 dual core 得到明顯效能增益的 game engine 依然不多 : 正是這個原因 : 把 single-threading 改寫為 multi-threading 可是很麻煩地 : 就算是對新顯示卡的支援 : 也不須要重寫全部的程式 : 通常只要改一小部分就夠了 這點我就不確定了。本來是 DirectX 8.1,現在要支援 DirectX 10.0,需要 修改的地方多不多? 聽 John Carmack 自己說的是,四年前寫的 code,很多地方就已經落後了。 他說,3D 顯示卡的進步很快,為了追求更好的效果,他有對每一個新的id項 目重寫過渲染器的欲望。 http://www.programfan.com/article/showarticle.asp?id=2463   最終,渲染器是游戲程序員最受評判的地方。在這個行業,視覺上的華麗 非常重要,因此它為知道你正在做的買單。對于渲染器程序員,最壞的因素之 一就是3D 顯卡工業界變化的速度。一天,你正在嘗試使透明圖像正確地工作; 第二天 nVidia 正在做頂點著色編程的展示。而且發展非常快,大致上,四年 以前為那個時代的 3D 顯卡寫的代碼現在已經過時了,需要全部重寫。 甚至 John Carmack 這樣描述過,他知道四年以前為充分發揮那個時期顯卡的性能所 寫的不錯的代碼,如今很平凡 -- 因此他產生了為每個新的id項目完全重寫渲 染器的欲望。Epic 的Tim Sweeney贊同 -- 這里是去年他給我的評論:   我們已經足足花費了9個月時間來更換所有的渲染代碼。最初的 Unreal 被 設計為軟件渲染和後來擴展為硬件渲染。下一代引擎被設計為 GeForce 及更好 的圖形顯示卡,且多邊形吞吐量是Unreal Tournament的100倍。   這需要全部替換渲染器。很幸運,該引擎模塊化程度足夠好,我們可以保 持引擎的其余部分—編輯器,物理學,人工智能,網絡--不改動,盡管我們一 直在以許多方式改進這些部分。 -------------------------------------------------------------------- 所以照他這樣的說法,不是重寫過整個 game engine,而是重寫過整個3d engine, : : 我認為遊戲很難不跟著升級,原因有好幾個。第一是Vista的用戶權限有很多改變 : : ,第二是只在 Vista上面出現的DirectX,第三則是受托管架構,免除了記憶體洩 : : 露的問題…… : 寫遊戲不是寫大學生的程式作業 : compiler 幫你管記憶體是件好事 : 但這當然要付出效能上的代價 : 在效能第一的遊戲上並非全然是利大於弊 : 另外 你是不是以為 C++ 沒辦法幫你做記憶體管理? : : 在Vista出現後,會有多少遊戲轉移到.NET平臺,倒是會相當在意的部分……客觀 : : 來說,用.NET的受托管架構寫程式,比用C/C++語言寫程式容易太多了。 : C++ 是很難學沒錯 : 但難學於它好不好用其實是兩回事 所以,這個帖子的原點,就是想談談在 Vista 平臺上面,什麼樣的架構是最好的遊戲 開發平臺。現在重新以 Vista 為用戶對象,架構一個新的3d引擎,遊戲製作者會以什 麼為最佳開發方案? 其實在這裡我已經假設了一個前提,就是會有人為 Vista 平臺開發專用的遊戲。如果 假設遊戲製作商拒絕證移到 Vista 上面,那麼就沒有討論的意義了。但是因為 DirectX 10 只出現在 Vista 上面,那麼除非不考慮支援,否則必定要為 Vista 平臺 開發遊戲。一旦要開發,就必須在 Managed DirectX 或者 Unmanaged DirectX 中間 作一個選擇了。這也就是我要發問的本意了。 當然我們也可以說,Vista都還沒有上市,談這個有意思嗎。雖然 Vista 最快也要明年 一月才上市,但是遊戲的引擎的製作(不管是從新製作或者重寫),都是一項龐大的工 程,兩、三年的開發時間是家常便飯。 這可不是為了升級而升級哦。(笑) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.111.10.148