遊戲開發的編程算不算是 IT 行業中難度最大的?
其實你要從初始開發和持續開發來考慮這個問題。
舉個例子來說,你可能一開始繼承了一棟條件不錯房子。但是久而久之你就要對房子進行修理和改造。多年過去之後,你可能已經對房子的大部分都了如執掌。也替換了房子的幾個重要部分。這時候你說你是不是就已經成為一個從平地就可以起房子的開發商了?我覺得並不是。
但你說如果把上面的例子換成一輛自行車,如果你對一輛自行車拆拆裝裝好幾年,那麼你從標準配件從頭組裝一件也是可以的。歸結起來,房子在重力和空間下的影響和自行車是不一樣的。
但是如果說作為持續開發,其實維護自行車和維護房子都是普通人能掌握的技能。這就是初始開發和持續開發的不同。
其實大多數人可能沒有意識到,我們說這個行業那個行業,其實很多人都在進行持續開發。比如說汽車業搞引擎的,大多是在一個有十多年歷史的引擎上進行改進。而這十多年的歷史凝固在已有的引擎上,已經沒有人能在短時間內完全解釋清楚。但是這並不妨礙持續開發是需要大量腦力,而且可以產生巨大效益的。
從另一方面說,持續開發所需要的智力和系統掌控能力,在行業間差別並不大。辛苦上一兩年噹噹學徒都能入門。而初始開發就不一樣了。從頭搭建一個大型系統,不但系統本身的運行模式要在你的腦袋裡有,而且怎麼構建腳手架去搭建它本身就是一個水平很高的技能。
遊戲開發,從需要的理論知識和現有的開發工具來說,需要程序員自己搭建腳手架的水平比其它類型的開發高很多。但是從頭開發一個框架和引擎畢竟是小概率事件。大多數人都是在一個一個已經可以比較完美運行的系統上進行持續開發。
說明:持續開發並不限制開發的規模,也就是說並不是小打小鬧。可能你從一台引擎開始改,最後改出來的型號和以前差別很大,別人都看不出來是不是重新開發的了。但是你仍然不是「從頭開發」的。因為一開始有沒有一台可以比較完美運行的引擎,對開發的影響是完全不同的。遊戲開發技術上的難點主要在於其涉及面非常之廣泛,而且涉及到的每一個技術點都有相當的深度可挖,這點已經有很多答主提到過我這邊就不展開了。
更複雜的是,每種遊戲類型,其涉及到的數據結構、基礎演算法、shader、UI架構、AI.....等等方面都有著大量的差異。即便是最有經驗數十年的開發者,也只能敢說自己精通某一類型的遊戲開發,換個類型也只能慢慢再積累經驗。另外,遊戲引擎的迭代速度相對於其它IT行業的開發工具相當之快,往往每隔兩三年就能有較大的改進和性能提升。因此對開發者的學習能力有著相當高的要求,賴在某個技術或者引擎上吃老本是萬萬行不通的,這一點在遊戲行業尤其突出。當然這也帶來toolchain不穩定的弊端,很多人就是因此放棄遊戲開發。
在引擎之外的工程實現上面,遊戲開發存在著需求多變的現實。在互聯網行業,一個應用的核心功能一旦確定,架構上就很少會有大改動或者全部推翻重來的情況,同類型的網站甚至完全可以使用通用的框架和架構進行開發,也有很多高水平的開源架構可供學習。而在遊戲行業,核心玩法在確定下來之前,進行反覆修改試錯甚至全部推倒重來是常見現象。即使渡過了確立核心玩法的階段進入內容開發期,仍然要考慮到架構的穩定性、易用性和可擴展性。與互聯網行業不同的是,策劃的腦洞程度往往和黑洞差不多,你永遠無法預料到需求會如何變化。因此在寫遊戲架構時,往往需要一些更高程度的抽象和模塊化封裝。
但是,「更高程度的抽象和模塊化封裝」是需要花時間和人力成本的。在時間人力有限的情況下,是保證儘快出可用的demo,還是把時間花在這些基礎和工具性質的開發上?這當中的選擇本身就是一個難點,而且並沒有任何通用的答案。
當然,以上這幾點在互聯網、軟體行業屬於共性,但從我個人的體驗上來說,遊戲行業尤其突出。
最後,當在遊戲行業歷練過一段時間之後,就會發現遊戲開發最大的難點並不在技術本身,而在於如何把技術和藝術結合起來。用一句逼格甚高的話來形容,就好像站在技術與人文的十字路口一樣。遊戲本身是一種藝術形式,開發者的技術水平決定了遊戲質量的下限;而藝術和人文修養,就決定了成就的上限。
以上我提到的任何一個方面,要做到精通恐怕都需要用十年為單位的時間。何況每個方面都很重要呢?
當然很多人說不難也可以理解,因為這個行業就和電影、攝影、繪畫等任何門檻極低的行業一樣,有套好點的工具,人人都可以上手開始做。剛瞥到門後的一鱗半爪就覺得簡單,只怕是連門檻都沒跨過呢。
至於難度是否最大,我想問題主:
運動員在NBA和歐洲杯拿總冠軍哪個難度更大?
宮本武藏和真田幸村哪個武力值更高?變形金剛和葫蘆娃對戰哪一邊會贏?如果在春秋時代出現外星人,能否用孫子兵法破之?......最後是膜拜大神:匿名用戶時間:
遊戲後端:沒前途,轉來轉去就那麼點東西,遊戲後端都是分區的,一般而言每個區都是那麼幾千人在線,上海區用戶和北京區的用戶老死不相往來,所面臨的訪問壓力還不如一個全國用戶同時訪問的知乎。偶爾幾個全球同服的遊戲也是取個巧而已。而且原始得很,很多還在用著七八年前的老技術,外面的後端技術都已經日新月異到什麼程度了,遊戲後端的技術還是那麼的古老,原始。
EVE千人旗艦級對戰,大神您實現個架構給我們看看?
遊戲圖形:沒前途,二十年前卡馬克自己都說過,3D圖形已經發展到瓶頸,除非有大數學家出來,顛覆整套以多邊形為核心的實時渲染體系,否則再往下走都是細節上尋求突破,君不見這兩年的圖形都在搞什麼樹更好看點,水更真實點,雲更自然些,燈光再好點。但凡是個遊戲程序手裡都有幾套圖形引擎,所以才會說 「render is nothing」 ,遊戲圖形再往下走,研究遊戲圖形的都是動物學家,植物學家,燈光師道具師了,細枝末節的東西做的更細緻些都被當成創新了,但凡一個閑著蛋疼的人,四處看看抄抄,讀讀論文,只要不笨又肯花時間,都能做得出來,因為所有難題幾乎都被別人解決完了,有啥意思呢?
求大神出手實現個以Ray Tracing為核心的商用化引擎方案吧!
遊戲AI:沒前途,該研究的東西都被研究的差不多了,遊戲AI並不能稱為 「AI」, 因為往往不是在追求最佳解,只是追求一個和人看起來差不多的解。所用到的技術都是AI界幾十年前就玩剩下的東西。況且國內遊戲大多 RPG / 卡牌,不需要什麼 AI,別說 npc 胡亂跑跑就是 AI了。偶爾做個MOBA 也不會用到什麼高級特性。
我也想追求最佳解啊,就怕真這麼搞起來以後就只能搞成AI和AI對戰了......
遊戲業務:沒前途,抄唄。只要遊戲類型不創新,遊戲業務永遠都是苦力活,堆人就能弄出來的東西,然而遊戲各種玩法的原型創新早在十多年前就結束了,現有各種類型遊戲,基本都能從十多年前的遊戲中找到原型。
說得太對了!足球還是我們中國人在宋朝時發明的呢!
沒錯!大神您可以把這段話寫在簡歷裡面投給蘋果,據我所知他們正缺一個給iOS做Game Development Suit的人呢!遊戲引擎:別意淫了,飛機引擎的確是世界上的尖端技術,你想學都沒地方教,遊戲引擎?書店裡到處是手把手教你寫的書,網上到處是給你抄寫的代碼,大學生都能做出來,也好意思叫引擎?卡馬克的時代也許可以叫叫,那時就那麼幾個人會,對於遊戲而言的確是關鍵部位,現在還叫引擎就是在意淫了,unreal4都開源了,該發明的人家都發明完了,現在開發引擎還需要跟前人一樣發明些什麼呢?不就是其他行業一套 development suit 嘛。說起難度還不如有些稱為 library + utility 的東西,看人家的名字多低調。
是不是比別的難,恐怕要跨界才行。卡馬克(John Carmack)在這裡說的https://www.youtube.com/watch?v=VcWRc1wK3gM應該算是一個比較有代表性的: 遊戲引擎開發比火箭開發更complicated
首先說不算第二框架難度高於應用級開發 任何開發都是這樣 不僅限於遊戲第三圖形學是圖形學 難度在編程領域算很難的了 但是圖形學不是為了遊戲而存在的第四現在的遊戲行業比較畸形 真正對於技術的追求越來越少 絕大部分開始進入體力勞動階段 作為主程也越來越陷入業務邏輯 當然這裡不否定一些真正的遊戲開發大牛 不過問問他們他們是不是只做遊戲開發 第五一般比較牛的人是一技術角度去評定比較厲害 比如數據結構很強 比如分散式很強 而且這也是說給外行的 絕對不會說一個應用領域裡面的人技術多強第六還是讓技術的人來回答技術的問題 聽到的 百度的 未必那麼專業
看是遊戲的哪一部分,假如是拼接界面,或者是使用別人封裝好的引擎來寫代碼的話,並不難。難的是封裝引擎這一部分。是不是最難我不知道,反正是挺難的。
我做的主要工作就是設計並編寫工具和SDK來將flash的矢量和動畫導入到手機遊戲中使用。我們僅僅是做最簡單的2d遊戲,基於cocos2dx, 相當於在cocos2dx的基礎上面在嵌入一個可以操作flash的動畫引擎。這種情況已經是遊戲引擎中最簡化的情形了。其實我都不好意思稱呼自己做的東西叫引擎。
這個事情困難的地方,並非是某個演算法的實現,而是怎麼將現有的模塊組積起來,不斷重構和調整,適應項目的需求,必須運行快。就這樣簡單的東西,就涉及很多功能模塊,比如:
- swf解析。有人會覺得swf開源庫到處到是,隨便找個就可以了。問題是那些開源庫,swf解析跟繪畫部分都綁得很死,真可以實際使用,還是需要對著文檔將解析部分單獨抽離出來。
- swf格式會慢,必須預先轉換。下一步就涉及到導出格式的設計,簡單的文本格式會慢,就需要設計二進位格式。單純二進位格式,就設計了3版,需要在讀取速度跟大小之間取平衡。
- 動畫導出和預覽工具第一次使用Objective-C編寫, 只可以在Mac上面運行。第二次用Qt編寫,跨Mac和Windows。
- 代碼結構大調整了一次,將所有的平台相關的東西封裝起來,移植到iOS,安卓,Qt。
- 渲染部分,重寫了一次,第一次基於cocos2dx的CCNode,實在太慢。第二次將動畫的渲染全部改寫,將動畫節點集中起來,直接基於opengl來編寫。
還有一系列的功能,比如切換shader,紋理緩存,內存分配器,後台預載入,顏色混合(用來做光效,比如爆炸效果需要亮些),動畫快進和慢放,角色換裝換武器,UI界面支持(直接使用矢量來搭UI),lua腳本綁定等等。
感覺上,最初一些基於現成模塊寫的東西,隨著速度和定製的要求,慢慢被替換並重寫。接下來還需要嵌入Box2d物理引擎,隔離opengl,支持metal等。現在回頭看cocos2dx上的DragonBone,感覺它太弱了。
上面這只是最最基本的,很多人看不起的2D引擎,還只是2D引擎中的動畫部分,有人甚至覺得這些東西不值一提。對於我來說,從頭做出那套東西,也值得驕傲的,可能我太菜了。上面每一部分都不難,難點就在於將上面所有的東西集成起來,將複雜性都封裝起來,提供一個簡單的介面給製作具體遊戲的人來用,還要保證速度和可移植性。很多部分是相互矛盾的,需要權衡取捨,並非是網上找段代碼,簡單合併就成了。
商業化的3D引擎,加上AI,物理等東西,那個困難程度很高的,我自問已經把控不了。當某人總說某樣東西很簡單,就需要小心了,他不會尊重你的勞動成果,因為太簡單了,普通大學生也可以做出來。但實際上就算很看起來很簡單的東西,你要做好,也是很難很難的一件事情。匿名用戶也是夠了。。
你說的圖形學那段正是說明圖形學難啊。遊戲圖形:沒前途,二十年前卡馬克自己都說過,3D圖形已經發展到瓶頸,除非有大數學家出來,顛覆整套以多邊形為核心的實時渲染體系,否則再往下走都是細節上尋求突破,君不見這兩年的圖形都在搞什麼樹更好看點,水更真實點,雲更自然些。但凡是個遊戲程序手裡都有幾套圖形引擎,所以才會說 「render is nothing」 ,遊戲圖形再往下走,研究遊戲圖形的都是動物學家,植物學家了,細枝末節的東西做的更細緻些都被當成創新了,但凡一個閑著蛋疼的人,四處看看抄抄,讀讀論文,只要不笨又肯花時間,都能做得出來,因為所有難題幾乎都被別人解決完了,有啥意思呢?
需要是「大數學家」級別才能有所突破了,否則只能修修補補,出不了什麼大的成果。現在搞圖形學的各個實驗室基本沒有幾個還在搞理論了,大部分都轉向可視化、虛擬現實或者更虛的東西去了。
你說的遊戲業務那段正是說明遊戲業務難啊。遊戲業務:沒前途,抄唄。只要遊戲類型不創新,遊戲業務永遠都是苦力活,堆人就能弄出來的東西,然而遊戲各種玩法的原型創新早在十多年前就結束了,現有各種類型遊戲,基本都能從十多年前的遊戲中找到原型。
沒有達到一定的高度,根本沒法創新,只能抄來抄去。其結果就是現在國內這個鳥樣。
你說的遊戲引擎那段正是說明遊戲引擎難啊。遊戲引擎:別意淫了,飛機引擎的確是世界上的尖端技術,你想學都沒地方教,遊戲引擎?書店裡到處是手把手教你寫的書,網上到處是給你抄寫的代碼,大學生都能做出來,也好意思叫引擎?卡馬克的時代也許可以叫叫,那時就那麼幾個人會,對於遊戲而言的確是關鍵部位,現在還叫引擎就是在意淫了,不就是其他行業一套 development suit 嘛。說起難度還不如有些稱為 library + utility 的東西,看人家的名字多低調。
大學生都能做出來的那些東西,你也說了,「還好意思叫引擎」?不正是說明引擎並非人人能做的嗎?引擎的每一個部分要精通都是大牛,你說它簡單?
你說了那麼多「沒前途」,正說明了一般人搞這些領域很難有所建樹,只能是做苦力,除非是真正的神牛才有可能取得突破。這不叫難?
難道因為大多數人以前需要學習如何使用算盤,現在可以無腦按計算器了,就說數學這個東西現在變得簡單了??僅僅是因為你處在一個只需要無腦抄襲就能忽悠到大筆鈔票的環境里而已。-----
說這些只是覺得匿名用戶黑遊戲開發黑得不夠高端,並不是說遊戲開發編程算是it行業中難度最大的,對於題主的問題愛莫能助。答非所問求摺疊。UPDATE
後來把答案翻了一下,難道你們說的都不是虛幻引擎、孤島引擎、寒霜引擎這種世界級的引擎開發?看到很多人說不難的。。。我顫抖了,為什麼仙劍6還做的這麼爛=====
如果引擎是你自己寫的,那顯然難度大的逆天僅以其中涉及到計算機圖形學的那一塊來說,那就需要很強的數學功底。各種物理公式
計算機圖形學世界級的會議SIGGRAPH,這個是無數大牛嚮往的會議,與會人員也真正都是行業頂級的,比如迪士尼、皮克斯這些老牌CGI 製作公司。以及很多遊戲業的同行
=====
上面只是圖形學這一塊遊戲里還有各種模塊
比如多人對戰的模塊
以及金融安全的模塊單拿任意一個出來,單純從寫代碼的角度來說也都是非常麻煩的
不然的話,tx遊戲招聘的時候,也不可能開那麼高的價錢去招遊戲安全相關的人了
=====
如果引擎不是你寫的,而是你拿來用,而你又不是技術美工。那麼和上面說到的相比,這就不是最困難的了=====
當然,遊戲這個範疇涉獵太廣泛了比如微軟的kinect,這個也是與遊戲相結合的其背後也是微軟大量論文的結晶其實遊戲裡面,有些東西,已經不單純只是寫代碼了,很多東西都是近似於科研一樣的東西(我從另一個角度來答下這個問題,這個角度將忽視針對引擎,或單純針對Gameplay開發的思考方向)
遊戲開發難在跨領域較多,容易導致問題錯綜複雜,特別是當深入一些細節時。
有句話形容遊戲開發的難度非常好:「魔鬼藏在細節里」
簡單的做個原型是較為容易的,但是一旦去打磨細節,那會是另一番景象
最難的不一定是企業級開發,但是企業級開發一定是最鬧心,要求效率最高,最不允許出現嚴重bug的。
而且要非常簡單,非常好用,導航要有非常清楚的解釋,設計開發企業級應用,比遊戲應用不知道要多設計和研發多長時間,需要多長時間去抓蟲。然後還是不能避免一堆問題。23333.其實開發這種技術,真的沒有難不難,入了門,就是一種技術而已。
只有站在場邊看雜技的,覺得雜技難。表演雜技的人,卻認為這是一種常態。編程,如此而已。當初做遊戲開發前我在一個無處可考到地方看到過一段話,大意是:遊戲程序員要殫精竭慮榨乾目標平台的每一滴性能,因為遊戲的實時交互與設計的天馬行空永遠無法被當下硬體滿足。這不是每個宅男的夢想嘛……
但絕大部分遊戲程序員是寫UI/業務
對於IT行業來說,難度高不高,只在於需求到什麼程度,與行業無關。2048也是遊戲,魔獸世界也是遊戲,這兩個難度的區別大家都看得出來。簡單的即時通訊功能大學生也能寫,但是承載量和穩定性能達到微信和QQ這個級別的全世界也沒幾個。電商網站大學生也能寫,但是能撐得住雙11流量的淘寶全世界可能真沒有第二個。遊戲開發的一部分難度在於需求多而複雜,的確一般的商用軟體很少到達這種複雜度。但是其他的行業有其他行業特有的複雜度。這種單純的比較意義不大。
本來只是想寫個評論的,沒想到超字數了。
贊同 Chaos,以及部分其他回答中,對遊戲引擎的大部分觀點。但是,隔行如隔山,現在IT行業的區分已經真的是很明顯了,不同領域之間,基本上可以認為是兩個完全不同的行業。大家真的沒必要去踩其他領域的技術,因為你去了別人的主場,別人也能吊打你。
例如說:Google/阿里手裡的海量數據檢索系統,技術含量就低了?很多IT巨頭開始涉足的大數據挖掘,分析,智能學習等等領域,從演算法到架構到實現,哪個簡單了?還有,工業領域,別的不說,光是那個真實時的系統就不比你的遊戲引擎技術含量低了。說穿了,遊戲引擎也就是一個基於定時器和中斷的偽實時環境而已。最關鍵的一點:
遊戲行業對可靠性的要求,比起很多其他領域來說,完全是低了好幾個檔次的。遊戲行業對可靠性的要求,比起很多其他領域來說,完全是低了好幾個檔次的。遊戲行業對可靠性的要求,比起很多其他領域來說,完全是低了好幾個檔次的。遊戲引擎計算跟不上了?什麼後果?無非就是丟幾個幀,被問候一下家人而已。
遊戲引擎渲染錯誤?什麼後果?無非就是出了色塊,有bug嘛,大家玩遊戲的時候見得還少嗎?就算再退一步,持續跟不上/出錯,那就告訴玩家,你這配置玩不了,或者降低特效或者解析度咯。還不行?那讓遊戲開發商降低特效,或者減少一個區的玩家數嘛。再不行?好吧,那你要不下一款遊戲換引擎吧?我不做你這生意了,這總行了吧?但是,在其他行業里:
淘寶/支付寶如果發生偶爾錯誤,那可能只是騷擾客服,但是如果大規模數據錯了,這基本上是政治事件了。QQ也是一樣的。如果某天QQ出問題,全市或者全省的用戶都登陸不上QQ,你覺得會不會各種謠言滿天飛?同樣的,如果是像華為那些核心交換機路由器出問題了,一大片用戶受影響,照樣不是被問候一下家人,或者說「換」就能完事的。還有工控領域也是一樣,如果某汽車的esp的程序可靠性出了問題,該介入時不介入,或者不該介入時介入了,那損失的照樣不是錢的問題。前幾年豐田在美國的剎車門,大家沒忘把?也許那不完全是程序和技術的問題,但是嚴重性和後果是差不多的。化工等等就更是嚴重,碰到的東西,不是易燃易爆,就是高溫高壓,或者有毒強腐蝕。如果在出問題剛露苗頭的時候,自控系統反應得稍慢一點,那都可以說是滅頂之災。至於銀行,那就更不用說了。我說一個真實事件:90年代某四大行的某省分行,上了一套新系統,用於全省儲戶的結息。結果系統出問題了,在結息日的下一個工作日的8點(營業時間前一個小時)還沒算完。
因為沒算完利息,那就意味著沒法知道儲戶的真實金額,所以營業網點如果按時開門,那被儲戶發現自己的錢不對,那有問題。但是如果不開門,那是更麻煩的問題。更何況,即使網點不開門,各種非網點辦理的業務,包括電匯等,是不是也要暫停呢?所以,這件事1小時內就層層上報到中央,然後全省武警立刻去各主要網點門口待命,防範群體事件。知道了吧?這是政治事件,從上到下,很多人的飯碗,很多人的前途,甚至很多人的生命(例如說如果真有鬧事,控制不住的話),都會和你的程序相關。其實每個行業都有自己的行業特性。
遊戲行業之所以可以大膽的用各種最新最前沿的技術,不是做遊戲引擎的人都比較聰明,比較牛,其他行業的不會這麼干,而是因為遊戲行業的犯錯成本低。所以你看我上面列的好幾個不同領域的,因為他們的犯錯成本也不一樣,所以他們對新技術的使用態度也是有不同的:阿里、淘寶、QQ等,其實相對還挺接受各種新東西的,有時他們也會自己弄點新玩意出來。華為、思科等就會保守很多,不內測個兩三年是不會輕易投入生產的。工控自動化等領域就更保守,新東西出來,沒個5年10年都不敢大規模推廣。銀行就是最保守的,直到現在,連分散式集群都不敢隨便用,核心系統基本上還是靠大型機死命扛。所以,術業有專攻。
沒那個行業的技術可以包打天下的。誰要是覺得支付寶/銀聯/銀行/證券交易系統的那套東西,業務簡單邏輯簡單外加預算寬鬆,於是覺得自己在遊戲引擎十幾年准實時系統的研發功力,絕對是手到擒來的話,那請組團去做一套出來,然後看他們敢不敢上線?----------------------------------------------------------------
不少人在評論中都表示(或者說質疑):難度不等於穩定性。
何為難?
一句話:別人能做到而你做不到的就是難(反之亦然)。永遠不要以為XX特性是我沒去做,而不是做不到。很多事情,你沒真正做過,是不知道裡面有多少問題的:魔鬼在細節中(The devil is in the detail),這句話在軟體行業極為適用。
至於有些人說什麼:穩定性不過是細心云云,我只能說,這不但是無知,而且是對過去幾十年來所有軟體工程研究成果的一種侮辱。就好比一句話:考100分不難,不過是細心而已。這句話在學霸口中說出來,那是謙虛,在學渣口中說出來,那就是無知。所以,請所有想說穩定性不難的人,先把自己手上的代碼、模塊、系統做到和別人一樣穩定,然後再來高談闊論說:穩定性不是難度。再說回軟體開發。
一個軟體系統,其難度可能體現在以下幾個方面:演算法、架構、實現、規模、穩定性、性能、可擴展性……當然,在現實中,受限於各種實際條件,所以我們在以上幾點幾乎是不可能同時做到完美的。所以我們通常說的「設計」,其實就是綜合考慮實際情況,在以上各種指標和參數間作出取捨。而不同領域,一般情況下的取捨傾向是有不同的:例如說遊戲,在一定程度捨棄了穩定性、規模和可擴展性,而把演算法和性能會調整到極致。而像google/阿里/騰訊等互聯網企業,則在一定程度上捨棄了性能(互聯網公司很少會追求單機、單服務的極致性能),而通過平行擴展能力,把規模、架構等做到極致。例如銀行等,穩定性第一,其他一切往後排。至於演算法或者可擴展性嘛,就只能呵呵了。再說回遊戲。某些做遊戲的人,例如說 Chaos,說他們做遊戲的也追求穩定性。那我就想問一下,要談穩定性,最起碼就是沒bug,對吧?例如說,一個三天兩頭就發生空指針訪問的模塊,怎麼都算不上穩定吧?好,那我不妨請 Chaos 或各位做遊戲的人來報一下料,說說看,你們的遊戲工作室,或者你們曾經參與過的某款遊戲,在上線前,測試的行覆蓋率、函數覆蓋率、分支覆蓋率、條件覆蓋率分別是多少(別告訴我你們工作幾年都不知道這些指標的含義)?然後,據我所知,很多遊戲,別說上線標準如何,很多是連這些數據都根本沒有。你們不妨給我一點反例?所以,你們說你們也追求穩定?還要動不動和通信、銀行等行業比穩定性?說得難聽點,真是:井底之蛙。單說開發遊戲,編程要求未必有多高,看看UDK的遊戲邏輯設定都簡化到什麼地步了…真正難的是遊戲引擎的開發
這個問題就好像在問:C語言是不是最好的語言?
你要只拿一個遊戲引擎寫寫腳本,那就不算
你要自己寫遊戲引擎,搞圖形學,那還可以以前學編程的老師說過,相對於應用軟體來說,遊戲開發是編程里最不好學的。雖說演算法在編程領域哪裡都重要,但是"在遊戲開發中演算法比應用軟體更重要,這裡面涉及了數學和幾何圖形學的各個方面。
你們都當真不把處理器和晶元開發當IT啊?
遊戲開發不難,難得是做一個好遊戲開發工具。
編程就跟研究物理一樣: 底層技術(基本粒子)和宏觀架構(宇宙)是最難的。
推薦閱讀:
※哪個遊戲創造了 SAVE/LOAD 機制?這個機制對整個遊戲業有什麼影響?在未來 S/L 機制會有什麼改進?
※怎樣學會魔方?
※為什麼除了歐美和日本以外的國家,很少有優質的主機遊戲出現?
※目前網路或單機遊戲中的 AI 能達到怎樣的水平,未來的發展前景如何?
※怎麼看最終幻想15的結局?你是怎麼理解的?