如何使用 Raspberry Pi 和 RetroPie 构建您自己的 NES 或 SNES Classic

已发表: 2022-01-29

NES 经典版是原始任天堂娱乐系统的官方克隆,是玩您最喜欢的复古游戏的最佳方式之一。 SNES Classic 是它的继任者。 不幸的是,它是如此受欢迎,以至于几乎不可能得到你的手。 当您可以使用价格适中的 Raspberry Pi 构建自己的游戏时,无需在 eBay 上支付 300 美元——甚至更多游戏。

什么是 NES 和 SNES Classic,为什么树莓派更好?

2016 年秋天,任天堂发布了 NES 经典版,这是 1980 年代旧任天堂娱乐系统的微型复制品。 它附带 30 款经典游戏,包括《超级马里奥兄弟》、 《塞尔达传说》和《恶魔城》 ,以及一个老式 NES 控制器(尽管电缆很短,连接器不同,以适应较小尺寸的 NES Classic)。

它的零售价为 60 美元,并附带一个控制器——您可以额外支付 10 美元购买第二个播放器控制器,从而使您的总投资高达 70 美元。 不幸的是,这款游戏机已被证明如此受欢迎,而任天堂的产量如此之少,以至于几乎不可能以原始标价找到它们,仅以 200-500% 的加价出现在 eBay 等网站上。

2017 年,任天堂推出了 SNES 经典版,零售价为 70 美元,配有两个控制器。 预购已经开始,而且已经证明很难买到。

不过不要绝望:即使它们非常稀有,以至于您从未亲眼见过(更不用说有机会购买了),您也可以在家中轻松推出自己强大的 Classic Edition 控制台——还有更多游戏和更多功能。 在今天的教程中,我们将结合经济实惠的 Raspberry Pi、一些模拟 NES、SNES 和其他控制台的免费软件,以及一些便宜的 USB NES 控制器来创建一个比原版更好的 DIY 版本。

广告

更好怎么做? 您的 DIY 版本不仅包含实际 NES Classic 的所有功能(例如保存状态、用于复古游戏的 CRT 着色器以及带有封面艺术的精美组织),而且它还允许您玩任何游戏(不仅仅是 30包含在 Classics 中),使用您想要的任何 USB 控制器(不仅仅是简单的 2 按钮 NES 控制器),并包括更好的保存状态和组织。

不仅如此,您的系统还可以玩其他系统的游戏,例如 Atari、Game Boy、Sega Genesis,甚至更高版本的系统,例如 PlayStation Portable 或 Nintendo 64。您可以在此处查看支持的系统的完整列表。

你需要什么

要按照我们的教程进行操作,您需要一些东西和一点空闲时间来将它们编织在一起。

Raspberry Pi 及其配件

首先,您需要一台 Raspberry Pi 微型计算机和一些基本配件。 运行 Nintendo Entertainment System 模拟器所需的计算能力非常低,因此,如果您已经拥有较旧的 Raspberry Pi 1 或 2 型,您可以(而且应该!)使用它。 如果您需要购买新的 Pi,请务必购买最新的 Raspberry Pi 3(40 美元)。

除了 Pi,您还需要一个大小合适的 SD 卡或 microSD 卡(取决于您的 Pi 型号)、一根用于将其连接到电视的 HDMI 电缆、一个 USB 键盘(仅用于临时设置)和一个良好的电源。 您可能还希望在 Pi 上访问 Internet 以下载更新和传输游戏——您可以使用以太网电缆或 Wi-Fi 进行此操作。 Raspberry Pi 3 内置了 Wi-Fi,而旧型号需要 USB Wi-Fi 适配器。

如果您是 Raspberry Pi 的新手,请不要担心:我们已经为您需要的所有部件编写了详细指南,因此请查看该文章以获取更多信息。

案例成就项目

一个受 NES 启发的 Raspberry Pi 外壳,可在 Etsy 上找到。

