第364章 268社長真乃神人也!

  第364章 268.社長真乃神人也!

  「先別說不可能完成。」

  青智源趕緊打住,「赤西桑,你也是程序總監,pokeni的元老,你要是一開始就打退堂鼓的話,以後其他同事們也沒法做事情了。」

  「好,好的社長。」赤西健苦著個臉回應到。

  「我們一個一個問題來解決。」青智源說,「先大地圖吧。」

  「1000*1000對於程序來說,可能確實是有點大,加載效率慢可以理解,但是我們可以先做分塊加載嘛。」

  「你先切割成4塊,實在不行就切割成16塊,25塊,都可以。只要能滿足流暢加載的需求就行。」

  「中間過渡的時候有卡頓什麼的,都是很正常的。」

  青智源說。

  「但是,看起來過渡的時候會很彆扭呢。」赤西健說,「可能我在這個小塊兒上面看的所有東西都是清晰的,但是就隔了一米遠,結果前面這個地圖塊兒沒被加載出來,就全是空。」

  「預加載。」青智源說著站了起來,在白板上面畫了一個圖示:

  先畫了一個方塊,然後在方塊的四條邊上面又各自畫了一個方塊。

  「伱看,」青智源指著中心的方塊說,「我從這個區域跑到這個東邊的區域,這個時候你別等我走到了你再把右邊的方塊給加載出來,而是我在走的過程當中,你就應該要加載右邊的這個方塊了。」

  「然後呢,當我走到最右邊的這個方塊的時候,最左邊那個不是已經超出我的視野範圍了嗎?這個時候你就把它給刪掉就行了。

  相當於我們同一時間只加載了2到3個塊兒,在程序開銷上面就可以得到最大程度的節約。」

  而且,為了滿足這一點青智源決定在第一代《怪物獵人》當中,不投放坐騎系統。

  玩家們的跑步速度也要做個上限限制才行。

  「但是,哪怕是這樣,可能在怪物模型面數上面還是有困難。」赤西健繼續看著文檔說,「草食龍,一種群居類怪物,經常會成群結隊出現,大概在4到6隻左右。

  我們現在對模型面數的支持,就沒有那麼多。」

  「而且一個大場景當中,可不是只有一種怪物會出現,會同時加載好多不同的怪物進來,也就是說,有可能在視野當中,會同時出現10多隻怪物,一旦發生這種情況,就會卡頓,甚至會導致系統崩潰。」

  emmmm……

  青智源托著下巴思考著。

  赤西健說的問題是客觀存在的,畢竟現在的硬體水平就放在這裡,還沒有到達前世隨便揮霍的程度。

  在2023年的時候,大概只有在手機上面才要節約資源,節約內存,在端游上面幾乎不存在這個問題。

  你想想看,一個遊戲可以做到幾百G的大小,誰會在意這麼一點點的開銷?

  手機是內存受限沒有辦法。

  也就是說,現在的遊戲得按照手遊的開發標準來制定才行,能壓縮的儘量壓縮,能節省的儘量節省。

  啊~

  青智源不由得感嘆,還是太慢了,時代還是太慢了再發展迅速一些就好了。

  「這個問題其實也好解決。」青智源拿起記號筆在白板上面寫了三個大字——

  「LOD。」

  「LOD?」

  赤西健和小池一臉懵逼。

  「分層顯示技術。」青智源用人話再說了一遍。

  「什麼意思呢?」

  「你看哈,」

  青智源先在白板上面畫了一匹特別寫實的馬,然後再在旁邊畫了一匹馬賽克馬,再後面是一個不知道是什麼鬼的特別抽象的馬,大概也就只有幾根線條而已。

  「我們製作不同的精度的模型。」

  「近距離範圍內,按照優先級最高,加載實際面數多的這個模型出來。」

  「如果離得遠,沒有戰鬥需求和交互需求,但是又在可見範圍內的話,就可以使用粗糙一點的,面數少的這個。」

  「再遠一點,勉強可見的話,可以只加載這個特別特別粗糙的模型,甚至不加載都行,只加載地形就行了。」

  「除此之外,給地形、材質、不同的物體模型上打一個優先級的標籤,這樣方便程序來進行判斷。」

  「比如地形是最重要的,那麼在預加載的過程當中,就會先把地給加載進來,之後再是一些環境當中的重要元素,什麼大石頭啊,懸崖,河流……

  就按照這個模式去做就行了。」

  「哦哦,懂了懂了。」赤西健和小池點頭如搗蒜。

  社長真是太可怕了。

  居然能想到這種方式。

  按照赤西健原來的設想,一個場景當中加載那麼多的東西進來,起碼得有幾萬面了,這程序消耗怎麼可能吃得消。

  但是青智源一說分層級加載,預加載,突然一下子就把幾萬面給干到了只有幾百面了,簡直可怕。

  這其實還有一個好處,就是可以模擬真實的人眼。

  人看東西,也是近處的圓形範圍內,越靠近焦點的越清楚,越遠離的就越模糊。

  LOD做出來之後,其實也是這樣的一個效果。

  離得越遠,加載的模型就越粗糙,面數越少,自然就越模糊。

  不但不會因為面數減少而導致玩家們覺得不舒服。

  反而顯得更加真實。

  不過就像青智源說的那樣,你得將玩家的移動速度控制在一定的範圍內才行。

  不然的話,當你的移動速度超過了預加載的速度,那就很容易穿幫了。

  比如說旁邊這塊地板還沒加載出來,你就直接開著摩托車過去了,有可能一下子就陷入地板下面。

  這也是很多遊戲當中常常存在的bug。

  但是實際上就是因為預加載沒能匹配上的問題導致的。

  ……

  「除此之外呢,程序那邊還需要做一件事情。」青智源說。

  「嗯?」赤西健疑惑地抬起頭來。

  「你們知道拓撲運算吧?」

  「知,知道吧……」赤西健有點猶豫。

  倒不是自己的程序水平不夠,主要是社長那副盛氣凌人的樣子,就好像是在課堂上面講課的老師一樣,突然提問學生,你一下子心裏面多少會有點兒慌。

  「那就好辦了。」青智源說著,將一個粉筆盒放到了桌子上,然後再掏出一根粉筆來放到它的後面,只露出半截腦袋。

  「在3D領域當中,物體之間其實是有遮擋關係的。」

  「比如說,這根粉筆,有半截藏在後面,那麼它從你們的視角來看,其實就只有一半可見。」

  「在這種情況下,按照一般的程序邏輯,不管後半部分可不可見,是不是也會被加載出來呢?」

  「嗯,」赤西健點點頭,「那是肯定的。」

  「但是實際上,我們並不需要加載後面的部分對不對,因為對於玩家們來說,藏在盒子後面的半截粉筆是個無效信息,那麼就應該將後邊這個部分給裁掉。」

  「而且,就粉筆盒而言,能被玩家們看到的也就只有三個面而已,在後面和底下的面也是多餘的,將這些面都給裁掉的話,內存開銷一下子就釋放出來了。」

  納尼?!

  赤西健和小池兩個人都驚呆了。

  短短的一個教學,立刻就讓他們見識到了社長的程序功底有多麼的強大。

  甚至你都不知道這算是程序範疇還是數學範疇內的東西。

  「但是,它是個整體,沒法做切割啊。」

  「這不就來了嗎,用拓撲算法計算一下,將後面不可見的部分給裁掉就行了。」

  「那不就得要求一個實時運算嗎?這個運算導致的開銷似乎也不小。」

  唔……青智源托著下巴,赤西健說得好像有點道理啊。

  差點兒忘記了時代限制。

  現在的算力可能真的不夠支撐。

  面數加載是少了,可是帶來的實時運算量增加了,究竟哪一種更加合算,還真的不太好說。

  「那就這樣,」青智源說,「靜態的物體構成,比如說這些東西不會動,並且遮擋關係都是固定的,那麼就按照我說的,在美術製作完成之後就由程序來做第一次的剪裁合併工作。」

  「如果是會變化移動的,這樣的遮擋關係,你們就想辦法做優化,哪怕現在不行,未來肯定可以。」

  呃……

  赤西健狠狠皺了皺眉。

  感覺工作量無形中又增加了不少。

  前面說的東西是一個滿足基本需求,到這裡變成優化內容了。

  眾所周知,程序優化是最難也最花費時間的。

  ……

  「AI方面也很難做到吧?」赤西健難受地說。

  他幾乎已經找不到任何可以刁難社長的問題了,只能通過最後一搏來死死掙扎。

  如果這樣還不行的話——

  我們就要開始動工去攻克這些可怕的難題了呢。

  雖然說在青智源已經給出明確方案的情況下,倒也不算難,但是這都是工作量啊。

  沒有思考的工作量,更加沒有成就感。

  有的只是作為一個工具人的疲勞而已。

  現在赤西健有些後悔了,不該這麼早來找社長的,應該自己拉著小弟們商量一遍,看看能不能找到解決方法,實在不行才去找社長,這樣才對。

  赤西健再一次被社長的可怕的解決問題的能力給驚呆了。

  還是太年輕,還是太單純了,低估了社長的實力。

  想想也對,既然這兩個遊戲都是社長親自提出來的,他心裏面肯定有數,知道這玩意兒肯定能實現才讓開發的。

  如果沒有想好方案,沒法實現的玩意兒,青社長估計連提都不會提。

  「這麼多的怪物,各自都有自己的行為習慣,在面臨不同的情況時,還要做出不同的反應,不太容易解決呢。」

  赤西健打出了自己的最後一張底牌。

  「你們就做好行為樹的工具,然後交給策劃們自己去設計就行了。」青智源說,「AI智不智能,做到什麼程度,你們就別管了。」

  這玩意兒,幸好是交給神谷來做。

  換成宮崎英高的話——

  你想想,一個會讀指令的雌火龍有多麼可怕?

  宮崎英高現在還沒有提出讀指令的概念,所以一切都還在可控範圍之內。

  獵魔人2再難也是數值上的難,還沒有到機制上面的可怕程度。

  等過幾年就不是這個樣子了。

  ……

  可惡!

  赤西健被碾壓得體無完膚,社長一句輕飄飄的【程序猿做好自己的事情就行】,相當於轟出了一對王炸,將他炸得欲仙欲死。

  輸了,完全輸了……

  赤西健心想這兩個遊戲看來是非做不可了!

  果然,一切的努力都是徒勞的嗎?

  青智源果然是不可戰勝的嗎?

  社長果然是深不見底的啊!!

  「我有個問題。」

  美術總監坂田泰治弱弱地舉起了手。

  「《蟲師》和《怪物獵人》當中,這些怪物和角色,其實都要用到大量的動作,這個工作量對於美術們來說有點太大了,我害怕吃不消。」

  幹得漂亮啊坂田!

  赤西健給他投去一個讚賞的目光。

  這樣一來,這兩個項目就可以拖入長跑當中了,至少得做個3年5年的吧,平攤下來的話,程序這邊的平均工作量就自然而然減少了呢。

  而且未來隨著硬體的發展,搞不好有些工作在硬體上就解決掉了。

  「哦,對。」青智源這才想了起來,坂田泰治提了一個很重要的問題。

  之前的3D遊戲,裡面的動作都是美術來進行繪製和調整的,其實是一個比較笨的辦法。

  都已經進入3D時代了,就該拋棄一些落後的製作方式了呢。

  「是時候引入骨骼動畫了。」

  「骨骼動畫?!」坂田泰治和赤西健雙雙震驚。

  「對。」

  青智源站起身來,「你們都玩過一些有關節的玩偶吧?」

  「當我們擺動娃娃的手的時候,它裡面的骨骼就會跟著一起轉動,然後將玩偶的動作給固定住。」

  他自己做了一個示範,「學美術的都知道,我們人體運動,都是通過肌肉的舒張和收縮來實現的,比如說屈肘,會運用到我們的肱二頭肌。

  相當於我們的肌肉帶動了骨骼進行運動。

  但是呢,我們現在做3D動作的話,就要反過來。」

  「反過來?」

  「對,反過來。」

  「這一次,我們需要做的是讓骨骼來帶動肌肉,帶動不同的部位進行運動。」

  青智源先是畫了個人,然後在裡面畫了一個骨骼框架。

  「我們可以給模型定義好自己的骨骼,其實相當於在模型上面做了許多個連接點,這些點連接起來之後就形成了一個骨骼框架。」

  「在之後呢,只要骨骼進行運動,比如說屈肘,那麼骨骼動畫播放的時候,模型就會被帶動起來。

  以此來匹配美術們想要的運動效果就行。」

  「程序這邊提供骨骼動畫支持,然後由美術們來自己調整。」

  「……」

  赤西健和坂田泰治兩個人都聽傻了。

  尤其是赤西健。

  好傢夥,明明是美術們就能解決的問題,結果怎麼稀里糊塗的就變成了程序的工作了呢?

  坂田泰治這邊想的卻是:

  納尼?

  整個美術的製作流程和方式都發生了改變。

  聽起來好厲害的樣子,但是實際上做起來如何,他是心裏面一點兒底都沒有。

  赤西健有些痛苦地捂住了臉。

  我到底是為什麼要坐在這裡?

  青智源表示,這才哪到哪啊。

  骨骼動畫是3D遊戲當中的標配了,能夠節省美術們大量的時間,你只要調整好動作,按照一定的規律做好,之後放到遊戲當中就由程序來完成運行就行。

  以後為了讓遊戲當中的角色有更好的動作效果,還得做動作捕捉器呢。

  未來有了動捕技術之後,還需要再做AI適配,AI換臉,甚至是AI生成……

  到那個時候,就不用人來進行調整了,只需要錄入,然後AI自動生成就完了。

  道路還很長,同志們還要努力啊!

  ……

  程序猿和美術們,在會議室當中就自己關心的問題一個個都討論了一遍。

  新來的神谷英樹都看傻了。

  這一幕似曾相識——

  就像是看三國演義裡面諸葛亮舌戰群儒一樣。

  (不用懷疑,三國演義很早就引入了霓虹,並且大受歡迎,很多霓虹人特別喜歡三國,甚至熟讀裡面的每一個細節。

  好多經典的故事可以說是信手拈來。

  前年三國演義電視劇以每集1.5萬美金的價格引入霓虹,成為熱播電視劇,霓虹人對此是特別狂熱的,甚至還一度帶動了相關的遊戲的火爆。)

  此時此刻,青智源在神谷英樹的眼中就像是諸葛亮的化身一樣。

  看到神谷英樹眼中的震驚,三上真司在旁邊笑著拍了拍他的手背。

  「這都是正常操作,你以後會習慣的。」

  「納尼?」

  這居然是正常操作?

  神谷英樹心裏面那個震驚啊,社長的知識儲備量和解決問題的能力也太強了吧,簡直可以用深不見底來形容。

  太可怕了。

  社長真的是太可怕了。

  每問必答。

  只要回答了,一定能讓程序猿和美術們心服口服。

  瞬間就找到了製作的方向和解決問題的方法。

  可是……

  赤西健和坂田泰治並不需要!

  他們巴不得社長也沒法解決,這樣就可以讓身上的擔子沒那麼重了。

  越是討論,兩個人心裏面也越是慌張,怎麼工作量越聊越多了呢?

  到最後,已經問無可問。

  坂田泰治不時地給赤西健送去眼神:你可閉嘴吧你!

  ……

  經過長達5個小時的討論,最後大家已經沒有了什麼可以問的了,方案什麼的也在會議上過了一遍。

  走出會議室。

  赤西健感覺腦子嗡嗡的。

  可惡!

  所有的問題又被社長給解決掉了!!!

  ……

  ……

  ————————————————————————

  晚上還有一章

  (本章完)