小霸王的射击模拟,是如何实现的?

郭氏阿杰

原理非常简单,简单到当时发明了一条bug神技:“将枪口对着高光的灯泡,只要看准时机按板机百发百中”,

我们都知道,当一个画面快速闪过时,我们的肉眼是无发察觉的,然而电子枪就是利用的这个原理。

当我们在按动射击板机的一瞬间,游戏机将会给电视输出一个信号,这个信号在电视上呈现的就是一个全黑的画面,同时只有目标是白色的,如果有多个目标也不怕,白色会在目标中轮流显示,所以,当枪识别到白色目标时,就会判定你射中了,

然而这些过程都只是一瞬间,是肉眼无法察觉的,所以不会影响你的游戏体验。

当然你也可以使用fc模拟器的定帧慢动作来验证这一原理。


所以,开头说的那个秘籍,就是利用了电子枪只识别白光的原理。后来发明了更高级的射击原理,但是都只能借助老显像管电视机才能使用了。


高达模型制作技巧

这是我童年的回忆。

虽然不是我本行,但是电子技术也是我很感兴趣的。光线枪的原理原来我也专门学习过。

以下要说3点:

一、电视机的成像原理。

光线枪能知道要射击的目标的座标,全靠CRT电视机的特性而来。

大家都知道的一点,电视讯号是一条条的扫描线所组成的。CRT电视机采用隔行扫描,每秒钟刷新30帧画面。如果是512条扫描线,电子枪的频率是512*30/秒。如下图:

╭——————————————╮

│→→→→→→→→→→→→→→│

│→→→→→ │

│ │

│ │

│ │

│ │

│ │

╰——————————————╯

电子束扫描是由左向右,由上到下一条条的由电子枪送出来的。利用这种特性,光线枪就能知道我们射击的目标的座标值。

二、光线枪如何知道我们射击那里?

在光线枪里有个感应器,这个感应器只接收特定频率的光线。而游戏机送讯号到电视时,就在每个dot后面加上一个dot的光线枪用的讯号。而光线枪里有个计时器,当每个画面第一点的讯号送出时(这个讯号由游戏机提供)计时器就开始计时,当感应器收到讯号时,计时器得到受信的时间,再由这时间就可算出座标了。

如下图:

╭—————————————--╮

│→→→→→→→→→→→→→→│

│→→→→→→→→→→→→→→│

│→→→→→→→→→→→→→→│

│→→→→→⊙ │

│ │

│ │

│ │

╰——————————————╯

讯号由左到右,由上到下发出时会用掉时间(虽然非常短),当枪对准⊙时,特殊频率的光由左上角出发当它到⊙时,感应器收到讯号计时器就把时间记下来,如此游乐器就能知道座标了。

而我们扣扳机时枪为何知道打那里?那很简单。枪的扳机本身是个开关,当按下时,游乐器会送出另一个讯号(枪也能收的,我们会发现萤幕会闪一下)座标的算法还是和上面一样(其实对程式而言更简单,因为它只要算这一瞬间的资料就可以了)。

三、光线枪为何不能在液晶电视上使用?

因为液晶电视的成像原理和CRT电视不同。它们不是用扫瞄线成像的方式,所以过去的光线枪无法计算座标,因此无法使用。


ZKpub

在FC的光枪里面有一个感光元件,当我们在游戏中使用光枪的一瞬间,所感知的画面会变黑,只有目标变白。


这个过程详细是这样的

1扣下扳机的时候,机子会画一帧画面(画面整体是黑色,只有游戏攻击区域是白色)

2 感光元件接收到光源(黑和白,黑就是攻击失败,白就是正确。多个敌人是则会一次出现白色显示,用时间判断同样能做到接收信号)

3完成一次模拟射击


当然这个过程我们肉眼无法察觉


分享到:


相關文章: