約翰·施納特跟公司那邊囑咐了幾句,乾脆整個人都留在了動視這邊。
不單單是進一步討論雙方的合作事宜,也被林立新直接邀請進了項目組,充當『披薩學顧問』。
有了真正做打滷饢的專家的加入,遊戲的核心循環立刻又被優化了幾分。
最終得到的成品,比預想之中還要乾淨的多。
「如果要我來說的話,其實有4步就足夠了。」
約翰回憶著店裡的工作流程,
「點單,也就是理解客人需求,我們要知道客人到底想要什麼。很多時候他們並不會按照菜單上的去點,所以你們之前說的『配方』我認為其實根本不必要。」
經過兩天的相處下來,約翰已經褪去了開始時的拘謹。
取而代之的則是從未有過的積極和興奮。
而這種正手握著機票,正在滿心歡喜地備戰著起飛前夕的心情,自然也會被轉換成無上的主觀能動性。
「你們的目標是把過程簡化,單純保留有意思的部分沒錯吧?如果是那樣的話,跟著菜單做反倒是有種循規蹈矩的做作業感。」
「啊哈?所以你的意思是……直接自由組合?」 「嗯……我注意到咱們已經有了自由拼配的設計,其實從這裡下功夫就可以了,客人直接在點單的時候說明自己想要什麼餅底,什麼餡料,當然還有上面要灑什麼東西。」
店內點餐時,這種情況事實上非常常見。
死板的菜單很多時候並不能滿足客人的需求。
他們會根據自己的愛好,興許多加幾片薩拉米香腸,興許加點黑橄欖。
這都是說不好的事。
如果要讓他設計這個製作過程的話,與其定好幾個菜單背板,這種完全自由的設計顯然更有趣。
「就是不知道……會不會很難實現?畢竟這樣一來自由度好像很高,大概要多寫很多東西吧?」
「不會!這正是我們想要的!」
基欽哈哈一笑。
這樣一調整,不但不會讓工作量變大,反倒是還讓它變小了。
得到了林立新的肯定,他們立馬便將草案又調整了一番。
隨著約翰繼續闡述自己的意見,遊戲的核心流程也終於是明晰了下來。 點單、搭配、烤制、切制。
每一環都有不同的挑戰性和趣味性,卻又和諧統一,把披薩里最有意思的部分全部都抽象了出來。
除此之外,店員服裝的選擇、樣貌的自定義、不同客人的收集、各種店內裝潢……
遊戲的輔助系統也基本都定了下來。
……
既然文的搞定了,那接下來就是理的環節了。
可想法很美好,現實也同樣骨感。
怎麼做?
就不說別的了,單單把披薩上的一大堆配料都做出來,這資源量就有多少了?
簡單估算一下,整款遊戲最終的資源量甚至要奔幾十個mb去了。
放在主機遊戲上來說,這個容量對於現在cd-rom快速推廣的時代來說,的確算不得什麼。
可這是網頁遊戲。 那問題就大了。
簡單推算一下,哪怕是你住在機房旁邊,用著最貴的商業化一代adsl頂配網絡,也得花上幾分鐘才能加載完。
「光是一個標準厚底披薩的餅底貼圖,就需要幾百kb……」
基欽在開發機上操作了一番,望著文件的占用,一時間有些頭疼。
披薩能自由拼搭,就意味著他們需要把披薩上的每一個配料都單獨準備好貼圖。
甚至還要有不同角度和形狀的變體,確保不容易審美疲勞。
但這得用多少帶寬?
哪怕是用上了時下最激進的壓縮算法,在不損失像素的情況下這個數字也只能再減少幾十kb,量級上根本沒有拉出差異。
這還沒有算上幀動畫呢。
要是再把這些角色的移動效果都給一一做出來,那占用得膨脹到什麼程度?
如果要保證最基本的可玩性,那他們計劃書上的內容有一大半都得砍去。
但這肯定是不對的。 如果真的做不到,那林立新也不可能放任他們一股腦地往計劃里塞東西。
既然林先生認同,最起碼在他的腦袋裡,是裝著完整的實現思路的。
事已至此……
「快去請林先生!」
……
「減少占用?喔,也對,你們從來沒有過網站開發的經驗。」
簡單聽大衛描述了一下問題,林立新迅速便明白了過來到底是怎麼一回事。
動視這幫人的主要技術棧還是主機和pc端。
他們非常擅長跟底層的硬體打交道,代碼能優化到寄存器操作的級別。
但對於高級語言的編寫卻缺少相關的經驗。
同樣也沒有網頁端開發的積累。
這個問題放在後世,其實是非常好解決的。 但對現在念頭不通達的他們來說,那就是無論如何都繞不過去的坎。
「事實上這方面的技術gamenova已經用過很多次了,只不過全部放在一個項目里的確是頭一回。」
林立新說著,快速跑到樓下,在動視的遊戲博物館裡找到了自己要的東西,這才返回屋內。
《心跳回憶》、《危險節奏》以及……《pokepal》。
看似幾款作品天上一腳地上一腳。
但解決這個問題的終極答案,早就已經藏在它們之中了。
「咱們先來解決最簡單的問題,資源復用。」
林立新拿起pokepal寵物機,
「這個項目就是你負責的,我相信這一點你應該並不陌生。」
資源復用,舊時代主流的優化手段。
核心思想就是把一個素材通過變換做成不同的物件,達到用少量資源製造大量內容的目的。
這裡面的核心代表,自然就是老任的《超級馬力歐》了。 無論什麼時代,但凡提到數據壓縮的藝術,一定都繞不開這款驚人的作品。
在《超馬》里,整個1-1在卡帶中的實際占用其實僅有131位元組。
所有的32個關卡加在一起,占用也才只有僅僅7kb。
能有如此誇張的表現,離不開它的核心技術,色板復用以及貼圖復用。
同樣的一張貼圖,塗上藍白色,就可以擺在天上當雲朵。
改成綠色嵌在地上,就可以是一叢灌木。
同樣的管道,換成不同配色,就可以在不同地圖使用。
放在《老爹披薩店》里,這個技術同樣可以照常應用。
「我明白。」
大衛點點頭,跟著拿起《心跳回憶》的卡盒。
gamenova的每一款遊戲,都是天然的完美教材。
任何一位開發者,只要願意踏踏實實地去鑽研,一定都會有所收穫。 尤其是他這種核心成員,更是能直接拿到部分源碼。
大衛曾研究過《心跳回憶》里如此靈動的角色立繪到底是怎麼做的。
「預製一套組件庫,只要數量足夠多,自由組合就可以做出各種不同的客人,這樣一來可以用更少的貼圖做出更多的客人,從而大幅減少占用……」
這就是gamenova在《心跳回憶》里用的技巧。
拆分l2d。
把角色拆成碎片,程序化地動態控制。
一個角色動畫甚至只需要字節級別的占用。
至於《危險節奏》,它帶來的是音頻壓縮的技術。
如何把一個幾十甚至數百mb的cd級音頻壓縮到遊戲可以承受的範圍,它給出了完美的答案。
但……
大衛將《心跳回憶》放回桌上。
「可這還不夠,大多數玩家的網絡仍然是kb級,它還是太大了。」 這些技術毫無疑問是有用的,而且效果非常好。
理想狀態下把占用直接砍半都能做得到。
但這還是不夠。
如果不能確保絕大部分人都能玩得到,那他們還不如賣軟盤版呢。
起碼普及度有保障。
「當然,接下來才是重點。」
網絡開發跟單機遊戲完全是兩個領域。
對於網際網路工作者們來說,他們同樣是一群手法高超的魔術師。
但他們所擅長的並不是榨乾硬體里的每一分機能,而是帶寬的利用。
「如果我說,我只需要一項技術,就能把遊戲的體積壓縮到原本的十分之一,你信嗎?」
「啊?」
「在設計novascript和html技術之初,事實上我跟卡馬克就已經解決了這個問題。」 林立新在電腦上操作了一番,隨後刷新了一下網頁。
空白網頁上便多了一個圓形。
隨後又是一番操作。
圓形的中間被掏空,閉合處斷開,成了一個不完整的圈。
接著圈被分成了內外兩層。
最後一次刷新。
外側變成了深紫色,而內側則是帶著些許淡粉色的白色。
「洋蔥圈。」
「……?」
林立新全程沒有畫任何東西,只是手寫了幾行代碼。
但偏偏他還就真的畫出了一個像模像樣的洋蔥圈。
而這個文件的占用是……711位元組。 不到1kb!
但林立新像是還不滿意似的,又開始在電腦上操作起來。
不多時,薩拉米、辣椒圈、蘑菇片、培根等各種配料便就都被畫了出來。
十分之一的占用?
這特麼百分之一都有了吧!
如此鬼畜的優化能力,怪不得之前大家討論遊戲機制的時候他表現得那麼遊刃有餘。
「矢量圖技術,我們不描述像素,而是描述路徑,nexus瀏覽器會自動解釋並渲染的,它有完整的canvas系統。」