和團隊做物理引擎,做到商業程度還需要什麼?

已經有C,Java,C#,C++基礎

1、還需要什麼基礎(具體)

2、掌握這些額外的基礎需要多長時間。

3、有了這些基礎實現需要大約多長時間。


現時有幾個較流行的開源物理引擎,如 Box2D、Bullet、PhysX,如果在性能上、品質上勝不過它們,除非有非常獨特的功能,否則無從談商業。

但題目寫到的基礎,說實話,和做物理引擎沒什麼關係。建議參考一下 miloyip/game-programmer 第 9 部分,及近年 GDC 上的相關分享。


謝邀。

但是不能直接回答你的問題,因為太寬泛。至於說掌握這些基礎需要多長時間,我見過大四普通物理還要補考的,你覺得這是可以一概而論的嗎?

================================================

我只想說,為啥要做物理引擎?還是商業程度的?免費的引擎2D 的BOX2D, 3D的有PhysX。這些都是有大量成功項目驗證過的引擎。無論是社區活躍程度還是技術支持都已很完善。

商業引擎有HAVOK,目前幾乎是無敵的存在,有什麼必要去衝擊這個無敵巨獸?

順便說一句,花錢的就是不一樣。Havok無論是架構,代碼質量,可定製性還是技術支持都秒了PhysX好幾條街。。。。

說個小故事,某世界級大廠為了不被別人掐脖子,同時為了養懶人/關係戶自己擼了一套物理引擎出來。可是該廠大部分現金奶牛項目用的都是HAVOK。於是自研物理物理引擎團隊主動請纓,用自產引擎來替換HAVOK,不算項目預算。結果是該自研引擎項目折騰了幾個月後主動放棄。現在他們的TEAM LEADER已經跳槽自己創業了,搞了一套TERRAIN系統想賣給BETHESDA,結果B社連EMAIL都不回,搞得他還想來找我想問問內部情況.....

物理引擎這種中間件有極大的粘滯性,因為他和GAMEPLAY高度耦合。我個人作為物理程序員,有一半的時間是在和GAMEPLAY團隊扯皮,大量時間花費在怎麼根據一個特定物理引擎的特點來調整代碼,使之滿足一個GD 的需求(哎呀這個手榴彈能不能反彈強一點?主角貼著這個不太平滑的牆移動的時候能不能不要亂晃?人物跳躍的時候能不能不要那麼容易被平台卡住)。這樣的結果就是一旦一個遊戲的風格形成,想要替換物理引擎就成了一件很難的事情,因為每個物理引擎都有各自不同的特點/弱點。一個成熟的系列遊戲想要替換物理引擎是很痛苦的。特別是動作/射擊遊戲,因為換了物理引擎多半連手感都會有點不一樣。

更何況,就算是商業引擎比如HAVOK,一個項目的授權也是買斷的,給一次錢,幾年內你有SUPPORT,有源代碼,項目發了以後也不用繼續給錢。。。。R6做到一半的時候我打聽過授權費用,大概是5萬刀/平台/項目。你要知道,這也就是個入門程序員一年的工資(可能還不到)。當然這可能是育碧這種大客戶客大欺店拿了大折扣。我就算正常價格是這3倍好了,15W刀在加拿大能雇一個程序多久?在美國能雇一個碼農多久?兩個半碼農的年薪,跟整個AAA項目的預算相比,不算啥吧。

所以我不懂為啥要做商業物理引擎?明明就是已經飽和了的市場嘛。。。。。


你這個基礎,做物理引擎? 跟沒基礎也差不多吧……

別的不說,做物理引擎,至少要懂物理吧,三大力學(理論+材料+流體),你懂多少?給你張紙,給你一支筆,你有多大的自信把這幾本書上的題目都做對? 如果你連這都做不到,你有何自信能夠用程序去實現?要知道,物理引擎要面對的情況比書上的題目複雜多了

以你這個基礎,不是我打擊你,能研究好怎麼調用現成的物理引擎就不錯了,別痴心妄想自己這一個了,更別說啥商業級了……


和團隊做一架飛機,做到商用客機還需要什麼?

已經有使用鎚子、電鑽、砂輪、台鉗的基礎

1、還需要什麼基礎(具體)

2、掌握這些額外的基礎需要多長時間。

3、有了這些基礎實現需要大約多長時間。


謝邀,

如果要做物理引擎的話,你大概要掌握一些物理知識,我比較推薦《遊戲開發物理學》。如果有大學知識基礎的話,差不多幾個月(或許不到)就可看完。可以看裡面的那些公式,再參考裡面的代碼寫一寫,然後再去寫引擎。可能會好一點。

然而如果是做商業物理引擎的話,那得看你的團隊的人數和水平了。


做商業物理引擎?難度和中國隊進世界盃差不多吧


先做幾年遊戲開發,如果能做引擎方向開發,再回來看看這個


推薦閱讀:

編程時IDE里的Intellisence好像是個編譯器前端一樣,什麼都知道.這是怎麼實現的?
程序員怎樣避免高強度的工作?
【C語言】關於C裡面數組批量初始化?
c++程序哪些應該放在頭文件裡面,哪些應該放在源文件裡面?
編譯器生成的彙編語句執行順序為什麼與C代碼順序不同?

TAG:遊戲引擎 | Java編程 | CC | 物理引擎 |