不,MS-DOS游戏并非宽屏的:纠正宽高比的建议

作者:JiaDeNuo
2023-05-23
3 2 1

编者按

本文来自《CRPG 通鉴》主编菲利佩·佩佩(Felipe Pepe)的个人博客,由 indienova 取得授权并译制发表,原文链接见文末。

  • 原文作者:Felipe Pepe
  • 译者:JiaDeNuo

正文

我之前发布在 Gamasutra 上的两篇文章 [1] 都是呼吁保护游戏历史的长文,但今天我将分享一些自己在当前的电脑 RPG 游戏史研究项目中发现的有趣技巧。它们有关一个很常见的问题,希望本文有助于解答一些疑问。

椭圆盾的崛起

当我浏览无数的博客、论坛帖子、文章、纪录片以及书籍时,有一样东西非常突兀(而且一直让我困扰):宽屏老游戏。

我们都知道,宽屏显示器大概在 15 年前才出现 [2] 。在那之前,我们使用的都是硕大的方脑壳 CRT 显示器。除了那些非常年轻的人外,大多数游戏行业人士仍然记得它们。毋庸置疑,它们都是 4:3 的比例。

那么,为什么我们还会看到这么多老游戏的宽屏截图呢?

这之中只有一个是正确显示的;我敢打赌圆盾实际上是圆形的那一个才是。

关键点在于,大多数 MS-DOS 游戏实际上是以 320x200 的分辨率渲染的,也就是 16:10 的宽高比,即宽屏的——然而这些游戏却并不是以这个分辨率显示在屏幕上的。我不会装作自己懂得所有技术细节——有更好的资料了解这些 [3] ——简单地说,CRT 显示器拉伸了图像来填充屏幕。

320x200 的图像被拉伸成接近 320x240 的分辨率,来填充整个 4:3 的屏幕。我们如今看到的清晰正方形像素在那时的屏幕上实际是一个模糊的矩形,高度大约比宽度长 20%(Amiga,苹果Ⅱ,雅达利 ST 和其他家用电脑有不同的分辨率,但原理相似)。

这应该很容易解决,但我们现在使用的数字显示器不能拉伸一个像素点——它总是一个完美的、宽高比为 1:1 的正方形。这就是问题所在。

盖博拉什最近发福了

如果你试图简单地把 320x200 的图像的高度增加 20%,来“强制”调整比例,以得到最好的结果,你的计算机只能表示无奈,并且希望天网(SKYNET)早点降临。它能做的只有每隔 5 行额外添加一行复制的像素,而这会让整个图像失真。

这也许听起来只是一件小事,是一个怀旧粉丝无人在意的痴念,但是看看它对我们的老朋友盖博拉什(Guybrush) [4] 造成的伤害。

是的,动漫眼和长山羊胡不太适合他。但许多新粉丝可能已经习惯于把他当作一个矮胖的家伙,而不是原来那个时髦的海盗。

不用说,这种做法弊大于利。所以,为了避免图像失真,大多数模拟器默认以错误的宽高比启动游戏,使用正方形像素以 16:10 的分辨率显示(这也有助于它更好地适应宽屏显示器)。

对于那些只是想玩游戏的人来说,大多数模拟器——如果不是全部的话——都有一个“正确的宽高比”选项。它会让游戏按照原始的 4:3 尺寸启动。谢天谢地,在 GOG 平台上购买的游戏通常会默认启用这个选项。但是,尽管游玩观感可能还不错,画面仍然会有些微失真。

模拟器的开发者大都意识到了这一点,所以,即使你启用了“正确的宽高比”,所有截图的分辨率都会是 320x200,即 16:10——没有任何失真。但对于那些需要给文章、视频、书籍或其他资料配备准确截图的人来说,这是一个问题。

解决方案

那么,该如何解决这个问题?我们不能像模拟信号显示器那样拉伸像素点。并且,由于像素是我们拥有的最小图形单元,你也不能从邻近的像素里“借用”1/5。我们能做的是把图像的宽度乘以 5,高度乘以 6,这样每个像素就变成了一个 5x6 的“巨型像素”,如此一来它的高度就相应增加了 20%。

如果你截取了一张不错的 png、gif 或者 bmp 格式的截图(请不要用 jpeg 格式),把它扔进 photoshop 或者任何图像处理软件里,按照这样的方式放大它(使用最近邻插值来保持清晰),你将会得到一张清晰、准确,没有失真的图片。

但副作用是原本 320x200 的图片会膨胀成巨大的 1600x1200 的图片。呃。

问题中的遗留部分

如果你想打印图片或者制作视频,那么增加的分辨率实际上有益无害。然而大多数情况下,你只是想在某家网站或者 monocled 论坛 [5] 上发帖探讨游戏的黄金时代,而 1600x1200 的图片对网页来说实在不够友好。

