Flash 日记 | 2021-1-26 如何才能制造一台街机游戏机?
说出来你可能不信……我们有一位同事甚至在随手给我们开发一个街机版本……
这件事儿的起源在于我在公司文件里发现了他写的一篇文章,于是我就PY了一下,盛情邀请他来帮我们鼓捣鼓捣。在征得他本人同意的前提下,今天我转载了这篇文章。
正文如下:
序
其实这篇文,怎么说呢……其实是看大家经常提到过去的街机如何如何,最近去机厅看到了什么什么,感觉大家都没看透现在街机的本质,于是想来做一次 科普,跟大家讲讲现在的街机现状和技术本质。 这里所有东西都可以在网上搜到,不涉及什么保密的东西哈,大家放心。
以及有点私货……就是……我想在公司整一台街机啊!你看阿 B 和米忽悠啊!人家都有啊!再看看我们自己,就那个那个啥月光宝盒?哎无所谓了反正是个辣鸡模拟器,按键也是坏的也没人修啊,问了也没人认领我也不敢拆开修啊,哭了啊好大声啊啊啊啊啊啊啊 QAQ
Part 1.框
说到街机,不得不提的就是它硕大的外壳,亦称框体。一个合格的街机框体,需要符合以下几个特性:
1、日常游玩时保证整机稳定,不会被玩家打飞;
2、机修维护时容易移动,不存在死角;
3、牢固地固定框体内外相关的电子元器件;
4、计划营运周期内能耐受各种摆放环境,不会过快老化导致产生框体更换成本;
5、符合游戏设计外观,能在众多框体中显著突出自身特色,方便玩家寻找。
着重讲解一下第一点,稳定。既然要稳定,那肯定首先就是 厚重。如果框体不够厚重,轻则会在游玩时晃动,重则自我解体。如果是骑乘类框体或轿厢式框体,甚至可能导致游玩的顾客受伤,危及人身安全。为保证强度,框体大多采用 密度板作为内部主要材料。
用密度板作为主体的同时,研发商都会根据游戏的基调进行框体外观设计。在设计外观时可选材料也变得广泛,需要突出质感可以选择铝板,简单装饰可以使用塑料,透光部分可以选择亚克力,旗帜类……那就直接用旗子 ( 布 ) 。但是唯一的前提,接缝转角需要磨平,以免伤人。
Part 2.电路
电路是一个街机的物理上的实现。包括所有的灯,刷卡的读卡器,触摸条,按钮,等等实体设备都在这个范畴内。
Part 2.1.基板
基板是整个街机物理设备最核心的部件,指的是运行游戏软件的核心组成部分。基板一词来源于日语中对 PCB 的称呼 “電子回路基板” 。在街机游戏早期,游戏的基板是真正物理意义上一块单独的 PCB 电路板,因此而被直呼 PCB ,后逐渐演化成基板一词,再传入国内。(20 世纪 70 年代的 Atari Discrete Logic ,一块真正的 PCB 电路板,打砖块即在该基板上运行。 图片来源。)
在基板的演变历史中,很多大家所熟知的计算设备都曾经担任过基板的职责。 NES 、 Xbox 、 GameCube 、 N64 、Saturn 等等等等家用机曾经都被魔改成街机基板。一是因为这些设备本来就是拿来玩游戏的,计算能力与硬件 IO 都有相对应的基础,二来厂商也想多开辟点营销路线。距离现在最近的,运行游戏最知名的当属基于 PlayStation 3 魔改的 NAMCO SYSTEM 357 。在此之后,高度定制化基板逐渐退市,算力更强大,开发也更简单通用的 x86 阵营成为主流。(在 2019 年发售的《太鼓达人街机版 绿》中,使用的仍然是 NAMCO SYSTEM 357 ( 图片来源 ) 。而在 2020 年的《太鼓达人街机版 2020》 ( 亦称虹版 ) 中,基板已更换为基于 Intel x86 构架的定制机。)
Part 2.2.外围电路
外围电路这一部分,就不得不提到一个组织,日本娱乐机器工业协会, Japan Amusement Machine and Marketing Association ,简称 JAMMA 。 JAMMA 在日本范围内出了一个标准 JAMMA Video Standard ,简称 JVS 。 JVS 历史上其它作用暂且不提,其中至今影响最深远的当属其对游戏交互电路设备的标准制定,其设计的物理接口被直接称作 JAMMA 接口。在往后的数年中,日本街机游戏在输入输出控制板上的别称 ( 或因相关规定 ) 依然称作 JVS Port ,直至最近一代 SEGA 街机开始改名。
JVS 或外围电路需要具备以下几种功能:
1、模拟输入输出;
2、数字输入输出;
3、12V / 5V / 3.3V 低压设备供电控制;
其承载了游戏按键输入,投币输入,灯光输出,投币器锁止输出 ( 维护或关店期间会锁住投币口以防玩家误操作 ) 等保证框体物理设备正常工作的功能。
Capcom NAOMI Converter 98701 ver 2.0 JAMMA 转接板。 图片来源。
须与特制基板接口配合使用。
SEGA 837-14572 I/O Board JVS。 图片来源。
搭载于 2010 年的《初音未来:歌姬计划 街机版》,使用 RS485 转串口与基板 RingEdge ( 基于 Windows Embedded Standard 2009 ,与 Windows XP 同内核 ) 通讯,不再需要特制设备。
SEGA 837-15257 I/O Control Board For U*** 图片来源。
搭载于最新的 SEGA ALLS 系列基板的 I/O 转接板,已不再使用 JVS 名称。
有人问刷卡为什么不属于这块……问得好!( 自问自答嗨起来了 )。因为当年没刷卡这事哈哈哈哈哈哈哈……于是刷卡器各大厂商大多选择 RS485 走串口或者其它方便的方式直接通讯。
而到了现今条件下,I/O 转接板仍然有其必要性。一来可以保证输入输出的准确可控性,二来能保证输入输出信号被定向送到游戏里。毕竟大家都不乐意见到玩的好好的突然跳出一个资源管理器的情况嘛。
但是要是碰到 Windows 蓝屏,那也没办法了。图片来源:某葱葱人群里偶然发现的沙雕图。
《初音未来:歌姬计划 街机版 未来旋律》 ( 2013, SEGA Nu, Windows Embedded 8.1 Industry Pro )
Part 3.软件
软件的发展其实是随着基板而变迁的 ( 毕竟游戏没法跑在基板上那还有什么用呢 ) 。从早期的直接烧 ROM ,发展到后面为游戏主机魔改基板开发,再到现如今 Windows x86 体系大行其道,少了当年压榨基板性能极致的操作,更多的是基于 Unity 和 Unreal 这一类 Windows 下原生性能优秀的游戏引擎来开发游戏本身。软件这个部分算是不太需要讨论的,毕竟这跟普通开发一款游戏差距已经没有当年那么大了。
Part 4.网络
网络这一说法,在我国街机环境下其实包含了服务器存档,联网服务,刷卡等几个方面的东西。而鉴于国内政策环境,外国早年流行的街机游戏几乎没有能进入大陆市场的,即便有海外框体运到国内,厂商也不愿意将辛辛苦苦研发出来的游戏白给的道理,于是出现了一个叫做“写网”的行为,指的是通过逆向游戏联网请求构造服务端,自行搭建配套刷卡机制,对玩家提供自制联网服务的这样一种基本上是在用爱发电的做法。不过也就是在这样的环境下,国内街机也算是逐步的熬过了前面最艰难的十几年,现如今舞萌dx等日本街机的正版代理引进算是一个好的开端 ( 虽然歌曲被监管删的杂七杂八的 ) 。而官方正版代理的同时,也做了一些诸如微信扫码注册会员这类本地化的改动。虽然没了刷卡的氛围,但是为了扩展用户群体似乎是个还能接受的做法。
Part 5.街机安全的攻与防
早年街机游戏基于特制基板,想要在家里玩到,只能买一台。那个年代电脑的运算力也不够高,没办法在电脑上模拟基板直接运行游戏本体。而为了防止玩家偷基板带回家,加密狗逐渐被用于街机游戏防盗,当游戏没有识别到合法的加密狗时便直接退出运行。
另一方面,既然现如今街机基板基于 Windows 系统开发,那我能把游戏拷出来不就能在我电脑上跑起来了?
答案,是,也不是。
当下的 Windows 基板虽然确是标准的 x86 ( AMD64 ) 架构,但是为了种种考量,依然做了很多改动。比如特定型号的 JVS I/O 板是专门走一个特定的 PCI 卡然后分线,或者主板上会使用一个 SRAM 做配置保存,以及一些特殊的 GPIO 口接上一排 指拨开关来改变一些特殊的游戏设置等等等等。这些都依赖于特定的硬件设备。同时,为了防止机厅内鬼或者框体被暴力拖走,厂商也会对硬盘加上 BitLocker 保护,即便拆下硬盘也无法拿到硬盘内的数据,这些措施在一定程度上保证了厂商的游戏内容不会被轻易的盗取。
但是,这个世界上也没有万无一失的安全措施。物理上特殊的设备,可以直接用 Windows 上常用的钩子来实现一个虚拟设备,而要拿到被加密保护的游戏数据,看看近几年逐渐显露出来的 BitLocker 破解方案,似乎也不是什么难题了。街机的攻防相较于手机游戏而言更为艰难的一点在于,手机游戏的安装便意味着开发商将游戏的数据授权给玩家保存使用读取了,而街机却要在随基板分发游戏的时候保证不能被未授权的人拿到游戏本体。
Part 6.综述
关于街机其实还有很多细节,大到框体和游戏的设计,小到某一个输入量对应的传感器选型。简单来说,街机就是游戏开发领域里造机器人的专业,需要跨学科的多方面专业能力。
那么说这么多科普干嘛呢?
一来当然是为了科普一下 ( 大雾
二来……听说 Flash Party 已经在着手做 PC 版了,要不…… ( 开始使眼色
正文完。
接下来是诚实可爱小郎君的发言。实不相瞒,我们已经在做PC版本的开发工作,一切顺利的话我们应该会在过完春节年之后邀请几位Q群的幸运小伙伴体验一下,感兴趣的同学可以在Q群给我留言:)
另外,大佬的文章过于硬核以至于我只看懂了一点点,还恳请懂行的朋友们可以给我们留言探讨,我会提醒大佬来看的~