#玩游戏# 篇四:从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

2019-08-26 19:01:04 66点赞 603收藏 151评论


零. 前言

排骨在初篇给大家介绍了在 N1 上 EmuELEC 的安装和初始设置, 这次中篇排骨给大家再介绍一下 EmuELEC 的前端界面的定制方法.

怀旧游戏千千万, 一个个游戏浏览一遍那记忆中的名字和截图, 就仿佛回到了过去. 如同翻阅着自己的那份童年的热血和欲望 (啥? 你童年的欲望是看 JAV?).

EmuELEC 带的 EmulationStation (ES) 和 RetroArch (RA) 是两个独立的模拟器前端程序. 两者关系如下图.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

ES 是纯粹的前端, 通过外调 RA 或其它独立的模拟器运行游戏.

RA 是自带前端的整合型模拟器, 通过调用不同的 Libre 模拟内核运行游戏.

一. 定制 EmuELEC 启动画面

准备一张 png, 尺寸最好 1920x1080, 保存为 oemslpash.png (必须是 png 格式! 拿 .jpg 等改名 .png 无法显示!).

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

然后把 oemslpash.png 复制到 EmuELEC 的引导分区根目录.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

下次重启时就能看到新的启动画面了.

二. 更换 EmulationStation 主题

EmuELEC 内置的 ES 主题是 RetroPie 项目中的 ComicBook (见下图).

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RetroPie 目前有公布 100 多个主题, 可以在 EmuELEC 系统的 /storage/.config/emuelec/scriptmodules/supplementary/esthemes.sh文件中找到.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

排骨以 ES 默认的 Simple 主题为例 (见下图), 演示下如何更换 ES 的主题.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

首先从 gayhub 下载 Simple 主题包, 会得到一个 es-theme-simple-master.zip.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

然后解压出 es-theme-simple-master 文件夹并将其改名为 Simple.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

最后将 Simple 文件夹复制到 EmuELEC 系统的 /storage/.emulationstation/themes 文件夹中, 这样你会看到 ComicBook 和 Simple两个主题包在一起了.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

现在打开 ES 主菜单, 进入 UI SETTINGS, 就可以将 THEME SET 切换为 Simple 了.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

三. 添加 EmulationStation 游戏启动图

ES 可以在启动游戏时显示指定的启动图, 可以给每个 ROM 指定启动图 (ROM 文件名匹配), 也可以给每个主机平台指定启动图 (主机名匹配). 如果不自己指定, EmuELEC 会用默认选择下图作为启动图.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

启动图加载脚本位于 /storage/.config/emuelec/scripts/show_splash.sh.

排骨找了一张 ComicBook 作者做的街机启动图 (splash.png) 和一张街机双截龙II (ddragon2.png) 启动图来给演示.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

首先创建 /storage/roms/mame 文件夹, 将1943和双截龙I/II的 ROM (文件名为 1943ddragon.zipddragon2.zip) 复制到 mame 中.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

然后再创建 /storage/overlays/splash/ARCADE 文件夹, 可能需要先建 splash 再建 ARCADE (大写). (为什么是 ARCADE 而不是 MAME? 去看 show_splash.sh 的第10行)

最后将街机启动图和双截龙II启动图分别命名为 splash.png 和 ddragon2.png, 一起复制到 /storage/overlays/splash/ARCADE 中.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

现在依次启动 1943/双截龙I/双截龙II, 你会看到下图三种启动画面.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

四. 添加 RetroArch 游戏边框图

可以通过 RA 的屏幕图层功能给每个游戏添加一个边框图, 用于消除黑边或者提供游戏提示.

下面两张双截龙II的截图, 下面那张就是增加了边框图的效果.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

添加游戏边框图的方法与添加启动图类似, 同样以双截龙II为例, 创建 /storage/overlays/bezels/ARCADE 文件夹, 放入 ddragon2.cfg 和 ddragon2.png 两个文件.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

