吳軍 答讀者問25 | 用“遞歸”做事有哪些缺點(diǎn)闯两?
一名游戲客戶端開發(fā)人員向吳軍提問褥伴,游戲開發(fā)也是需要遞歸向下進(jìn)行的谅将,但游戲的需求變化相比其他計算機(jī)行業(yè)而言是快不少。因此如果架構(gòu)做得太深入重慢,會適應(yīng)不了這么快的變化饥臂,導(dǎo)致浪費(fèi)了架構(gòu)的一部分時間,架構(gòu)做得不夠深入又會出現(xiàn)后期擴(kuò)展的問題似踱。
吳軍的回答
自己沒有開發(fā)過游戲隅熙,只能轉(zhuǎn)述“游戲老兵”的觀點(diǎn),他們包括完美世界創(chuàng)始人池宇峰先生和騰訊的一些高管核芽。
首先囚戚,要把游戲看成是一部電影,而不是一個簡單的IT產(chǎn)品轧简。既然是電影驰坊,就是先要有大的情節(jié),再有細(xì)節(jié)哮独,因此你說遞歸向下一點(diǎn)沒錯拳芙。但是,電影是有流派風(fēng)格的皮璧,游戲也一樣舟扎,這種流派風(fēng)格是改變的,也就是說悴务,游戲成敗第一條是流派風(fēng)格符合了當(dāng)前的主題睹限,因此有很大的隨意性和運(yùn)氣的成分。
池先生講惨寿,很多好的游戲設(shè)計師在一款成功的游戲之后邦泄,要潛行很多年,才能再出第二款爆款裂垦。因此顺囊,對于成敗只能說不要太在意,成了蕉拢,有很大的運(yùn)氣成分特碳,敗了,并非說明自己做得不好晕换,要總結(jié)經(jīng)驗(yàn)往前走午乓。
第二,腳本很重要闸准,你做游戲益愈,這點(diǎn)應(yīng)該會有體會,就不多講了。
第三蒸其,接下來才是產(chǎn)品和工程的工作敏释。游戲開發(fā)總體上是“強(qiáng)干弱枝”,也就是說架構(gòu)設(shè)計遠(yuǎn)比開發(fā)重要摸袁。根據(jù)騰訊的經(jīng)驗(yàn)钥顽,架構(gòu)完成后,下面開發(fā)趕時間是趕的出來的靠汁,架構(gòu)出了問題蜂大,幾乎沒有修補(bǔ)的可能,整個都玩完了蝶怔。因此奶浦,寧可多花一點(diǎn)時間把架構(gòu)做好,以便后面有回旋余地添谊,或者加班加點(diǎn)趕進(jìn)度的可能财喳,也不要一開始就把樹種歪了。
第四斩狱,也是不能忽略的耳高,用戶體驗(yàn)的細(xì)節(jié)很重要。這是騰訊首席運(yùn)營官任宇昕總結(jié)出來的所踊。騰訊最初很多游戲也是很失敗泌枪,看著其他公司的同類游戲就很成功,不知道原因秕岛。后來任宇昕發(fā)現(xiàn)在于體驗(yàn)的細(xì)節(jié)上碌燕。
今天正好看了一個游戲資訊類節(jié)目詳談騰訊的第一個成功游戲運(yùn)營產(chǎn)品DNF的背后故事。當(dāng)時騰訊簡直是盛大继薛,網(wǎng)易修壕,九游都看不起那家韓國公司的情形下才得到運(yùn)營資格的。而且也確實(shí)面對了不少服務(wù)器和bug的問題遏考。機(jī)遇加上拼搏吧慈鸠。
計算機(jī)在用遞歸處理事務(wù)的時候,都有哪些缺點(diǎn)灌具?
采用遞歸的方法青团,邏輯簡單,代碼很短咖楣,非常漂亮督笆。但是,由于要不斷地把中間狀態(tài)放到堆棧中(成為壓椨栈撸或者入棧)娃肿,然后再出來(成為彈出棧或者出棧),占用空間很多咸作。
因此锨阿,在具體實(shí)現(xiàn)時,很多情況是使用遞歸的原則設(shè)計记罚,遞推的原則實(shí)現(xiàn)。比如真正做階乘運(yùn)算壳嚎,并不需要從大往小計算桐智,還是可以從小往大算的。
世界上很多事情烟馅,分為邏輯上的解決方案和物理上的兩種说庭,先搞清邏輯,再進(jìn)行物理設(shè)計郑趁。
木魚水心今天發(fā)了“血觀音”講解刊驴。考慮了一下寡润。這算是中等局吧捆憎。
而我是怎么分局的呢?我也問了一下自己:
局——零和博弈時無可避免的游戲梭纹。
低等級應(yīng)該就是那種辦公室斗爭躲惰,內(nèi)斗消耗。不會產(chǎn)生實(shí)質(zhì)性生命損害变抽。最終得到的比付出的少那種過家家础拨。
中等,應(yīng)該就是血觀音或金色夢鄉(xiāng)這種绍载。牽扯出至少兩項(xiàng)人性黑暗面的模樣诡宗。商為財死,官位權(quán)亡击儡。然而總會有坐收漁翁之利者塔沃。有贏家的局才是局,并且其利益要遠(yuǎn)大于付出曙痘。否則叫亂斗芳悲。
高等局,這個很難边坤,雨血是個例子名扛。至少是富可敵國的組織級別,或者直接國家級別茧痒。高等局都不完美肮韧。總是太過慘烈。犧牲屬911級別弄企。而大多都會被掩蓋超燃。血色?瑯琊榜拘领?將就著往這方面想吧意乓。
end