为了完善您的 Pi 设置,您还需要一个案例。 如果您已经完成了一堆 Pi 项目,那么您已经有了一个案例,这很好。 但是,如果您是从头开始或者真的想要完整的体验,您可能会考虑为您的 Raspberry Pi 定制一个 NES 或 SNES 主题的案例。

广告

亚马逊上有几个以 NES 和 SNES 为主题的手机壳,包括 Old Skool NES 手机壳和 Super Tinytendo 手机壳。 但是,如果您出于任何原因不喜欢这些外观,您可以随时 3D 打印您自己的其中一个或这些,或者在 Etsy 等网站上找到其他的。

控制器:老式或现代舒适

接下来,您至少需要一个 USB 控制器(如果您想和朋友一起玩游戏,则需要两个)。 您可以通过以下两种方式之一来处理控制器情况:首先,您可以选择纯经典并获得一对 USB NES 控制器。

我们将首先承认,这种方法比我们最初预期的要困难得多。 仅仅购买一些便宜且制作精良的 NES 控制器似乎非常简单,但实际上现在市场上存在这样的情况,以至于列表通常不准确,控制器难以获得,我们可以的最佳实践目前的建议是一次购买多个控制器,将您不想要的退回,并保留好的(具有良好的重量,良好的按钮响应和播放良好的控制器)。

我们在亚马逊上测试了两个最受欢迎的 USB NES 控制器:Retro-Link 控制器和一个通用但广受好评的经典 USB NES 控制器(实际到货时,它的品牌是 iNext)。 虽然我们更喜欢 Retro-Link 的重量,但 iNext 控制器的按钮响应能力更好。 实际上,这是一次试错的经历。 (如果您想要经典但比 NES 控制器更舒适的东西,我们对这款 Buffalo SNES 控制器也只能说好话。)

您可以采取的另一种方法是购买更现代的控制器,例如有线 Xbox 360 控制器,这种方法不太真实,但更通用。 不仅构建质量和可用性更加一致,而且我们将要设置的仿真平台 RetroPie 不仅支持 NES,因此如果您想玩其他系统的游戏,带有更多按钮的新控制器是好的。

广告

无论哪种方式,您都需要至少一个用于该项目的 USB 控制器,因此请选择您最喜欢的。

软件:适用于所有您喜欢的游戏的 RetroPie 和 ROM

除了硬件之外,您还需要一些软件来玩游戏。 您需要下载 RetroPie 的副本,这是一套出色的软件,它将许多仿真工具和软件组合到一个非常用户友好的界面中。

出于我们的目的,我们将使用 Raspberry Pi 的预制映像(而不是将其安装在现有操作系统上)。 在此处为您的 Pi 型号下载正确的图像。 此外,您需要某种工具来将该映像刻录到您的 SD 卡——我们选择的工具是跨平台的 Etcher 映像刻录器。

相关:下载复古视频游戏 ROM 是否合法?

最后,也是最重要的主题,你需要一些游戏! 这些以 ROM 文件的形式出现,您可以自己破解(使用适当的硬件)或从网上下载。 获取 ROM 是一项练习,因为法律问题模糊不清,最好留给读者——我们不会在这里直接链接到 ROM 或 ROM 站点。 尽管如此,一个简单的谷歌搜索会让你走得很远。

第一步:准备你的 Pi

收集完所有上述材料后,是时候开始准备 Pi 了。 首先,我们将设置 SD 卡。 在您的计算机中弹出您的 SD 卡并启动 Etcher。 过程就像1-2-3一样简单:选择你下载的RetroPie镜像,确认SD卡是选择的磁盘,然后点击“Flash!”

等待映像完成刻录,从计算机中安全弹出 SD 卡,然后拿起您的 Pi 和配件。 使用 HDMI 线将 Pi 连接到电视,插入 USB 键盘和控制器,插入 SD 卡,然后插入电源线以启动系统。

广告

如果您在安装过程中遇到困难,请随时参考我们的 Raspberry Pi 初学者指南,其中包含有关初始设置的大量有用信息。