注: 游戏边框图功能只对 RetroArch 的 Libretro 模拟器有效. 需要更多游戏边框图请搜索 thebezelproject.

五. 定制 EmulationStation 游戏列表

ES 是纯粹的前端, 提供用户体验很好的界面, 支持任何模拟器.

ES 默认会查找 /storage/roms 下的主机目录 (见下表), 从每个主机目录中读取 游戏列表 (gamelist.xml文件), 再与主机目录下的 ROM 文件名 (去掉后缀) 匹配后显示出游戏列表结果.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

如果没找到 gamelist.xml 或者 gamelist.xml 中没有相关 ROM 文件的记录, ES 的游戏列表只会列出 ROM 的文件名 (后后续).

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

通过添加并完善 gamelist.xml 文件可以让游戏列表的内容丰富起来.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

上图的游戏列表不但显示了 ROM 的中文名称/游戏简介/发布日期/游戏类型/开发公司, 还显示了游戏的标题截图.

下图更是在上面的基础了增加了演示视频!

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

游戏列表文件 gamelist.xml (注意文件名小写) 的结构很简单, 其中包含一个根节点 gameList 和多个 子节点 game.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

下图中的火焰之纹章-纹章之迷就是个比较完整的示例.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

下图是游戏列表的在 ComicBook 和 Simple 主题下的显示效果. Simple 主题比 ComicBook 显示的信息更详细)

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

游戏描述不用担心内容过长, 它会滚动显示. 游戏列表最重要的是 path/name/image 三个属性, 其它的只是画蛇点睛而已.

看看下图这个 oldroom 主题的游戏列表是不是帅炸了?!

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

老外做的 ES 主题都不支持中文的游戏列表, 比如 ComicBook 主题的默认字体 Shaka Pow 不能显示中文, 会把中文显示成方块, 我们需要用中文字体替换它. 找一个喜欢的中文字体改名为 Shaka_Pow.ttf 并复制到 /storage/.emulationstation/themes/ComicBook/art 文件夹中, 重启 ES 后就可以正确的显示中文游戏列表了. (排骨在网上找了个二字元心游手绘B简字体代替了 Shaka Pow)

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

建议在 ES 主菜单的 UI SETTINGS 中将 GAMELIST VIEW STYLE 设置成 AUTOMATIC, 这样可以让游戏列表呈现最好的效果.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

六. 定制 RetroArch 游戏列表

EmuELEC 中的 RA 是基于 Libretro 核心的整合型模拟器, 可以脱离 ES 独立使用. 同时也提供了漂亮的用户界面和游戏列表. RA 默认使用仿 PS/PSP 的 xmb 主题.

RA 的菜单支持多语言, 也是需要替换字体来保证中文显示正常. 字体文件路径为 /storage/assets/xmb/monochrome/font.ttf, 排骨找了个华康金刚黑字体替换了.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RA 的游戏列表效果 (xmb主题) 如下面两张图. 主机名称在左上, 有单独的主机图标, 游戏名称和图片.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RA 的游戏列表文件 (lpl) 的默认存放位置/storage/playlists, 文件名格式为平台名.lpl, 如果游戏列表文件不在下面列表中, 将无法获取对应的主机图标, 会被一个默认小火箭图标代替.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RA 的游戏列表文件有新旧两种格式, 如下图. 旧格式为六行一组的纯文本, 新格式是 JSON.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RA 会把旧格式的 lpl 保存为新的 JSON 格式, 可以把 lpl 改成只读文件来避免被 RA 修改.

游戏列表文件中的 path/label/core_path/core_name/crc32/db_name 分别表示 ROM路径/游戏显示名称/模拟器内核路径/模拟器内核名称/ROM 校验码/列表文件名.


path: 建议用完整路径 (绝对路径) 指向 ROM 文件的位置.
label: 不要在名称中使用  / : * ? " < > | 字符, 因为 RA 会用这个 label 去匹配游戏图片. 如果 label 是 1943(?), 对应的图片文件名 1943?.png 不是有效的文件名 (文件名不能包含 ? 号).
core_path/core_name: 填 DETECT 就行了.
crc32/db_name: 留空就行了.


