约翰·施纳特跟公司那边嘱咐了几句,干脆整个人都留在了动视这边。
不单单是进一步讨论双方的合作事宜,也被林立新直接邀请进了项目组,充当‘披萨学顾问’。
有了真正做打卤馕的专家的加入,游戏的核心循环立刻又被优化了几分。
最终得到的成品,比预想之中还要干净的多。
“如果要我来说的话,其实有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系统。”