第二步:配置 RetroPie

在安装了 RetroPie SD 卡的情况下首次启动 Pi 后,它将自动运行一些一次性设置步骤(如扩展分区、解压缩文件等)。 然后它将重新启动,将您带到控制器配置屏幕,如下所示。

正如屏幕提示的那样,您应该按住 USB 控制器上的任何按钮来开始配置过程。 在配置菜单中,为每个列出的条目短按相应的按钮(例如,在方向键上向上启动)。

最终,您会看到在您的控制器上可能没有相应按钮的按钮条目(例如,如果您使用的是传统的 NES 控制器并且它开始询问您有关 X 和 Y 按钮的信息)。 当您到达您没有的按钮的条目时,只需按住您已经编程的按钮 2 秒钟,然后松开它。 这将向配置向导发出您希望跳过该按钮的信号。 重复此过程,直到您跳过所有不需要的条目并可以单击“确定”继续。

此时,您将看到以下屏幕,其下方带有 RetroPie 徽标和“13 Games Available”。

“十三场比赛? 甜的!” 你可能在想。 没那么快:那些不是你可以玩的 13 款游戏,而是 13 款用于“RetroPie”的配置工具(它被认为是你的模拟器之一,尽管它实际上是底层系统)。 不用担心,稍后我们将讨论实际的游戏。

广告

如果您在 Pi 上使用以太网电缆而不是 Wi-Fi 进行网络访问,您可以直接跳到下一部分,直接将游戏放入 RetroPie。 但是,如果您使用的是 Wi-Fi,请按控制器上的 A 按钮以启动菜单。 RetroPie 默认配色方案在较小的屏幕截图中有点难以看到,但 Wi-Fi 条目是列表中的最后一个,如下所示。

当您选择“WIFI”条目时,它将启动一个 Wi-Fi 配置工具。 选择“连接到 WiFi 网络”。

接下来选择您的家庭网络,输入密码,单击确定,然后在主屏幕上再次单击确定退出应用程序(您将返回到您选择 Wi-Fi 条目的屏幕)。

虽然您可以在没有互联网访问的情况下使用 RetroPie,但使用网络将游戏传输到设备要容易得多。

第三步:添加您的游戏

随着我们的 Pi 设置并连接到我们的家庭网络,最重要的一步就在我们身上:加载甜蜜、甜蜜、复古的游戏。 传输游戏的最简单方法是使用网络共享。 (您可以使用 USB 驱动器,但网络设置实际上更简单,因此我们将在此处详细说明该方法)。 让我们开始吧。

默认情况下,RetroPie 框被分配了一个名为“retropie”的网络共享,您只需在 PC 上打开 Windows 资源管理器并在地址框中键入\\retropie\即可浏览到它。 然后,只需打开“roms”文件夹,导航到您选择的系统(我们将在本例中使用“nes”)并将任何 ROM 文件复制到该文件夹​​。 我们复制了我们最喜欢的 RPG 游戏之一Crystalis作为我们的测试 ROM。

广告

添加游戏后,您需要重新启动 RetroPie(或者,更具体地说,是下面的 Emulation Station 界面)。 在您的 Pi 上,按控制器上的 B 按钮返回主菜单,然后按开始按钮打开主菜单,如下所示。 选择“退出”。

选择“重新启动 EmulationStation”并确认您确实希望重新启动它。

当它重新启动时,突然在主 GUI 中不会只有“RetroPie”的条目,但是(因为我们将 rom 添加到“nes”目录中)您会看到 Nintendo Entertainment System 的条目。 这是在 RetroPie 上设置任何模拟器的关键步骤。 默认情况下安装了许多适用于不同视频游戏平台的模拟器,但在您将至少一个 ROM 添加到其“roms”目录之前,它们不会出现在界面中。

按 A 按钮查看可用的游戏。 选择您想玩的游戏(在我们的例子中是唯一的游戏),然后再次按 A。

片刻之后,NES 模拟器将完成加载您的 ROM,您会看到游戏就像您将其加载到老式 NES 设备上一样。

