容量的问题姑且是解决了。
但摆在面前的问题却一点儿都没有变少。
当然,这是对暴雪的麦克他们来说。
毕竟这种大型项目,一年到头也做不了几次。
“要是能用NovaReadeon的库就好了……”
亚伦薅了把头发,略显无奈地跟一旁的麦克诉苦道。
按照林立新的要求,这次的项目会首发在NX和赫尔墨斯上,随后才是IBM兼容机的移植。
这倒是没什么,毕竟是自家平台,有一两个月甚至是半年的独占都是很正常的事。
但赫尔墨斯也就罢了,在NX上开发游戏,可不是那么容易的事。
放在以前16位机还没普及的时候还好,那时候NX的性能独步天下,随便做做都能拥有超越时代的质量。
但现在不同了。
随着时代的发展,玩家对游戏品质的要求越来越高,在NX上做东西就开始变得有些棘手了。
尤其是考虑到《红色警戒》系列需要用到的大量演出特效。
比如爆炸、烟雾、火焰,以及各种乱七八糟的科技单位,像是隐形单位和铁幕之类的东西,当然还有阴影效果。
这些效果看似千奇百怪,但实际上都离不开同样一个技术。
AlphaBlend,透明混合。
在计算机的世界,透明其实是很难处理的。
通常来说,现代的硬件来做这些其实非常容易。
在RGB三色通道的基础之上,再额外添加一条A通道,也就是Alpha透明度通道,组成RGBA。
假设50%的红色覆盖在50%的蓝色上,系统就可以直接通过颜色混合计算,得到紫色的结果。
这个思路并不复杂,理论上来说不应该直到现代才被普遍适用。
八九十年代用不了这套技术的原因其实非常简单。
硬件跟不上!
CPU羸弱的性能根本不可能支撑这么大规模的运算。
读取前景色、读取背景色、读取透明通道,尝试RGB混合运算,返回结果,渲染。
这一整套流程,几乎每一个像素都要跑一遍。
假如叠加的层数更多,这样的计算也会翻倍地增长。
这压根就是不可能的。
如果有NovaRadeon显卡的参与还好。
毕竟这玩意儿原生就有完整的透明混合运算支持。
用它来开发,很多东西其实一行代码就能搞定了。
但这也不现实。
于是乎现在一帮开发者们便被卡在了这里,进退不得。
在有限的硬件上雕花啊!
他妈的,次世代主机快来吧,真的受不鸟了!
“如果咱们找前辈定制一颗专用的ASIC呢?”
“专门处理透明混合的外接芯片吗?呃……我有种预感,肯定会被林先生骂死的。”
麦克使劲儿摇了摇头。
听到他这么说,一帮开发者也都深以为然地点了点头。
他们都熟悉林立新的风格。
林是很喜欢搞专用电路没错,但通常都是给街机用的。
而且需要林亲自出手设计ASIC电路的游戏都是什么规格的存在?
那是《镜之边缘》这种完全超越时代的产品才需要的。
“那现在怎么办?我们总不可能为每一种背景都单独绘制半透明的版本。”
真要那么干,每种地形贴图的变体加起来,那得是多少张?
分两张盘怕是不够哦。
但他们手头这个引擎在功能上又非常匮乏,根本没有那么多的原生图形能力。
正争论着,屋门被林立新‘砰’地一声推开。
他抱着几盒披萨走进,手上还卷着一块儿正往嘴里塞。
“唔,吵什么呢这是?”
“林!谢天谢地,我们碰到了一个*小小的技术问题*。”
……
一番说明过后,林立新无语地扶额。
暴雪这帮人哪里都好,就是总喜欢把简单的问题复杂化。
这一点上他们跟动视简直是两个方向的极端。
“也罢,等未来硬件条件上来了,这也未尝不是一种优势。”
精益求精嘛!
等到未来硬件性能严重溢出的时候,他们这种追求就有价值了。
“如果只是这样的话,其实解决办法非常简单,不需要任何额外的硬件,从软件层面就能解决了。”
林立新说着,一屁股坐到开发机跟前。
八九十年代比起现代,在显示上有一个非常大的区别。
显像管电视占据绝对主导。
九成九的用户都在使用CRT显像管电视机。
液晶屏的普及已经是很之后的事了。
想要做到显示器这个尺寸的规格,以现在的工艺水平液晶屏的良率根本无法保障,难以大规模商用。
即便做得出来,价格也会远超显像管。
这……严格来说是一种劣势。
因为CRT显像管电视机画面糊,混乱,畸变严重,亮度不理想,对比度差,功耗爆炸,发热严重,体积也巨大,重量更是沉的要命……
它的缺点一箩筐,说上一天一夜也说不完。
相较起来,液晶屏才是现代该有的样子。
优雅、高效、稳定、苗条。
两台显示器放在一起,就像是一个胖成个球的大婶和一位年轻貌美的苗条小姑娘。
但!
显像管大婶也绝对不是一无是处的。
比起液晶屏来说,它有一个非常严重的缺陷,但这缺陷,却也同样是它得天独厚的优势。
糊!
像素边界非常的糊!
由于显示原理的差异,显像管不像液晶那样由无数个动态控制颜色的像素点构成。
取而代之的,是由射线枪打出的电子束激发荧光粉,由荧光粉来显示颜色。
屏幕上的每个像素点,都像是一颗灯泡,不断地向周围辐照着微弱的光。
这让显像管电视机的像素边界并不那么棱角分明,而是更加柔和,更加模糊,甚至是融合在一起。
软件层面上,让光融合在一起需要复杂的计算。
但现实世界本就是一台性能狂暴的超级计算机。
让两束光源融合在一起,根本不需要消耗计算机自己的算力。
尤其是VGA规范本质模拟信号,甚至能从硬件层面控制电子束的强度,让荧光粉发出不同强度的光照,进而得到更加细腻的效果。
那么……这个特性要怎么用在透明上呢?
“虽然按照我的估计,这套技术应该用不了几年了,但我觉得姑且还是可以给它集成到引擎里。”
林立新说着,开了个临时项目写了几行简单的测试代码,随后运行。
屏幕上出现了一副独特的画面。
一红一蓝两个方块,在屏幕中央重叠在了一起。
重叠的部分清晰显示出来了混合后偏紫的暗色,其余部分则是保持它们原本的颜色。
只在融合的部分出现了微弱的过渡边界。
整个透明混合的效果非常自然,自然到不像是16位该有的效果。
“Dithering(抖动),抖动融合技术,虽然只能用在显像管上,但效果绝对不输真正的透明混合。”
“WHAT?HOW?”
麦克他们本就不以技术见长,这帮人都是策划口的人才,干开发完全是为了林立新为了给他们修身养性巩固基础。
此时此刻这般表演,落在他们眼里,无亚于是一场魔术。
“我们在重叠部分应用蓝噪声采样的均匀随机模板,按照比例为重叠的双方分别减少部分像素。”
蓝噪声能确保随机的结果足够均匀可靠。
在这种情况下,重叠的双方便会出现各自缺少一部分像素的情况。
如果是液晶屏,这样的像素缺失会非常明显。
但在显像管电视机里,这种缺失却会被像素本身的自发光给柔化掉。
两个红色像素之间空缺了一格,在人眼中会得到更暗一些的红色,而非断裂开的两个像素点。
而如果是用重叠的另一方来填充这里呢?
它们的光源会互相干扰混合,融合成为本不该成为的颜色。
软件层面,颜色始终还是那些颜色,但在人眼的视觉看来,游戏却凭空创造出了新的颜色。
创造出了真正的透明混合。
而只要对双方的光源强度再进行一点点客制化的小改动……
理论上来说,NX能创造的色彩数量是无穷无尽的。
“要学会利用自己的弱点,麦克,有的时候弱点也可以成为我们有力的兵器。”
——《林语》.1991
对于现代的玩家来说,很多老年间的电子游戏都会有一个非常奇怪的现象。
截图下来没有实机上好看。
总感觉图像表现上怪怪的。
像素锯齿也不舒服,颜色的设计也很诡异。
这就是显示终端的差异了。
那个时代的电子游戏,本就是为显像管电视机设计的。
在图像真正传到玩家眼睛里之前,它实际上已经经历过了一次技术美术工作者们精心设计的小骗局了。
“抖动好啊,抖动得多用,好好发挥像素艺术的优势,有的时候能创造比高清贴图还优秀的视觉效果。”
林立新补充了一句。
像素画这方面,GAMENOVA也算是权威了。
《合金弹头》的画面质感能这么强,跟它的像素艺术是脱不开干系的。
尤其是Nasca的主美Akio,在林立新的草图之上进一步发挥,把像素艺术做到了极致。
“如果你们需要这方面的协助,可以让联系一下小智,把Nasca工作室拉过来。”
重新检查了一下项目的进度过后,林立新这才起身来到门口。
接下来的事他们自己就能搞定了。
好莱坞那边也该开足马力准备宣传片和过场动画了。