矢量游戏32C3

2021-04-10 05:30:51

这是我们对32C3的谈论矢量复古游戏和与XY显示屏的界面的谈话。谈话是与Adelle Lin合作的结果,另一个NYC电阻成员是数字设计师,专注于建造俏皮空间,游戏和交互。如果您更喜欢观看,半小时的视频在线。

最早的模拟计算机使用示波器或绘图仪来输出结果。该EAI680在其Tektronix XY监视器上显示差分方程模拟抑制摆的结果。

第一个视频游戏,1958年两台的网球,采用类似的模拟计算机建造,并在示波器上显示。球的反弹被实现为微分方程,与EAI680上所示的一个非常相似。

没有"源代码"对于两者的网球,因为它完全在硬件上实施。控制球的方向的继电器,检测何时击中地面或网的比较器,实现差分方程的opamps,模拟阻力的电阻等。

与生产者Jeanne Angel,Games Studio很多眼睛和物理学家Peter Takacs合作,阿黛尔在硅市的现代化娱乐中奏效了硅市。由于博物馆五个月展览的无需维护运行的压力,他们使用了4K显示器并模仿游戏。在Brookhaven网球的真实演示期间,在Brookhaven有技术人员在破产时更换零件,纽约人想要避免的东西。

太空!从1962年起是第一个数字视频游戏之一,并使用了PDP-1的XY显示屏显示玩家'船舶和武器,以及星际背景。该控件在系统的前面板上是旋钮和按钮,虽然许多网站构建了定制控制,以避免佩戴官方的控制。

存储管矢量显示器对于工程应用非常流行,因为它们可以绘制非常高的分辨率线并保持稳定的图像。然而,它们并不适合游戏,但允许非常低的内存计算机在低带宽链路上绘制令人难以置信的复杂图像。

“1978年,当为月球登陆器开发数字矢量发生器时,内存对于视频游戏中的帧缓冲区来说太昂贵了。 ...... 512x512x4的两个帧缓冲器需要128个存储器设备的成本为614美元。“

这就是为什么在大多数显示器都是光栅扫描时,为什么要绘制向量。使用帧缓冲器构建比帧缓冲区的栅格版本的栅格版本的成本将在1024x1024的屏幕分辨率中具有数千美元的硬件。它还需要一个可以绘制许多垂直线路的显示:大多数CRT正在建立电视使用,只有几百个分辨率。

将Blocky,Pixelated Bitmap Starwars Game与向量Vesion进行比较。它真的很棒,传染媒介线路可以解决更多细节以及它们如何代表死亡之星的圆圈。

此外,矢量更容易做3D动画。在这里尝试模拟3D世界的比特图游戏的比较与钢筋缩放和旋转的三维型号的扎带斗士的3D模型的比较。你宁愿玩哪个?

在向量显示中,光束不会绘制水平"光栅"或#34;扫描线"像传统的crt。相反,光束可以转向屏幕上的任何点,并在该位置创建一个明亮的点。使用非存储向量显示,光束保持在该点的越长,它变得更加光明。通过改变X和Y输入,可以绘制线路或其他形状。通过快速移动或通过改变亮度(" z")输入,可以绘制断开连接的线路。在这种情况下,我' ve禁用z输入,以便我们可以在屏幕上看到对象的绘图顺序。这里显示的月球着陆器使用A"数字矢量发生器",直接驱动光束。

Tempest使用An"模拟矢量生成器",它总是返回中心,因为这是唯一的定义点。在任何一种情况下,它都是一个"硬实时问题"为了产生这些向量 - 如果系统暂停了几个纳秒,则线路的亮度也有明显的变化。

生成向量的一种方法是使用数字到模拟转换器(DAC),该转换器(DAC)直接驱动输入到显示器的X或Y.这被称为A"数字矢量发生器"并在早期的游戏中使用像小行星和月球兰。它们使用10位DAC和配置为缓冲器的OPAMP,但需要CPU将大部分时间更新到DAC的输入,并将分辨率限制为大约1024x768。

另一种技术是为较晚的游戏而设计的。 "模拟矢量发生器"通过在反馈路径上添加电容,使用配置为积分器的Opamp。这意味着DAC的输入是要生成的线的斜率,并且opamp的模拟性质确保了一个"无限"将绘制平滑线。

具有现代硬件,我们可以生成12位线,远远超过小型矢量显示器的分辨率,我们可以利用现代微控制器上的DMA发动机,以将数据发送到DAC。该板是我的OpenSource硬件V.ST板的原型,并且很容易在面包板上构建,为您拥有黑客攻击。

由于我们的CPU功率远远超过创建了许多游戏,因此我还修补了向量生成代码来对向量进行排序以减少整体旅行时间。这对带宽带宽的矢量显示产生了很大差异。