广告

此时,您可以像玩原版一样玩游戏。 如果您需要重新开始游戏,只需同时按下 SELECT 和 B。 如果您想退出游戏回到 RetroPie 菜单,请同时按下 SELECT 和 START。 随意对 SNES 游戏、Genesis 游戏以及您想玩的任何其他系统重复此步骤。

Juicy Extras:封面艺术、着色器和保存游戏

这就是您开始演奏所需的全部内容。 但是,如果您想要完整的“我构建了我自己的 NES Classic”体验,我们还需要利用一些额外的功能:封面艺术(使您的库漂亮且易于浏览)、着色器(使游戏看起来更现代电视上的复古)和保存状态(即使原始游戏不支持它,您也可以保存游戏。这些都是官方 NES Classic 中包含的所有功能。

将封面艺术添加到您的图书馆

将一堆游戏复制到“roms”文件夹后,返回 NES 菜单(我们刚刚启动测试游戏的地方),按“开始”按钮打开菜单,然后选择“Scraper”。

在下一个屏幕中,您可以调整设置。 将刮板保留为“THEGAMESDB”。 如果需要,您可以关闭评级(我们将其保留)。 然后选择“立即抓取”。

因为这是我们的第一次抓取,所以将过滤器切换到“所有游戏”。 默认情况下,scraper 设置为仅使用它加载的系统(在本例中为 NES),因此无需更改任何内容。 最后,确保“用户决定冲突”已打开。 这一点很重要,否则如果无法确定游戏是双龙还是双龙 II ,刮板可能会刮到错误的数据。

您不想使用该设置的唯一原因是,如果您有数百个游戏要抓取并且不想手动确认每个选择(但是,您必须稍后返回并手动修复任何冲突,逐个游戏) . 准备好后,选择“开始”。

当系统工作时,系统会提示您确认每个选择(即使只有一个选择)。 选择正确的游戏后按 A。

广告

完成后,您将拥有一个井井有条的游戏收藏。

使用平滑和着色器获得老式 CRT 氛围

玩游戏后您可能会立即注意到的一件事是图形看起来多么生动和清晰。 事实上,在加载我们的演示游戏Crystalis时,我注意到的第一件事是颜色比我记忆中的要亮得多,线条也比我记得的要清晰得多。

这种差异的主要原因是图像在数字显示器上与模拟 CRT 显示器上的显示方式。 您的计算机显示器和 HDTV 以完美的 1:1 像素与像素比呈现游戏,而您的旧 CRT 显示器是基于荧光粉的,具有更柔和的图像和屏幕上各个点周围的光/颜色“绽放”。

为了弥补这一点,您可以将系统设置为应用着色器或平滑算法,以重新创建 CRT 效果。 不确定这是否是您关心的事情? 让我们比较在同一时间从同一游戏中捕获的图像,并应用不同的效果。 首先,让我们看看Crystalis中第一个可玩时刻在没有着色器或平滑的情况下看起来如何。

请注意,线条都非常清晰,比您可能记得的要清晰得多(如果您在原始硬件上玩原始游戏)。 如果您喜欢这种带有锋利边缘的清爽外观,那么请务必以这种方式玩游戏。

让我们看一下使用平滑算法平滑图形后游戏的外观。 如果您使用的是较旧的 Pi,这是一个很好的选择,因为平滑算法(与着色器不同)对 GPU 几乎没有负载。

广告

在您的计算机显示器或具有清晰高分辨率屏幕的移动设备上查看此内容时,您可能会想“看起来……很模糊”。 但是当在远处观看时(比如沙发和电视之间的距离),平滑效果确实会给游戏带来更像 CRT 的感觉,并且模糊感不会那么强烈。 退后一步,看看图片边缘的岩石与第一张图片相比,你会明白我的意思。

最后,您可以使用着色器创建 CRT 效果,如扫描线甚至轻微失真(因为 CRT 显示器的正面在大多数情况下略微弯曲)。 这是应用的简单 CRT 着色器。

同样,当我们在这里看到的近距离比较裁剪时,效果似乎很明显(就像你坐在非常靠近 CRT 屏幕一样)。 但是从远处看,它看起来很自然。 事实上,即使我不介意游戏在没有平滑或着色器的情况下看起来如何,但当我打开 CRT 着色器时,我会说“哦! 看起来像我记得的比赛!”

平滑和着色器设置都位于同一个地方,但是在我们进入该菜单之前,我们必须进行一些调整。 虽然 RetroPie 应该已经预装了着色器,但根据我们的经验,您需要手动更新着色器列表(您需要互联网连接,因此如果还没有,请立即插入以太网电缆)。 返回我们最初访问的 RetroPie 设置菜单,然后从菜单中选择“RetroArch”,如下所示。

这将启动非常复古的 RetroArch 配置菜单。 选择条目“在线更新程序”。

在“在线更新程序”菜单中,选择“更新 GLSL 着色器”。

在左下角的黄色小文本中,您会看到一个小的更新指示器,显示“shaders_gsls.zip”正在下载。 等待它完成。 完成该过程后,按键盘上的 Esc 键或控制器上的 B 按钮退出菜单一直到主菜单。 在那里,选择“退出 RetroArch”。 回到 RetroPie 菜单后,选择“RetroPie 设置”。

广告

在 RetroPie 设置菜单中,选择“configedit – Edit RetroPie/RetroArch 配置”。

选择“配置基本 libretro 模拟器选项”。

在这里,您可以选择在逐个模拟器的基础上配置着色器和平滑,或普遍应用它。 除非您想为每个系统设置不同的着色器设置,否则最好只选择“为所有 libretro 模拟器配置默认选项”。

在此菜单中,您将找到平滑和着色器所需的所有设置。 重要的是要注意平滑和着色器是一种非此即彼的解决方案——您不能同时使用两者。 如果您试图在两者之间做出决定,请记住,Pi 资源上的平滑比着色器要轻得多。

如果要使用平滑,请选择“视频平滑”并将“假”更改为“真”。 然后,您可以返回主菜单并启用平滑播放。

如果你想使用着色器,你有两个步骤。 确保“视频平滑”设置为默认值 false。 然后将“视频着色器启用”设置为“真”。 最后,选择“Video Shader File”以选择您要使用的着色器。

着色器列表可能看起来有点令人生畏,但有一个简单的解决方案。 只需查找名称中带有“pi”的着色器文件,例如上面看到的“crt-pi.glslp”文件。 这些着色器已针对 Raspberry Pi 功能较弱的 GPU 进行了优化。 您始终可以使用其他着色器,但如果性能受到影响,请不要感到惊讶。

广告

如果在任何时候您不再希望使用平滑或着色器(或希望更改您正在使用的着色器),您可以简单地返回这些菜单并将值设置为 false 或更改着色器文件。

设置保存状态……因为魂斗罗真的很难

如果你是一个纯粹主义者,你可能只想完全跳过这一部分。 有些游戏本身支持保存进度,有些游戏则不支持(例如,您可以在《塞尔达传说》中保存游戏,但在《超级马里奥兄弟》中则不能)。

即使是那些支持保存的游戏也需要您以特定方式保存游戏,通常使用一些游戏内机制,例如访问旅馆或在空间站登记。 使用模拟器,您可以随时随地保存游戏,就像您处理文件时将文件保存在 Microsoft Word 中一样。 它还为每个游戏提供多个存档位,因此您可以拥有任意数量的存档文件。 这可能不是最纯粹的方法,但伙计,这是一种在玩极其困难的游戏时减少挫败感的好方法。

您可以使用基于控制器的热键在玩游戏时保存和加载游戏。 对于那些使用带有很多按钮的控制器(如前面提到的 Xbox 360 控制器)的人来说,您根本不需要做任何繁琐的按键映射,您可以简单地为您的控制器使用默认的 RetroPie/RetroArch 按钮映射。 查看此 RetroPie wiki 条目以查看默认的游戏手柄热键。

但是,如果您使用的是 NES 控制器,那么有限数量的按钮确实会带来一些负担。 如果你想使用保存状态系统,你需要做一些小的键盘映射编辑。 保存和加载保存状态的默认键盘映射使用控制器上的肩部按钮,NES 控制器上不存在这些按钮。 我们需要重新映射这些按钮才能访问这些功能。 有两种方法可以做到这一点:您可以编辑位于\\retropie\configs\all\retroarch.cfg中的 retroarch.cfg 文件(这非常繁琐),或者您可以使用 RetroArch 界面(这是一个正常数量乏味的)。 我们将介绍后者。

要使用键盘映射界面,请再次启动 RetroArch 菜单系统(从主 RetroPie 菜单中,选择 RetroPie 类别,然后选择“RetroArch”)。 在主菜单中,选择“设置”。 在进行任何更改之前,我们需要打开退出时保存设置以保留这些更改。

在设置菜单中,选择“配置”。

广告

在该菜单中,选择“退出时保存配置”以打开保存。 如果没有这个设置,当我们退出 RetroArch 菜单系统时,我们所做的任何更改都不会被保留。

按 B 按钮或 Esc 键退出菜单,直到您再次进入 RetroArch 主菜单。 选择设置菜单。

选择“输入”。 在这里您可以找到键绑定和相关配置的所有设置。

选择“输入热键绑定”。 在这里,我们可以更改控制器上的热键组合的作用。

为了在游戏中解锁对 RetroArch 菜单的访问,以及让我们能够正确访问保存状态,我们需要映射三个按钮组合:保存、加载和访问 RetroArch 菜单。 您可以选择对每个按钮组合使用您希望的任何按钮组合,但我们为本教程选择的按钮组合是最佳的,因为它们不会干扰任何现有的键盘映射。

让我们从“加载状态”开始。 选择该条目并按控制器上的 A。 系统将提示您四秒倒计时,以按您希望映射到此功能的键。

您想在方向板上映射 Down 键,以便当您按下热键激活器(选择按钮)和 Down 时,它将保存您的游戏。 选择“保存状态”并将其映射到方向键盘上的向上键。 继续保留“Savestate slot +/-”条目,因为它们很好(设置为您可以单击左或右来更改保存槽)。

广告

最后,一直向下滚动到列表底部,直到看到“菜单切换”。 选择它,然后在游戏中将 A 按钮映射到它(这将允许您按 Select+A)以访问 RetroArch 菜单。

按 B 按钮退出菜单,直到您进入主屏幕,然后选择“退出 RetroArch”以保存您的更改。

至此,您已准备就绪,现在可以使用以下按钮组合:

  • 选择+开始:退出模拟器。
  • 选择+B:重置模拟器。
  • Select+A:暂停游戏并从模拟器中打开 RetroArch 菜单。
  • Select+Right:增加保存槽(例如从保存槽#1移动到#2)
  • 选择+左:减少保存槽(例如从保存槽#2移动到#1)
  • Select+Up:将游戏保存到当前选择的保存槽。
  • Select+Down:从当前存档槽中的存档加载游戏。

现在,您甚至可以玩最难的游戏,而无需每次游戏结束时都从头开始。


你终于完成了:我们不仅重现了使用 NES Classic 的体验,而且我们实际上创建了一个更高级的版本,因为它可以玩任何 NES 游戏,支持比 NES Classic 更多的存档槽,更多着色器和视频选项,并且(如果您愿意)您可以超出本教程的范围,甚至可以使用类似 Game Genie 的作弊码、即时回放等。 查看 RetroPie 和 RetroArch wiki,了解有关平台中所有高级功能的更多信息,以及我们的 RetroArch 高级设置指南。

相关:如何设置 RetroArch,终极多合一复古游戏模拟器

图片来源:Fynsya/Etsy 和 Clive Darra/Flickr。