遗憾的是,对此没有完美的解决方案。每种方案都会造成一定程度的失真。由于调整成 320x240 会造成图片严重失真,并且以现在的标准来看,这个尺寸也太小了,所以我跳过这一步,直接将它们调整成 640x480 的尺寸。下面是一些测试结果:

使用双线性插值直接将 320x200 的截图放大到 640x480 是一个坏主意。因为图片会变得极其模糊。

直接使用最近邻插值扩大至 640x480 和使用最近邻插值先按照 5x/6x 放大再缩小,效果是相同的:图片仍然非常清晰,但是会有一点点失真——在盖博拉什的胡子那里。

最后的方案是使用双线性插值先以 5x/6x 放大,然后将其缩小到 640x480。图片虽然不那么清晰,但是也不会有严重失真。

我尝试了其他一些方案,例如 Lanczos 重采样,但结果也几乎相同。这本质上是一个不可能的任务,所以我们只能选择最优的方案。

我个人认为,最后一种方案是最好的。当时的游戏看起来并没有那么清晰,所以用一点点模糊换取更贴合当时的图像是可以接受的。

编辑:推特用户 Per Olofsson 给出了一个更好的解决方案:“用最近邻插值放大到 640x1200,然后用双线性插值缩小到 640x480,就能获得更清晰的图像。”这样,图片能在横向上保持完全清晰,只是纵向上会有一点点模糊。

如果你想在网页上放一张 640x480 的 MS-DOS 游戏截图,我极力推荐这种方式。倘若你有图片印刷或视频制作的需求,使用 5x/6x 放大的方式会得到一张尺寸巨大但 100%精确的图片。

只是冰山一角

当然,这些仍然不能完美复现当年的游戏:像素看起来不那么清晰,屏幕上的扫描线、曲面屏幕、渗色和色偏 [6],信号杂音等。正如 Kyle Pittman 最近的文章《〈超级赢家〉中的 CRT 模拟效果》(“CRT Simulation in Super Win the Game”) [7] 中展示的那样,复现不是一件容易的事情。

但这些特色都是那些游戏固有的一部分。游戏设计师熟练运用他们的技巧,将其与这些特色有机结合,创作出了令人惊叹的作品。一个著名的例子是《刺猬索尼克 2》(Sonic The Hedgehog 2)中的瀑布。在模拟器上,它们看起来就像是像素点串成的实线。但是,当你把老式电视的颜色混合效应加入其中(下图是在 Fusion 模拟器中的效果),它们看起来就像是连续,流动的瀑布,而你可以从后面穿过——这在当时是一项不小的成就。

你不能做到,对吗?《教团:1886》(The Order:1886)?

遗憾的是,不是每个模拟器都能模拟 CRT 显示器的特色:扫描线、颜色混合效应、噪声、鱼缸效应(fishbowl effect),以及所有那些在静态截图中看起来奇怪的东西。所以,我绝对能理解为什么大多数人不想要这种层面的“准确”。

但是,让我们在这点上达成一致:下次我们展示 80 年代和 90 年代早期的游戏截图时,至少让 4:3 的图像仍然保持 4:3,圆盾仍然是圆形的,盖博拉什仍然是那个我们喜爱的迷人海盗,好吗?

特别感谢 Niektóry 和 Crooked Bee 为此文提供的帮助。


[1] 1.《健忘的英雄:为什么我们要遗忘游戏历史》(“Amnesiac Heroes: Why are we abandoning gaming history?” )
     2.《炒作:让游戏行业自己撰写历史的危险》(“The Ministry of Hype: The danger of letting the gaming industry curate its own history” )
[2] 译者注:本文发表于 2015 年。
[3] 比如有关
像素宽高比CRT 和其他相关理论的详细资料,作者在原文中给出了更多资料来源,感兴趣的读者可在原文查阅。
[4] 译者注:盖博拉什是海盗题材冒险游戏猴岛小英雄(Monkey Island)系列的主人公。
[5] 译者注:此处应该指游戏论坛 
monocle forum,疑为作者笔误。
[6] 译者注:原文为“color bleeding & offset”,但作者后文论述的均为颜色混合(color blending),疑为作者笔误。
[7] 译者注:本文发表于 2015 年。


原文链接: https://felipepepe.medium.com/no-ms-dos-games-weren-t-widescreen-tips-on-correcting-aspect-ratio-37f86343ad65
*本文内容系作者独立观点,不代表 indienova 立场。未经授权允许,请勿转载。

近期点赞的会员

 分享这篇文章

JiaDeNuo 

正在学习独立游戏制作ing 

您可能还会对这些文章感兴趣

参与此文章的讨论

  1. linkzzy 2023-05-23

    怪就怪IBM制定VGA标准的时候,明明当时大部分人都是用的4:3的方屏,它非要弄一个16:10的长宽比
    后期dos游戏用VESA标准上了640x480就好很多

您需要登录或者注册后才能发表评论

登录/注册