现代数字示波器对于显示矢量数据并不是很好。 LCD可能会模拟磷光体持久性,但通常只有8位ADC和非常低分辨率。它们仍然对一般信号测量非常有用,只是不在本申请中!

相反,去eBay或Craigslist,并找到一个50美元的模拟CRT双通道范围,带有X-Y模式。任何有5 MHz或更多带宽的东西都很好 - 无论如何,V.ST板上的DAC也小于2 MHz。

存储管显示器非常适合非常详细的静态矢量图像,但赢得了'对于高帧的游戏工作。所以拯救你的钱和Don' t将它花在TEK 4014上。

像TEK 1720这样的Vectorscopes被电视台使用,以校准他们的色彩并随着车站进行数字而逐步淘汰。结果,这些模拟显示器在eBay上很丰富,廉价。它们使用非常快速的静电偏转,通常具有小屏幕,但它们往往是超级尖锐的。它们还具有差异输入,因此您可以在DAC上不需要负输出。

Vectex Home Game Console有一个很好的大,尖锐的B& W屏幕。与模拟CRT驱动器断开原始主板并将其路由到外部的情况相当容易,以允许将V.ST板插入。

Vectrex具有稍微慢的磁偏转系统,可防止其绘制尽可能多的静电显示器。然而,它更大,并且还提供了一个Z输入,允许亮度是控制器,而无需改变线路绘图速度。

您也可以使用激光投影仪,但结果非常次优。物理镜子具有相当多的惯性,并打开和关闭光束需要时间。刷新速率往往低,图像非常闪烁。一些专业的游戏可能与非常快的(45-60kpps)的伽利略一起使用,但大多数街机游戏需要太多的向量。

LazyMame项目似乎是良好的进展,但我可以在2008年以来找到任何细节或源代码。OpenLase-Mame于2013年进行了一些发展,但三年没有任何发展。其他人尝试了一个定制的Unity插件来创建新的激光游戏,成功。

MAME是多个拱廊机器仿真器,它真的符合其名称:它可以模仿数千场比赛和橱柜,包括几乎所有传染媒介街道游戏。

"绽放"由明亮的矢量线引起的效果是游戏玩家最受欢迎的特征之一。 MAME对模糊亮度线的HLSL着色器具有支持,并创建效果的近似值。在左侧,您可以看到真正的Vectex显示和正确的MAME'仿真类似效果。

不幸的是,我的补丁添加了向Mame导出向Mame的支持被关闭为"一种不可接受的骚扰方式来实现预期的结果"而不是你' ll需要克隆我的树,然后按照我的指示建造矢量妈妈。大多数更改都是在SRC / EMU / Video / Vector.cpp中,并利用Mame正在使用的剪辑窗口限制向上屏幕区域。

我还将更改移植到Raspberry PI的剥离Mame4AllPI构建。 PI矢量MAME的说明是相似的;你' ll需要克隆我的树并在pi上建立它。不幸的是,还有很需要修复与操纵杆有关的问题。

小行星(1979)也总是受欢迎。其时代最高的比赛之一!

有很多矢量游戏效仿。 Atari Games的所有人都在那里。

这么多模糊的游戏!我可以' t名称所有人,但收集了Vectrex游戏列表以及维基百科上市的所有传染媒介街机游戏。

一旦你的向量展示挂钩了MAME,你可能想把它带到一个下一级。使用Adafruit Arcade Roysticks,按钮甚至硬币承受器构建定制USB HID操纵杆相当容易。

Tim Bartlett' S覆盆子pi小行星控制台看起来很棒,如果你想建立自己的话,他已经发表了所有的设计文件。

Juergen Mueller建立了一个带有Vectex显示器的奇妙小行星柜,使用真正的小行星逻辑板,即在以上和以上。

如果你厌倦了玩游戏,你总是可以将显示器转换为范围时钟。青少年3具有32.768KHz时钟晶体和备用电池的通孔,可让它保持体面的时间。

您可以编写直接在Teensy上运行的游戏,如太空摇滚,我的小行星克隆或像我的Twitter示波器等艺术项目。

有些人真正将它带到下一个级别 - Vec9是第一个全尺寸的传染媒介街机游戏数十年,拥有带有真正坦克控制器的定制柜。

我们写了一个简单的处理库,展示如何编写与显示器交互的东西。示例代码在VST / CAPINACEDEMO处,也可以作为ProcessingJS提供,在群群和随机步行中进行演示。

如果您对您感兴趣,我们会在2016年初与代码解放和婴儿城堡的展览合作,在NYC电阻上进行课程。

电路板上的更多信息位于http://v.st/v.st,mame,vectrex和tek 1720.谢谢你来谈谈!