有趣的骇客:简史

很难列出开发人员在实现他们的想法时遇到的所有困难-从铁兼容性的意外问题,时间不足,无法复制的错误,到仅使您无法重新创建想要的一切或雄心勃勃的技术缺陷。在阅读了一系列事后调查的启示之后,开发人员抱怨阻碍他们前进的意外障碍,但人们只能想知道最终产品的趣味性和可玩性,尽管它所占的比例甚至不到一半。但是,本文将讨论著名游戏开发历史中的一些引人注目的示例,在这些示例中,程序员设法克服困难并以一种不寻常的方式做到了。

实际上,对该问题的关注是由于最近的消息引起的,该消息是《辐射3》附加组件中的火车根本不是火车,而是NPC手中的一个物体,它被戴在铁轨上的某个地方。通过在编辑器中查看对象的属性,我们很偶然地了解了这一点。贝塞斯达使用这种技巧,节省了将真实火车引入游戏的时间(至少没有交通工具),而又没有让玩家沉浸在世界末日荒原的虚拟世界中...但是让我们从头开始。


蓝色的马车正在摆动....

一方面,出现在70年代后半叶的早期个人计算机提供了许多无法访问大型机的机会,另一方面,当时的机会非常有限。到那时,太空的征服者,曾是英国的领主理查德·加里奥特(Richard Garriott)已经设法建立计算机游戏。难怪他的Akalabeth是最早的个人计算机RPG之一,在历史记录中排名第28。史蒂夫·乔布斯(Steve Jobs)的最后一个提议并没有完全满足他的打球野心。内置编译器Apple Basic和64 KB RAM的局限性导致该程序无法完全容纳在内存中。他必须编写一个子程序,以卸载不必要的数据(怪物的图像或其他东西)并将其替换为当前所需的内容,只保留文件头,即执行交换算法。这样,程序就不会注意到问题,所有操作都是手动同步的,当我尝试通过调试传递代码时,它只会给出很多错误。


从这里开始。

不必惊讶-现代游戏也使用类似的技术来优化资源工作。著名的侠盗猎车手系列(Grand Theft Auto系列)除了年复一年地发展壮大的音乐收藏以及广泛的汽车(不仅是车队)外,还永远不会让您欣赏它的所有多样性。事实是,在道路上的大多数场景中,第四部分(在早期场景中也是如此)中,史诗只能出现约20种不同型号的汽车,尽管实际上实际上很少。而且,如果那个时候那个角色也租了某种汽车,那么同一辆汽车很可能会和他一起在路上滑行。这样做是为了节省资源。当然,有一些方法可以禁用此算法,但同时会在帧-帧区域中产生影响。


群众集会?否-内存不足。

另一个利用不寻常的骇客攻击的经典是Elite,它于1984年首次发布,并扩展到了当时可用的大多数系统。这款雄心勃勃的游戏结合了第一人称空间动作模拟器和交易部件,对发行商而言似乎仍旨在与街机市场竞争,而开发商Ian Bell和David Braben则花了一些时间进行搜索。但是,Elite确实受到了热烈欢迎,并且催生了整个流派。但有趣的是,它打算用于相同的八位计算机,原始平台游戏者的字符在屏幕上爬行。八个星系和256个行星的无边无际的空间吸引了玩家的想像力,而其容量仅为25 KB。


屏幕后面隐藏着巨大的空间。

为了实现这一点,创建者使用了低级的汇编程序编程语言以及他们自己的算法,该算法从表格中随机获取数据,从而在创建新游戏时重新创造了世界。因此,选择了资源汇率,行星类型和其他信息。在将来的端口和改进的版本中,许多限制已被删除,但是创建银河系的算法仍然存在。

此外,《太空侵略者》是每个人都听说过的游戏,即使不是全部,也可以肯定。这个想法很简单-明星干预者慢慢沉入屏幕底部,玩家在移动的炮塔上进行防守。而且它们出现在屏幕上的次数越少,飞行和下降的速度就越快。作者的想法?当然。但是它是如何实现的!该游戏机是Intel 8080-第一个广泛使用的微处理器,每秒可处理300,000次操作。由于他无法应付分配给他的任务,因此出现了速度上的差异-屏幕满了时,游戏的速度变慢了。但是“太空侵略者”的创建者西敏友弘决定将这一问题留给其他人解决,因此花了很多时间来开发硬件。不用说,飞行动画或彩色图形的平滑动画-必须将它们推迟到更高版本中使用。顺便说一下,在以下用于计算机和机顶盒的端口中,仍然保留了这种机制,但是在不使用“制动”处理器的情况下得以实现。


, .

30多年来,游戏中流畅的性能问题比以往任何时候都更加重要。为了保持游戏的恒定速度,使用了多种技术,其中一种是动态帧缓冲区,在许多游戏机和新游戏机中都可以看到。该方法的本质在于,根据负载,图像大小会发生变化,以保持承诺的每秒30或60帧。并且它可以在运行中逐帧更改,并通过控制台的硬件缩放器进行扩展。但同时,仅调整水平分辨率,而垂直分辨率保持不变-720或1080像素。并且,根据可用示例判断,在第一个版本中,它可以从1280点降低到640(!)点;在第二个版本中,它可以下降到1200点。此外,在运行于不同主机上的游戏中,该技术会产生不同的分辨率。



一帧相同,一屏大小,但水平分辨率完全不同。

这是最早在Wipeout HD中看到的,但后来用于id Software的Rage射击游戏,《铁拳》 Tag Tournament 2格斗游戏等。

长期研究特定系统的功能后,有时会出现一些有趣的决策。 Commodore 64除了是最成功的个人计算机模型之外,还是寿命最长的模型之一,其使用相同的配置从第82年到第94年。在平台落日下出现的游戏之一是鲜为人知的Monsterland平台游戏Mayhem。但是,与80年代使用完全相同的硬件制作的游戏相比,它看起来很棒:屏幕快速流畅地滚动,大量精灵,鲜艳的色彩。 Apex软件开发人员使用了其武器库中的所有技巧。


很难想象这是来自NES之前3年的平台的游戏截图。

毕竟,要实现如此快速的滚动,游戏必须是Mario和Sonic的混合体,而后者几乎不限于一次滚动7个像素(C64提供了这种功能),使用了图形芯片中未记录的错误,可以滚动至320像素,即一屏的宽度。但这还不是全部。尽管计算机的名称意味着仅存在64 KB的地址空间,但可执行文件占用68。多余的RAM是从ROM占用的,由于某种原因留下了可用空间,图形模式也是两者的混合-HIRES(高根据第82版和MULTICOLOR的标准,并克服了帧中子画面数量的限制(它是在硬件级别上放置的),使用了复合图像,其中图片由帧的几个部分组成,欺骗铁杆。

当然,关于使用骇客的故事还不止于此,但是对于那些想要看介绍的游戏并聆听这些以及其他有趣示例的人,我们欢迎:我们的视频。



//维吉尔&老鼠

Source: https://habr.com/ru/post/zh-CN382877/


All Articles