“先別說不可能完成。”

青智源趕緊打住,“赤西桑,你也是程式總監,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個小時的討論,最後大家已經沒有了什麼可以問的了,方案什麼的也在會議上過了一遍。

走出會議室。

赤西健感覺腦子嗡嗡的。

可惡!

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

……

……

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

晚上還有一章

(本章完)