lpl 文件完成后, 就能在 RA 中看到游戏列表和 ROM 名称了. 而游戏相关图片还需要一些额外的步骤.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RA 默认从 /storage/thumbnails 下读取游戏图片. 需要给每个 lpl 文件建一个名字相当的文件夹. 每个文件夹下面再建议名为 Named_Boxarts/Named_Snaps/Named_Titles 的三个文件夹, 用来存储游戏的包装图/标题图/游戏截图.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

将游戏的包装图/标题图/游戏截图都成之前 lpl 文件中对应的 label, 后缀必须是 .png. 最终效果如下图.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

RA 还有个 ozone 主题也不错, 风格比较简明紧凑 (如下图). 由于 RA 的主题不能自制, 所以本文不再继续讨论.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

七. 游戏 ROM 相关信息和图片

鉴于平台对外部网站连接的限制, 游戏列表中与 ROM 文件对应的相关游戏信息和图片视频等信息请大家自行搜索.

以下是排骨用到的一些平台.

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

展开 收起

烛龙 古剑奇谭三-数字标准版

烛龙 古剑奇谭三-数字标准版

75元起

HP 惠普 暗影精灵5代 台式主机(i7-9700F、8GB、256GB+1TB、GTX1660Ti 6G)

HP 惠普 暗影精灵5代 台式主机(i7-9700F、8GB、256GB+1TB、GTX1660Ti 6G)

6399元起

UBISOFT 育碧 全境封锁2 Tom Clancy’s The Division 标准版 PC中文

UBISOFT 育碧 全境封锁2 Tom Clancy’s The Division 标准版 PC中文

102元起

HP 惠普 暗影精灵5代 台式主机(i5-9400F、8GB、256GB+1TB、GTX1650)

HP 惠普 暗影精灵5代 台式主机(i5-9400F、8GB、256GB+1TB、GTX1650)

4699元起

Steam 工业小镇 Factory Town 游戏

Steam 工业小镇 Factory Town 游戏

68元起

Steam 游戏 墨池镇 Truberbrook

Steam 游戏 墨池镇 Truberbrook

88元起

《三角洲部队:黑鹰坠落》PC数字版游戏

《三角洲部队:黑鹰坠落》PC数字版游戏

27元起

索尼(SONY)【PS4国行游戏】索尼 SONY 小小大星球3

索尼(SONY)【PS4国行游戏】索尼 SONY 小小大星球3

159元起

Nintendo 任天堂 《星之卡比 星之盟友》 ns中文游戏

Nintendo 任天堂 《星之卡比 星之盟友》 ns中文游戏

338元起

索尼(SONY)【PS VR国行游戏】遥远星际

索尼(SONY)【PS VR国行游戏】遥远星际

159元起

《真三国无双7猛将传完整版》

《真三国无双7猛将传完整版》

63元起

Steam 《The Scroll Of Taiwu(太吾绘卷)》 PC中文版游戏 国区礼物

Steam 《The Scroll Of Taiwu(太吾绘卷)》 PC中文版游戏 国区礼物

65元起

Steam 《Chinese Parents(中国式家长)》 PC中文版游戏 国区礼物

Steam 《Chinese Parents(中国式家长)》 PC中文版游戏 国区礼物

30.6元起

《真·三国无双8》PS4主机版实体游戏

《真·三国无双8》PS4主机版实体游戏

323元起

索尼(SONY)【PS4国行游戏】乐高世界

索尼(SONY)【PS4国行游戏】乐高世界

169元起

索尼(SONY)【PS4国行游戏】街霸 5 街头霸王 V Street Fighter V 入门版

索尼(SONY)【PS4国行游戏】街霸 5 街头霸王 V Street Fighter V 入门版

199元起
151评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
603
扫一下,分享更方便,购买更轻松