{
  "about" : "记忆中最美的像素和旋律",
  "articles" : [
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "开源实现的 Diablo 1，甚至有一个支持 Mac OS X 10.4 PowerPC 的版本：\r\n\r\nhttps://github.com/diasurgical/devilutionX/",
      "contentRendered" : "<p>开源实现的 Diablo 1，甚至有一个支持 Mac OS X 10.4 PowerPC 的版本：</p>\n<p><a href=\"https://github.com/diasurgical/devilutionX/\">https://github.com/diasurgical/devilutionX/</a></p>\n",
      "created" : 780633142.739879,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "73C01084-BFF2-4F99-A493-20848DBEB5C1",
      "link" : "/73C01084-BFF2-4F99-A493-20848DBEB5C1/",
      "slug" : "",
      "tags" : {

      },
      "title" : "DevilutionX"
    },
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "https://www.youtube.com/watch?v=N9M09WHaE-g\n\n一个基于 [PICO-8](https://www.lexaloffle.com/pico-8.php) 的 8-bit 音乐电台。\n\n如果想提交自己的音乐：\n\n<a href=\"https://github.com/alanxoc3/radico8\" target=\"_blank\">https://github.com/alanxoc3/radico8</a>",
      "contentRendered" : "<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/N9M09WHaE-g\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>一个基于 <a href=\"https://www.lexaloffle.com/pico-8.php\">PICO-8</a> 的 8-bit 音乐电台。</p>\n<p>如果想提交自己的音乐：</p>\n<p><a href=\"https://github.com/alanxoc3/radico8\" target=\"_blank\"><a href=\"https://github.com/alanxoc3/radico8\">https://github.com/alanxoc3/radico8</a></a></p>\n",
      "created" : 721033546.086208,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "9C48F9F0-3BBA-4E5E-92FE-603034D0904F",
      "link" : "/9C48F9F0-3BBA-4E5E-92FE-603034D0904F/",
      "slug" : "",
      "tags" : {

      },
      "title" : "radico8"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "boxer-icon.png",
        "boxer.png",
        "sc2k-dos.png"
      ],
      "cids" : {
        "boxer-icon.png" : "QmQQJvzxvJZMA8C17UiAkSYwVd1zLYLssZrddP6tbmT1jR",
        "boxer.png" : "QmQFeMRzDLC1D3B7sQjvQ8t4WxfCWq1fRyCt1r9TzECqAo",
        "sc2k-dos.png" : "QmR9avXhW61hv2DW9Ctkb8jnZwxUxpdqtivyZTNE3hy57A"
      },
      "content" : "<img width=\"128\" alt=\"Boxer App Icon\" src=\"boxer-icon.png\">\n\nBoxer 是一个 macOS 上的 DOSBox 前端，特别针对运行 DOS 游戏设计和优化。但是如果你在 Google 里搜索 Boxer ，大概率会找到的是一个已经停更的版本。这个项目后来有一个还在持续更新，可以在 M1/M2 上构建的 fork：\n\nhttps://github.com/MaddTheSane/Boxer\n\n<img src=\"boxer.png\" width=\"632\" alt=\"Boxer\" />\n\n<img width=\"1504\" alt=\"SimCity 2000 DOS\" src=\"sc2k-dos.png\">\n\n但是这个 fork 的最后一次 release 的版本也不太行，会在每次游戏退出的时候 crash ，图标设计方面也有一些问题。倒是源代码里的最新进展，只要能 build ，还是挺好用的。\n\nclone 代码之后，打开 `Vendor/OpenEmuShaders/3rdparty/find-cmake.sh`，然后在里面 `known_cmake_paths` 这里加入 `/opt/homebrew/bin/cmake`，就可以用 Xcode 14.3 成功 build 了。",
      "contentRendered" : "<img width=\"128\" alt=\"Boxer App Icon\" src=\"boxer-icon.png\">\n<p>Boxer 是一个 macOS 上的 DOSBox 前端，特别针对运行 DOS 游戏设计和优化。但是如果你在 Google 里搜索 Boxer ，大概率会找到的是一个已经停更的版本。这个项目后来有一个还在持续更新，可以在 M1/M2 上构建的 fork：</p>\n<p><a href=\"https://github.com/MaddTheSane/Boxer\">https://github.com/MaddTheSane/Boxer</a></p>\n<img src=\"boxer.png\" width=\"632\" alt=\"Boxer\" />\n<img width=\"1504\" alt=\"SimCity 2000 DOS\" src=\"sc2k-dos.png\">\n<p>但是这个 fork 的最后一次 release 的版本也不太行，会在每次游戏退出的时候 crash ，图标设计方面也有一些问题。倒是源代码里的最新进展，只要能 build ，还是挺好用的。</p>\n<p>clone 代码之后，打开 <code>Vendor/OpenEmuShaders/3rdparty/find-cmake.sh</code>，然后在里面 <code>known_cmake_paths</code> 这里加入 <code>/opt/homebrew/bin/cmake</code>，就可以用 Xcode 14.3 成功 build 了。</p>\n",
      "created" : 715201728.423261,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/boxer/boxer.png",
      "heroImageFilename" : "boxer.png",
      "heroImageHeight" : 896,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/boxer/boxer.png",
      "heroImageWidth" : 1264,
      "id" : "9CCEA8B0-7AE9-4EB1-8D3D-4F09569D07BC",
      "link" : "/boxer/",
      "slug" : "boxer",
      "tags" : {
        "boxer" : "Boxer",
        "dos" : "DOS",
        "retro-gaming" : "Retro Gaming"
      },
      "title" : "在 Apple Silicon Mac 上完美运行 DOS 游戏"
    },
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "这类游戏的一大乐趣，就是看猛人们不穿护甲、用树枝把人马戳下来。\n\n## Balteus No Damage\n\nhttps://www.youtube.com/watch?v=LLUfNsOP1PI\n\n## Ayre No Damage\n\nhttps://www.youtube.com/watch?v=qwIBS5DtluA\n\n## S-Rank Chapter 1\n\nhttps://www.youtube.com/watch?v=CxGrd1UEK9Y\n\n## Max OS Level vs Bosses No Damage\n\nhttps://www.youtube.com/watch?v=RZLtB9jPUgY",
      "contentRendered" : "<p>这类游戏的一大乐趣，就是看猛人们不穿护甲、用树枝把人马戳下来。</p>\n<h2>Balteus No Damage</h2>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/LLUfNsOP1PI\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<h2>Ayre No Damage</h2>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/qwIBS5DtluA\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<h2>S-Rank Chapter 1</h2>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/CxGrd1UEK9Y\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<h2>Max OS Level vs Bosses No Damage</h2>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/RZLtB9jPUgY\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n",
      "created" : 714974944.012496,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "2DB013BC-ADD1-46D7-BF76-E3C7309BB3CE",
      "link" : "/ac6-videos/",
      "slug" : "ac6-videos",
      "tags" : {
        "armored-core-6" : "Armored Core 6"
      },
      "title" : "收集一些最近看到的有意思的 AC6 的视频"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "civ2.png"
      ],
      "cids" : {
        "civ2.png" : "QmVgtrnZSKPn5WKDsm7NZ6uB9mAquJ6xrk4Nk1bTAMPGjk"
      },
      "content" : "<img width=\"2880\" alt=\"civ2\" src=\"civ2.png\">\n\n一直都觉得，文明系列的游戏，最有趣的就是在开局阶段。无论是科技研发的选择，还是建造顺序的选择，都会对游戏接下来的走向产生巨大影响。\n\n而到了后期，每一个回合需要的时间越来越长——大量的部队需要调动，农民需要干活——感觉不像是在玩游戏，而是某种辛苦的工作。如果是多人游戏，等一个后期回合走完的时间，都可以泡一杯咖啡了。",
      "contentRendered" : "<img width=\"2880\" alt=\"civ2\" src=\"civ2.png\">\n<p>一直都觉得，文明系列的游戏，最有趣的就是在开局阶段。无论是科技研发的选择，还是建造顺序的选择，都会对游戏接下来的走向产生巨大影响。</p>\n<p>而到了后期，每一个回合需要的时间越来越长——大量的部队需要调动，农民需要干活——感觉不像是在玩游戏，而是某种辛苦的工作。如果是多人游戏，等一个后期回合走完的时间，都可以泡一杯咖啡了。</p>\n",
      "created" : 714463513.500642,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/9B684506-BDC2-41F4-BD85-39B5985681BF/civ2.png",
      "heroImageFilename" : "civ2.png",
      "heroImageHeight" : 2160,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/9B684506-BDC2-41F4-BD85-39B5985681BF/civ2.png",
      "heroImageWidth" : 2880,
      "id" : "9B684506-BDC2-41F4-BD85-39B5985681BF",
      "link" : "/9B684506-BDC2-41F4-BD85-39B5985681BF/",
      "slug" : "",
      "tags" : {
        "retro-gaming" : "Retro Gaming"
      },
      "title" : "后期游戏，等待玩家"
    },
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "最近在 YouTube 上看了不少这个频道的视频：\n\nhttps://www.youtube.com/@ActionRetro\n\n其中很多内容都是一些在 G3/G4 时代的 Apple 硬件上的极限折腾，比如给这些设备换上更好的显卡甚至 CPU：\n\nhttps://www.youtube.com/watch?v=i8EQMkmg_yo\n\nhttps://www.youtube.com/watch?v=RJHjYkdKAgg\n\n我也进行过不少这类的折腾。但是每次看到别人的插上了新硬件的电脑第一次开机点不亮的时候，自己还是会心头一紧的感觉。\n\n于是就想起最近看到的这样一句话：「你所追求的快乐，也就是你所有痛苦的来源。」\n\n明白这一点，继续折腾吧。",
      "contentRendered" : "<p>最近在 YouTube 上看了不少这个频道的视频：</p>\n<p><a href=\"https://www.youtube.com/@ActionRetro\">https://www.youtube.com/@ActionRetro</a></p>\n<p>其中很多内容都是一些在 G3/G4 时代的 Apple 硬件上的极限折腾，比如给这些设备换上更好的显卡甚至 CPU：</p>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/i8EQMkmg_yo\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/RJHjYkdKAgg\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>我也进行过不少这类的折腾。但是每次看到别人的插上了新硬件的电脑第一次开机点不亮的时候，自己还是会心头一紧的感觉。</p>\n<p>于是就想起最近看到的这样一句话：「你所追求的快乐，也就是你所有痛苦的来源。」</p>\n<p>明白这一点，继续折腾吧。</p>\n",
      "created" : 710152025.053316,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "ACC064D7-A387-4C54-B702-3F0DF8DDD4C8",
      "link" : "/ACC064D7-A387-4C54-B702-3F0DF8DDD4C8/",
      "slug" : "",
      "tags" : {
        "powermac-g4" : "PowerMac G4"
      },
      "title" : "Action Retro"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "Screenshot 2023-06-01 at 4.13.37 AM.png"
      ],
      "cids" : {
        "Screenshot 2023-06-01 at 4.13.37 AM.png" : "QmTgFi5izhDXFjv3Tt3hkVNas5z1cH7UDaGtjuUVpj1uQ8"
      },
      "content" : "https://www.youtube.com/watch?v=QovfIQV_7GU\n\n一座在 Minecraft 里按照真实比例搭建的城市，参考的是西海岸城市 Los Angeles。\n\n可以下载存档及资源包在 [Prism Launcher](https://zh.gamedb.eth.limo/mc-config-bare-bones/) 里导入就可以体验：\n\nhttps://www.greenfieldmc.net/\n\n---\n\n分享一下在里面看到的有趣建筑。\n\n- 一个完整的高尔夫球练习场\n\n<img width=\"3840\" alt=\"Screenshot 2023-06-01 at 4.13.37 AM\" src=\"Screenshot 2023-06-01 at 4.13.37 AM.png\">",
      "contentRendered" : "<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/QovfIQV_7GU\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>一座在 Minecraft 里按照真实比例搭建的城市，参考的是西海岸城市 Los Angeles。</p>\n<p>可以下载存档及资源包在 <a href=\"https://zh.gamedb.eth.limo/mc-config-bare-bones/\">Prism Launcher</a> 里导入就可以体验：</p>\n<p><a href=\"https://www.greenfieldmc.net/\">https://www.greenfieldmc.net/</a></p>\n<hr />\n<p>分享一下在里面看到的有趣建筑。</p>\n<ul>\n<li>一个完整的高尔夫球练习场</li>\n</ul>\n<img width=\"3840\" alt=\"Screenshot 2023-06-01 at 4.13.37 AM\" src=\"Screenshot 2023-06-01 at 4.13.37 AM.png\">\n",
      "created" : 707298461.165767,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/greenfield/Screenshot%202023-06-01%20at%204.13.37%20AM.png",
      "heroImageFilename" : "Screenshot 2023-06-01 at 4.13.37 AM.png",
      "heroImageHeight" : 2160,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/greenfield/Screenshot%202023-06-01%20at%204.13.37%20AM.png",
      "heroImageWidth" : 3840,
      "id" : "D976FFCB-098B-47CE-95E3-4088309CDAAB",
      "link" : "/greenfield/",
      "slug" : "greenfield",
      "tags" : {
        "minecraft" : "Minecraft"
      },
      "title" : "Greenfield"
    },
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "很多老游戏的规则，到现在都还是很好玩。它们需要的，只是一些 QoL 更新：\n\n* 能够在最新的操作系统上安装和运行\n* 能够支持 4K 分辨率，能够识别最新的操作系统的逻辑和物理分辨率\n* 支持鼠标滚轮\n* 支持使用 WASD 移动\n* 支持设置 UI scale",
      "contentRendered" : "<p>很多老游戏的规则，到现在都还是很好玩。它们需要的，只是一些 QoL 更新：</p>\n<ul>\n<li>能够在最新的操作系统上安装和运行</li>\n<li>能够支持 4K 分辨率，能够识别最新的操作系统的逻辑和物理分辨率</li>\n<li>支持鼠标滚轮</li>\n<li>支持使用 WASD 移动</li>\n<li>支持设置 UI scale</li>\n</ul>\n",
      "created" : 707294322.872606,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "32903EC8-67EB-4D38-BEEC-552C4A11EDCA",
      "link" : "/32903EC8-67EB-4D38-BEEC-552C4A11EDCA/",
      "slug" : "",
      "tags" : {
        "retro-gaming" : "Retro Gaming"
      },
      "title" : "QoL Updates"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "1.19.4.zip",
        "Screenshot 2023-05-09 at 11.22.51 PM.png",
        "Screenshot 2023-05-09 at 11.44.14 PM.png",
        "Screenshot 2023-05-14 at 3.58.58 AM.png",
        "add-instance.png",
        "jdk20-prism.png"
      ],
      "cids" : {
        "1.19.4.zip" : "QmWVSdUBQCsWFcqXwZw87egd2bERZ88Xy8KTJqZvbFurbA",
        "Screenshot 2023-05-09 at 11.22.51 PM.png" : "QmYKJ3zjedZQGqTw9Cspkjrisj4VRQxLeVzzqLXDNjbLBq",
        "Screenshot 2023-05-09 at 11.44.14 PM.png" : "QmVEm3KZQmDo4AAA3bmcCa4LhhJPM2ia7VVhXKqNrJGM7g",
        "Screenshot 2023-05-14 at 3.58.58 AM.png" : "QmdhtMWJpx3uQJHjornLNzAvcTYqqEHT9yD5ENQkzR8WRB",
        "add-instance.png" : "QmTkNf4RwrMoJ1Dh9PTLrVkAUUGrkS1QPWdu6C99irUE4d",
        "jdk20-prism.png" : "QmZLpJfpFmE1pmSD36mTRgfcbNCLtpw2i1yDZLCe16Tico"
      },
      "content" : "https://www.youtube.com/watch?v=GpeVyXIc678\n\n这个配置参考了 YouTube 上 [lowresbones](https://www.youtube.com/playlist?list=PLbeEKKSiXg7wV6i4XfEV_6I5QKkNmhGVL) 的配置，可以让 Minecraft 获得类似 Mojang 预告片里的色彩和质感。但是因为用到了 shader 的一些高级配置，所以对机器的配置有一定要求。Mac 上虽然可以使用，但是就算是 Mac Studio 也无法在 4K 分辨率上 30 帧。PC 上的话，3080 性能以上的显卡可以实现 4K 60 帧。\n\n这里是一些截图：\n\n<img width=\"3840\" alt=\"Screenshot 2023-05-09 at 11.44.14 PM\" src=\"Screenshot 2023-05-09 at 11.44.14 PM.png\">\n\n<img width=\"3840\" alt=\"Screenshot 2023-05-09 at 11.22.51 PM\" src=\"Screenshot 2023-05-09 at 11.22.51 PM.png\">\n\n<img width=\"3840\" alt=\"Screenshot 2023-05-14 at 3.58.58 AM\" src=\"Screenshot 2023-05-14 at 3.58.58 AM.png\">\n\n这是一个从 [Prism Launcher](https://prismlauncher.org/) 里导出的配置包，里面包括了用到的插件、Shader、及资源包，可以用 Prism Launcher 的 Add Instance -> Import from zip 功能导入：\n\n本地下载链接：<a href=\"1.19.4.zip\">1.19.4.zip</a>\n\n<img width=\"1684\" alt=\"Prism Launcher -> Add Instance\" src=\"add-instance.png\">\n\n如果这是你第一次安装 Prism Launcher，那么你需要首先安装 17 版本的 Java，可以从这里获得：\n\nhttps://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html\n\n如果是在 macOS 上，也可以用 `brew install java` 安装。但是那样的话，会获得的是 20 版本，在 Prism 里需要在 Settings -> Java 里勾上 Skip Java compatibility checks 这个选项才能启动：\n\n<img width=\"2132\" alt=\"Prism Launcher: JDK 20\" src=\"jdk20-prism.png\">\n\n用 20 版本的另外一个问题是，Forge 插件系统可能会跑不起来。所以，最好还是安装 17 版本。\n\n你可以用下面的这条指令安装 OpenJDK 17 版本：\n\n```\nbrew install openjdk@17\n```\n\n安装完成之后，还需要做一个符号链接，这样 Prism Launcher 才能找到：\n\n```\nsudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk\n```",
      "contentRendered" : "<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/GpeVyXIc678\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>这个配置参考了 YouTube 上 <a href=\"https://www.youtube.com/playlist?list=PLbeEKKSiXg7wV6i4XfEV_6I5QKkNmhGVL\">lowresbones</a> 的配置，可以让 Minecraft 获得类似 Mojang 预告片里的色彩和质感。但是因为用到了 shader 的一些高级配置，所以对机器的配置有一定要求。Mac 上虽然可以使用，但是就算是 Mac Studio 也无法在 4K 分辨率上 30 帧。PC 上的话，3080 性能以上的显卡可以实现 4K 60 帧。</p>\n<p>这里是一些截图：</p>\n<img width=\"3840\" alt=\"Screenshot 2023-05-09 at 11.44.14 PM\" src=\"Screenshot 2023-05-09 at 11.44.14 PM.png\">\n<img width=\"3840\" alt=\"Screenshot 2023-05-09 at 11.22.51 PM\" src=\"Screenshot 2023-05-09 at 11.22.51 PM.png\">\n<img width=\"3840\" alt=\"Screenshot 2023-05-14 at 3.58.58 AM\" src=\"Screenshot 2023-05-14 at 3.58.58 AM.png\">\n<p>这是一个从 <a href=\"https://prismlauncher.org/\">Prism Launcher</a> 里导出的配置包，里面包括了用到的插件、Shader、及资源包，可以用 Prism Launcher 的 Add Instance -&gt; Import from zip 功能导入：</p>\n<p>本地下载链接：<a href=\"1.19.4.zip\">1.19.4.zip</a></p>\n<img width=\"1684\" alt=\"Prism Launcher -> Add Instance\" src=\"add-instance.png\">\n<p>如果这是你第一次安装 Prism Launcher，那么你需要首先安装 17 版本的 Java，可以从这里获得：</p>\n<p><a href=\"https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html\">https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html</a></p>\n<p>如果是在 macOS 上，也可以用 <code>brew install java</code> 安装。但是那样的话，会获得的是 20 版本，在 Prism 里需要在 Settings -&gt; Java 里勾上 Skip Java compatibility checks 这个选项才能启动：</p>\n<img width=\"2132\" alt=\"Prism Launcher: JDK 20\" src=\"jdk20-prism.png\">\n<p>用 20 版本的另外一个问题是，Forge 插件系统可能会跑不起来。所以，最好还是安装 17 版本。</p>\n<p>你可以用下面的这条指令安装 OpenJDK 17 版本：</p>\n<pre><code>brew install openjdk@17\n</code></pre>\n<p>安装完成之后，还需要做一个符号链接，这样 Prism Launcher 才能找到：</p>\n<pre><code>sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk\n</code></pre>\n",
      "created" : 706006009.988508,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/mc-config-bare-bones/Screenshot%202023-05-09%20at%2011.22.51%20PM.png",
      "heroImageFilename" : "Screenshot 2023-05-09 at 11.22.51 PM.png",
      "heroImageHeight" : 2160,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/mc-config-bare-bones/Screenshot%202023-05-09%20at%2011.22.51%20PM.png",
      "heroImageWidth" : 3840,
      "id" : "1856602C-17FE-42D9-A3FF-00975167262E",
      "link" : "/mc-config-bare-bones/",
      "slug" : "mc-config-bare-bones",
      "tags" : {
        "minecraft" : "Minecraft"
      },
      "title" : "分享我目前在用的 Minecraft 1.19.4 配置"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "Screenshot 2023-05-11 at 2.14.14 AM.png",
        "Screenshot 2023-05-11 at 2.29.47 AM.png"
      ],
      "cids" : {
        "Screenshot 2023-05-11 at 2.14.14 AM.png" : "QmW9GLsDU23evpWLySCAWpq9bV1M1nSCJifETfckH7WR1D",
        "Screenshot 2023-05-11 at 2.29.47 AM.png" : "QmSraZSo9zhVDQzPhBTH7ewFj8VgNoLweAEjy27BsfXyWe"
      },
      "content" : "之前和小朋友一起玩过很长一段时间的 Minecraft。然后中间停了几年。这是之前录的一段视频：\n\nhttps://www.youtube.com/watch?v=-Zg7UjDrRqA\n\n上次录视频的时候，游戏的版本号还是 1.14.3，最近重新想把这个游戏拿起来的时候，已经 1.19.4 了。\n\n于是用 2023 年的新 shader 和 resource pack，在 Prism Launcher 里重新做了一个配置：\n\nhttps://www.youtube.com/watch?v=56Tcz6jPo-I\n\n[Prism Launcher](https://prismlauncher.org/) 是一个非常强大的第三方启动器。可以非常方便地添加各种插件、shader 和资源包。\n\n<img width=\"1602\" alt=\"Prism Launcher\" src=\"Screenshot 2023-05-11 at 2.14.14 AM.png\">\n\n之前在下载很多 Minecraft 插件的时候，经常会遇到各种贴满广告的网站，感觉像是在下病毒。最近很惊喜的发现一个新的叫做 Modrinth 的网站，下载体验非常好：\n\nhttps://www.modrinth.com/\n\n而且 Prism Launcher 里提供了内置支持：\n\n<img width=\"2228\" alt=\"Screenshot 2023-05-11 at 2.29.47 AM\" src=\"Screenshot 2023-05-11 at 2.29.47 AM.png\">",
      "contentRendered" : "<p>之前和小朋友一起玩过很长一段时间的 Minecraft。然后中间停了几年。这是之前录的一段视频：</p>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/-Zg7UjDrRqA\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>上次录视频的时候，游戏的版本号还是 1.14.3，最近重新想把这个游戏拿起来的时候，已经 1.19.4 了。</p>\n<p>于是用 2023 年的新 shader 和 resource pack，在 Prism Launcher 里重新做了一个配置：</p>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/56Tcz6jPo-I\" title=\"YouTube Video\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p><a href=\"https://prismlauncher.org/\">Prism Launcher</a> 是一个非常强大的第三方启动器。可以非常方便地添加各种插件、shader 和资源包。</p>\n<img width=\"1602\" alt=\"Prism Launcher\" src=\"Screenshot 2023-05-11 at 2.14.14 AM.png\">\n<p>之前在下载很多 Minecraft 插件的时候，经常会遇到各种贴满广告的网站，感觉像是在下病毒。最近很惊喜的发现一个新的叫做 Modrinth 的网站，下载体验非常好：</p>\n<p><a href=\"https://www.modrinth.com/\">https://www.modrinth.com/</a></p>\n<p>而且 Prism Launcher 里提供了内置支持：</p>\n<img width=\"2228\" alt=\"Screenshot 2023-05-11 at 2.29.47 AM\" src=\"Screenshot 2023-05-11 at 2.29.47 AM.png\">\n",
      "created" : 705487334.078831,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/26DFB2A0-EABC-453A-A612-BF2A0B4841D2/Screenshot%202023-05-11%20at%202.14.14%20AM.png",
      "heroImageFilename" : "Screenshot 2023-05-11 at 2.14.14 AM.png",
      "heroImageHeight" : 1618,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/26DFB2A0-EABC-453A-A612-BF2A0B4841D2/Screenshot%202023-05-11%20at%202.14.14%20AM.png",
      "heroImageWidth" : 1602,
      "id" : "26DFB2A0-EABC-453A-A612-BF2A0B4841D2",
      "link" : "/26DFB2A0-EABC-453A-A612-BF2A0B4841D2/",
      "slug" : "",
      "tags" : {
        "minecraft" : "Minecraft"
      },
      "title" : "Minecraft in 2023"
    },
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "2009 年时，刚刚认识了后来成为了妻的女友。那一年，我们最喜欢的一个游戏，就是 PS3 上的生化危机 5 的双人分屏佣兵模式。可能在里面玩了几百个小时的游戏时间？可以说生化危机 5 是我第一次认真玩了的一个游戏。\n\n然后十多年时间过去了，我们也在一起度过了十多年。后来新出的每一代生化危机也都玩了，但是最喜欢的还是 5 代的佣兵模式。只是我们现在几乎没有时间再在一起打这个模式了。\n\n后来我才知道，生化危机 5 里很多新的动作细节设定，其实都开始于 4 代。比如射击僵尸腿部，然后再上前使用体术。又或者是把僵尸手上拿的炸药用枪打炸。所以得知 2023 年会出 4 代的重制版，那是绝对的充满期待。那些当年玩了几百个小时的动作，加上 2023 年的画面技术，真的是充满期待。\n\n然后终于玩上了，目前打到第三章。里面居然有一个靶场的小游戏，如果是在 PC 上游玩的话，真的是可以充分测试鼠标和游戏手柄对射击精度究竟会有什么影响。\n\n估计再过一两年，可能 5 代也会被重制了？当一件作品在初次做的时候，就是一件精雕细琢的精品，于是也就有了后续被用同样的匠心继续重制的可能性。\n\n---\n\nResident Evil 4 Remake on Steam:\n\nhttps://store.steampowered.com/app/2050650/Resident_Evil_4/\n\n---\n\n2023 年 4 月 7 日更新：\n\n今天是佣兵模式上线的第一天。终于在重制版本里玩到这个令人感动的模式了。目前只有 3 个关卡和 4 个可选人物。一开始只能用 Leon，然后打到 A 评级之后就可以解锁下一个人物。\n\nLeon -> Luis -> Krauser -> Hank\n\n一如既往的好玩和紧张。",
      "contentRendered" : "<p>2009 年时，刚刚认识了后来成为了妻的女友。那一年，我们最喜欢的一个游戏，就是 PS3 上的生化危机 5 的双人分屏佣兵模式。可能在里面玩了几百个小时的游戏时间？可以说生化危机 5 是我第一次认真玩了的一个游戏。</p>\n<p>然后十多年时间过去了，我们也在一起度过了十多年。后来新出的每一代生化危机也都玩了，但是最喜欢的还是 5 代的佣兵模式。只是我们现在几乎没有时间再在一起打这个模式了。</p>\n<p>后来我才知道，生化危机 5 里很多新的动作细节设定，其实都开始于 4 代。比如射击僵尸腿部，然后再上前使用体术。又或者是把僵尸手上拿的炸药用枪打炸。所以得知 2023 年会出 4 代的重制版，那是绝对的充满期待。那些当年玩了几百个小时的动作，加上 2023 年的画面技术，真的是充满期待。</p>\n<p>然后终于玩上了，目前打到第三章。里面居然有一个靶场的小游戏，如果是在 PC 上游玩的话，真的是可以充分测试鼠标和游戏手柄对射击精度究竟会有什么影响。</p>\n<p>估计再过一两年，可能 5 代也会被重制了？当一件作品在初次做的时候，就是一件精雕细琢的精品，于是也就有了后续被用同样的匠心继续重制的可能性。</p>\n<hr />\n<p>Resident Evil 4 Remake on Steam:</p>\n<p><a href=\"https://store.steampowered.com/app/2050650/Resident_Evil_4/\">https://store.steampowered.com/app/2050650/Resident_Evil_4/</a></p>\n<hr />\n<p>2023 年 4 月 7 日更新：</p>\n<p>今天是佣兵模式上线的第一天。终于在重制版本里玩到这个令人感动的模式了。目前只有 3 个关卡和 4 个可选人物。一开始只能用 Leon，然后打到 A 评级之后就可以解锁下一个人物。</p>\n<p>Leon -&gt; Luis -&gt; Krauser -&gt; Hank</p>\n<p>一如既往的好玩和紧张。</p>\n",
      "created" : 701680397.104944,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "80538A76-1915-499D-B7CE-5DBCFE7E8FCE",
      "link" : "/80538A76-1915-499D-B7CE-5DBCFE7E8FCE/",
      "slug" : "",
      "tags" : {

      },
      "title" : "Resident Evil 4 Remake"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "pcsx2_macos.png"
      ],
      "cids" : {
        "pcsx2_macos.png" : "QmZpL8CCtunX31gGHZpzH9PQwDryKgbpWxSm8b9dRE4PGy"
      },
      "content" : "PCSX2 是一款老牌的 PS2 模拟器。之前他们的 macOS 版本停更了好久，但是最近，又可以从 Nightly 区域下载了：\n\nhttps://pcsx2.net/\n\n在 M1 设备上，可以实现 4K60。\n\n如果你需要为你的游戏找 PS2 封面图，还可以从 Steam Grid DB 上找到。比如这是 Gran Turismo 3 A-Spec 的封面图：\n\nhttps://www.steamgriddb.com/game/35696\n\n完整配置好的效果：\n\n<img width=\"875\" alt=\"pcsx2_macos\" src=\"pcsx2_macos.png\">\n\n",
      "contentRendered" : "<p>PCSX2 是一款老牌的 PS2 模拟器。之前他们的 macOS 版本停更了好久，但是最近，又可以从 Nightly 区域下载了：</p>\n<p><a href=\"https://pcsx2.net/\">https://pcsx2.net/</a></p>\n<p>在 M1 设备上，可以实现 4K60。</p>\n<p>如果你需要为你的游戏找 PS2 封面图，还可以从 Steam Grid DB 上找到。比如这是 Gran Turismo 3 A-Spec 的封面图：</p>\n<p><a href=\"https://www.steamgriddb.com/game/35696\">https://www.steamgriddb.com/game/35696</a></p>\n<p>完整配置好的效果：</p>\n<img width=\"875\" alt=\"pcsx2_macos\" src=\"pcsx2_macos.png\">\n",
      "created" : 697012660.459147,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/1C6288CB-88F9-4E69-82DD-3B4AEDCFC375/pcsx2_macos.png",
      "heroImageFilename" : "pcsx2_macos.png",
      "heroImageHeight" : 1322,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/1C6288CB-88F9-4E69-82DD-3B4AEDCFC375/pcsx2_macos.png",
      "heroImageWidth" : 1750,
      "id" : "1C6288CB-88F9-4E69-82DD-3B4AEDCFC375",
      "link" : "/1C6288CB-88F9-4E69-82DD-3B4AEDCFC375/",
      "slug" : "",
      "tags" : {
        "emulators" : "Emulators",
        "ps2" : "PS2"
      },
      "title" : "PCSX2 Nightly Build for macOS"
    },
    {
      "articleType" : 0,
      "attachments" : [

      ],
      "cids" : {

      },
      "content" : "<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/NSr2QBjmQCM\" title=\"Stray for Game Boy\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n\n来自 YouTube 上一个叫做 [64 Bits](https://www.youtube.com/64bits) 的频道，他们做了很多这样非常有意思的 Demake 视频——用复古平台的美术风格重现一款当代的游戏。\n\n比如之前，他们还做了这个：假如 Elden Ring 是一款 SNES 游戏？\n\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/vUl19SCttaM\" title=\"Elden Ring Demake for SNES\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>",
      "contentRendered" : "<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/NSr2QBjmQCM\" title=\"Stray for Game Boy\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>来自 YouTube 上一个叫做 <a href=\"https://www.youtube.com/64bits\">64 Bits</a> 的频道，他们做了很多这样非常有意思的 Demake 视频——用复古平台的美术风格重现一款当代的游戏。</p>\n<p>比如之前，他们还做了这个：假如 Elden Ring 是一款 SNES 游戏？</p>\n<iframe width=\"100%\" style=\"aspect-ratio: 16/9\" src=\"https://www.youtube.com/embed/vUl19SCttaM\" title=\"Elden Ring Demake for SNES\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n",
      "created" : 689876258.425334,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "id" : "96D34D67-B3E0-4932-B41E-091901E58722",
      "link" : "/96D34D67-B3E0-4932-B41E-091901E58722/",
      "slug" : "",
      "tags" : {
        "demake" : "Demake"
      },
      "title" : "如果 Stray 是一款 Game Boy 游戏"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "developers.png",
        "liked-games.png",
        "snes.png",
        "f-zero.png",
        "platforms.png",
        "nes.png",
        "homepage.png"
      ],
      "cids" : {
        "developers.png" : "QmW2UuXAD8TDT7qNNkj7coRVCY1R3hjyQzy7MMzVw7J53v",
        "f-zero.png" : "Qmb9WyD726fByFwbJYzxhmaDLfCy8UEY4KrjxcGDwxk9Fg",
        "homepage.png" : "QmU6RggcAnmSPBUthruGLLr9jk7kbXiyvxTs4hWHdkSjVm",
        "liked-games.png" : "QmceSRwjVfWbRaxvvbPLgNnFNiiDAaZ768BWouJ4u8RPwa",
        "nes.png" : "QmdGUMRggyhdNrY1TMLoawcakmt3ZVGD5TjiT583HUYx3w",
        "platforms.png" : "QmRhhjebF4PJ7yMxYTy23DpzKaUbm8o7fcpXCDjsd7hTnf",
        "snes.png" : "QmdhF5nepca91pmTfCcxZDYmgAPhd1BFyvsvZKzdk8SBQd"
      },
      "content" : "2020 年时，很长时间困在家里。那时候在想，有些事情如果我现在没做，大概以后就不会开始做了。于是就把一件构思了很久的事情做上线了——做了一个 8-bit / 16-bit 的怀旧游戏的数据库：包括游戏的基本信息、截图、甚至一部分视频。可以按照游戏的所在主机平台、开发商、分类进行检索。\n\n后来 Planet 项目中的 8-bit 页面主题，就是来自于 GameDB 项目中的这些 Web Components。\n\n这里是一些截图。\n\n### 首页\n\nhttps://www.v2ex.com/gamedb\n\n<img width=\"1275\" alt=\"homepage\" src=\"homepage.png\">\n\n### 我收藏的游戏\n\n登录之后可以收藏自己喜欢的游戏。\n\nhttps://www.v2ex.com/gamedb/my/games\n\n<img width=\"1275\" alt=\"liked-games\" src=\"liked-games.png\">\n\n### NES 平台首页\n\nhttps://www.v2ex.com/gamedb/nes\n\n<img width=\"1275\" alt=\"nes\" src=\"nes.png\">\n\n### Super Nintendo 平台首页\n\nhttps://www.v2ex.com/gamedb/snes\n\n<img width=\"1275\" alt=\"snes\" src=\"snes.png\">\n\n### F-Zero\n\nhttps://www.v2ex.com/gamedb/snes/f-zero\n\n<img width=\"1275\" alt=\"f-zero\" src=\"f-zero.png\">\n\n### 游戏开发商首页\n\nhttps://www.v2ex.com/gamedb/developers\n\n<img width=\"1275\" alt=\"developers\" src=\"developers.png\">\n\n### 游戏平台\n\n一套很有爱的像素图标。\n\nhttps://www.v2ex.com/gamedb/platforms\n\n<img width=\"1275\" alt=\"platforms\" src=\"platforms.png\">\n",
      "contentRendered" : "<p>2020 年时，很长时间困在家里。那时候在想，有些事情如果我现在没做，大概以后就不会开始做了。于是就把一件构思了很久的事情做上线了——做了一个 8-bit / 16-bit 的怀旧游戏的数据库：包括游戏的基本信息、截图、甚至一部分视频。可以按照游戏的所在主机平台、开发商、分类进行检索。</p>\n<p>后来 Planet 项目中的 8-bit 页面主题，就是来自于 GameDB 项目中的这些 Web Components。</p>\n<p>这里是一些截图。</p>\n<h3>首页</h3>\n<p><a href=\"https://www.v2ex.com/gamedb\">https://www.v2ex.com/gamedb</a></p>\n<img width=\"1275\" alt=\"homepage\" src=\"homepage.png\">\n<h3>我收藏的游戏</h3>\n<p>登录之后可以收藏自己喜欢的游戏。</p>\n<p><a href=\"https://www.v2ex.com/gamedb/my/games\">https://www.v2ex.com/gamedb/my/games</a></p>\n<img width=\"1275\" alt=\"liked-games\" src=\"liked-games.png\">\n<h3>NES 平台首页</h3>\n<p><a href=\"https://www.v2ex.com/gamedb/nes\">https://www.v2ex.com/gamedb/nes</a></p>\n<img width=\"1275\" alt=\"nes\" src=\"nes.png\">\n<h3>Super Nintendo 平台首页</h3>\n<p><a href=\"https://www.v2ex.com/gamedb/snes\">https://www.v2ex.com/gamedb/snes</a></p>\n<img width=\"1275\" alt=\"snes\" src=\"snes.png\">\n<h3>F-Zero</h3>\n<p><a href=\"https://www.v2ex.com/gamedb/snes/f-zero\">https://www.v2ex.com/gamedb/snes/f-zero</a></p>\n<img width=\"1275\" alt=\"f-zero\" src=\"f-zero.png\">\n<h3>游戏开发商首页</h3>\n<p><a href=\"https://www.v2ex.com/gamedb/developers\">https://www.v2ex.com/gamedb/developers</a></p>\n<img width=\"1275\" alt=\"developers\" src=\"developers.png\">\n<h3>游戏平台</h3>\n<p>一套很有爱的像素图标。</p>\n<p><a href=\"https://www.v2ex.com/gamedb/platforms\">https://www.v2ex.com/gamedb/platforms</a></p>\n<img width=\"1275\" alt=\"platforms\" src=\"platforms.png\">\n",
      "created" : 689349915.801679,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/3B34B04D-1233-45B5-8497-16ADA0BAAD45/developers.png",
      "heroImageFilename" : "developers.png",
      "heroImageHeight" : 2104,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/3B34B04D-1233-45B5-8497-16ADA0BAAD45/developers.png",
      "heroImageWidth" : 2550,
      "id" : "3B34B04D-1233-45B5-8497-16ADA0BAAD45",
      "link" : "/3B34B04D-1233-45B5-8497-16ADA0BAAD45/",
      "slug" : "",
      "tags" : {

      },
      "title" : "V2EX GameDB Project"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "FfHS7xYUoAIywLb.jpeg",
        "Fe0LkuJUUAAYgug.jpeg"
      ],
      "cids" : {
        "Fe0LkuJUUAAYgug.jpeg" : "QmYic4LXgAkJFt6ZN5BtUXzmvht4yg6kqFpumQLDybRGr4",
        "FfHS7xYUoAIywLb.jpeg" : "QmVTYY4ANYLVARceYJB1phpUtc3SLQbqGTjhgmLryXdML8"
      },
      "content" : "🍎\n\n<img width=\"1536\" alt=\"PowerBook\" src=\"Fe0LkuJUUAAYgug.jpeg\">\n\n<img width=\"1218\" alt=\"FfHS7xYUoAIywLb\" src=\"FfHS7xYUoAIywLb.jpeg\">\n\nThose are not real, actually. Created by [Dana Sibera](https://twitter.com/NanoRaptor).\n",
      "contentRendered" : "<p>🍎</p>\n<img width=\"1536\" alt=\"PowerBook\" src=\"Fe0LkuJUUAAYgug.jpeg\">\n<img width=\"1218\" alt=\"FfHS7xYUoAIywLb\" src=\"FfHS7xYUoAIywLb.jpeg\">\n<p>Those are not real, actually. Created by <a href=\"https://twitter.com/NanoRaptor\">Dana Sibera</a>.</p>\n",
      "created" : 687267404.004149,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/580B8ADB-2731-4882-B17A-D1194C0049FE/FfHS7xYUoAIywLb.jpeg",
      "heroImageFilename" : "FfHS7xYUoAIywLb.jpeg",
      "heroImageHeight" : 1244,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/580B8ADB-2731-4882-B17A-D1194C0049FE/FfHS7xYUoAIywLb.jpeg",
      "heroImageWidth" : 1218,
      "id" : "580B8ADB-2731-4882-B17A-D1194C0049FE",
      "link" : "/580B8ADB-2731-4882-B17A-D1194C0049FE/",
      "slug" : "",
      "tags" : {

      },
      "title" : "🤔"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "bc.mp4"
      ],
      "cids" : {
        "bc.mp4" : "QmWU2FoXBst8cCwbycsnVcpoR4baxZhm3n2qLzCfQgcTK3"
      },
      "content" : "这大概是我在红白机上最喜欢的一个双打游戏了。\n\n视频中是游戏的第一关的通关过程。使用 RetroArch 录制。",
      "contentRendered" : "<p>这大概是我在红白机上最喜欢的一个双打游戏了。</p>\n<p>视频中是游戏的第一关的通关过程。使用 RetroArch 录制。</p>\n",
      "created" : 684209757.07908,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : true,
      "heroImage" : "https://zh.gamedb.eth.sucks/6D39129B-A07E-4D97-9DC0-47F087A8E1CD/_videoThumbnail.png",
      "heroImageFilename" : "_videoThumbnail.png",
      "heroImageHeight" : 224,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/6D39129B-A07E-4D97-9DC0-47F087A8E1CD/_videoThumbnail.png",
      "heroImageWidth" : 256,
      "id" : "6D39129B-A07E-4D97-9DC0-47F087A8E1CD",
      "link" : "/6D39129B-A07E-4D97-9DC0-47F087A8E1CD/",
      "slug" : "",
      "tags" : {
        "nes" : "NES"
      },
      "title" : "BattleCity",
      "videoFilename" : "bc.mp4"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "dos-sc2k.png",
        "dos-pal.png",
        "dos-cycles.png",
        "dos-uncharted-waters-ii.png",
        "dos-quake.png"
      ],
      "cids" : {
        "dos-cycles.png" : "QmSSPgBbK3AHUMyo2Zicq5fd6uFU7x2JPbCq2GtSwBBJTT",
        "dos-pal.png" : "QmXUj5gSvAWbYToWuazWiXtGY8iVD6DphFL1CeKmnNeWBH",
        "dos-quake.png" : "QmSVDreMMz92LSdQPvE2cn3dXVB4r1e5reVeworPoULK7p",
        "dos-sc2k.png" : "QmTR2M4mcwDMKwaoDUTsUVpAvuc2A3Cktzv7ZfbvWQwHWf",
        "dos-uncharted-waters-ii.png" : "QmVwUy8pMwRzQC5yzHUaSbqBdhu5xnnfi71Bn5PKbsi1YM"
      },
      "content" : "[DOSBox Pure](https://github.com/schellingb/dosbox-pure) 是一个可以用于在 RetroArch 里模拟 DOS 游戏的插件。\n\n相比之前的其他 DOSBox 的 fork，DOSBox Pure 除了可以支持 RetroArch 的状态保存及 Shader 功能外，还可以支持：\n\n* 直接从 zip 文件包中加载游戏\n* 自动挂载 zip 文件包里的 CD Image，考虑到之前的很多老 DOS 游戏使用 CD 作为音乐源\n* 加载一个外部的 SF2 文件，来提供更好的 MIDI 音乐效果\n\n用来体验老游戏真的是非常不错的体验。比如这是 DOS 下的经典游戏《仙剑奇侠传》在 DOSBox Pure 里运行的截图（加上了 CRT Caligari Shader 的效果）：\n\n![](dos-pal.png)\n\nKOEI 的大航海时代 II：\n\n![](dos-uncharted-waters-ii.png)\n\nMaxis 的 SimCity 2000：\n\n![](dos-sc2k.png)\n\n甚至当年 id Software 的 3D 大作 Quake：\n\n![](dos-quake.png)\n\n## 性能\n\n在摩尔定律尚还非常有效的 1990 年代，不同的 DOS 游戏对于性能的需求非常不一样。Bullfrog 的 Theme Park 需要 DOSBox 模拟一台 386 电脑，否则就会因为一切动画过快而造成游戏根本没法玩。而 Quake 这样的游戏则需要 DOSBox 尽可能快地运行。\n\n因此，你可能需要在游戏开始运行之后，根据具体的游戏选择需要的性能级别：\n\n![](dos-cycles.png)\n\n目前 DOSBox Pure 还不能支持读取 zip 包中的 dosbox.conf 配置文件。如果将来能够支持的话，那么就可以通过 dosbox.conf 来为不同的游戏提供不同的定制选项了。\n\n## 获取 DOS 游戏\n\n现在是 2021 年了，但是合法地获取 DOS 游戏文件依然是可能的。比如你可以通过以下渠道买到 DOS 游戏：\n\n* [GOG](https://www.gog.com/) - 可以找到大部分在欧美发行过的 DOS 游戏\n* [Origin](https://www.origin.com/) - EA Origin 上提供的 SimCity 2000 SE 其实就是基于 DOSBox 模拟的，可以在安装目录里找到 DOS 游戏的文件",
      "contentRendered" : "<p><a href=\"https://github.com/schellingb/dosbox-pure\">DOSBox Pure</a> 是一个可以用于在 RetroArch 里模拟 DOS 游戏的插件。</p>\n<p>相比之前的其他 DOSBox 的 fork，DOSBox Pure 除了可以支持 RetroArch 的状态保存及 Shader 功能外，还可以支持：</p>\n<ul>\n<li>直接从 zip 文件包中加载游戏</li>\n<li>自动挂载 zip 文件包里的 CD Image，考虑到之前的很多老 DOS 游戏使用 CD 作为音乐源</li>\n<li>加载一个外部的 SF2 文件，来提供更好的 MIDI 音乐效果</li>\n</ul>\n<p>用来体验老游戏真的是非常不错的体验。比如这是 DOS 下的经典游戏《仙剑奇侠传》在 DOSBox Pure 里运行的截图（加上了 CRT Caligari Shader 的效果）：</p>\n<p><img src=\"dos-pal.png\" alt=\"\" /></p>\n<p>KOEI 的大航海时代 II：</p>\n<p><img src=\"dos-uncharted-waters-ii.png\" alt=\"\" /></p>\n<p>Maxis 的 SimCity 2000：</p>\n<p><img src=\"dos-sc2k.png\" alt=\"\" /></p>\n<p>甚至当年 id Software 的 3D 大作 Quake：</p>\n<p><img src=\"dos-quake.png\" alt=\"\" /></p>\n<h2>性能</h2>\n<p>在摩尔定律尚还非常有效的 1990 年代，不同的 DOS 游戏对于性能的需求非常不一样。Bullfrog 的 Theme Park 需要 DOSBox 模拟一台 386 电脑，否则就会因为一切动画过快而造成游戏根本没法玩。而 Quake 这样的游戏则需要 DOSBox 尽可能快地运行。</p>\n<p>因此，你可能需要在游戏开始运行之后，根据具体的游戏选择需要的性能级别：</p>\n<p><img src=\"dos-cycles.png\" alt=\"\" /></p>\n<p>目前 DOSBox Pure 还不能支持读取 zip 包中的 dosbox.conf 配置文件。如果将来能够支持的话，那么就可以通过 dosbox.conf 来为不同的游戏提供不同的定制选项了。</p>\n<h2>获取 DOS 游戏</h2>\n<p>现在是 2021 年了，但是合法地获取 DOS 游戏文件依然是可能的。比如你可以通过以下渠道买到 DOS 游戏：</p>\n<ul>\n<li><a href=\"https://www.gog.com/\">GOG</a> - 可以找到大部分在欧美发行过的 DOS 游戏</li>\n<li><a href=\"https://www.origin.com/\">Origin</a> - EA Origin 上提供的 SimCity 2000 SE 其实就是基于 DOSBox 模拟的，可以在安装目录里找到 DOS 游戏的文件</li>\n</ul>\n",
      "created" : 682953051.929233,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/EEEFD922-6B72-4B9C-911D-704EC484CD85/dos-sc2k.png",
      "heroImageFilename" : "dos-sc2k.png",
      "heroImageHeight" : 2160,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/EEEFD922-6B72-4B9C-911D-704EC484CD85/dos-sc2k.png",
      "heroImageWidth" : 3840,
      "id" : "EEEFD922-6B72-4B9C-911D-704EC484CD85",
      "link" : "/EEEFD922-6B72-4B9C-911D-704EC484CD85/",
      "slug" : "",
      "tags" : {
        "retroarch" : "RetroArch"
      },
      "title" : "DOSBox Pure"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "retroarch-auto-save.png",
        "retroarch-contra-with-shader-4k.png",
        "retroarch-contra-without-shader-4k.png",
        "retroarch-menu-xmb.png",
        "smb3-240x224.png",
        "smb3-240x240.png",
        "smb3-256x224.png",
        "smb3-256x240.png"
      ],
      "cids" : {
        "retroarch-auto-save.png" : "QmVFtSxTwUttJ8vkXc1opsmuuMsyJhSSRZgaWcvQmcMvu5",
        "retroarch-contra-with-shader-4k.png" : "QmaX9c18a5g9dbwooVB3p2L6Yax6bEdXgYodCAAMLbdLDW",
        "retroarch-contra-without-shader-4k.png" : "QmXY9tTcdWnigipL1DMPKc6EC5hc9okm77Y1GmNCgeTKDf",
        "retroarch-menu-xmb.png" : "QmfYE5LdLv8Tmeu7zV4RpmiTp6fTb13ziVKsEgbhtqxqr8",
        "smb3-240x224.png" : "QmPNzC4bU6zw27izgEMJxNZ541BwzNMCEMryz5W7ibEZrZ",
        "smb3-240x240.png" : "QmSH48g5Gk3mhMH9FLFNW3Q3JWxWv75CMQSkpBqY4hRxN9",
        "smb3-256x224.png" : "QmZXSxzAMHmGkd6AAptQJn1qDPMdmCxEMjxYxzdN9ydwMT",
        "smb3-256x240.png" : "QmbCDU3EcmCfxRUYvNshaZMNkR4ZyqTe2LdPG9GfGqESVz"
      },
      "content" : "[RetroArch](https://www.retroarch.com) 是一个功能强大的模拟器前端。它的核心是一个叫做 [libretro](https://www.libretro.com) 的开源软件项目，基于 libretro 开发的 RetroArch 提供了一套管理多个不同模拟器系统的界面。这篇文章是关于 RetroArch 的配置和使用，并且会根据 RetroArch 的发展持续更新。\n\n文章中的配图来自 RetroArch 运行在 Windows 下的效果。但是 RetroArch 几乎可以运行在所有主流软硬件平台上。\n\n## Menu 菜单\n\nRetroArch 提供了多种不同的使用界面方案。其中一个类似 PlayStation 的 XMB 界面方案，非常方便用手柄导航。如果你安装的 RetroArch 没有默认使用这个界面的话，你可以在这个位置打开：\n\n```\nSettings -> Drivers -> Menu -> xmb\n```\n\n![](retroarch-menu-xmb.png)\n\n## Core 核心\n\n配置 RetroArch 的第一步，就是为你打算模拟的平台下载 Core。RetroArch 本身是一个启动器，对具体游戏平台的模拟，是通过不同的 Core 来实现。比如打算模拟 NES 的话，你可能会需要下载 FCEUmm 这个 Core。\n\n作为一个已经发展了多年的成熟项目，RetroArch 包括了几乎所有游戏平台的模拟器 Core。甚至包括了一些非常专用的 Core，比如 [OpenLara](https://docs.libretro.com/library/openlara/) 和 [PrBoom](https://docs.libretro.com/library/prboom/) 这样专用于特定 PC 游戏的 Core。\n\n下载新的 Core 的菜单位置：\n\n```\nMain Menu -> Load Core -> Download a Core\n```\n\n## Scan 扫描内容\n\n在 Core 安装完成之后，接下来需要做的就是把内容添加到 RetroArch。\n\n建议把不同平台的 ROM 文件分别放到不同的文件夹里，比如分别为 NES 和 SNES 建立不同的文件夹。然后在 RetroArch 菜单中选择：\n\n```\nImport Content -> Scan Directory -> 选择你存放 ROM 的目录\n```\n\n通常，这样就可以找到你组织好的内容。扫描完成后，RetroArch 界面里就会多出来刚刚找到的新游戏的 Playlist。RetroArch 会为每个平台的所有游戏建立一个 Playlist。\n\n但是，在某些情况下，如果上面的方法没有找到新内容，那么你还可以试试：\n\n```\nImport Content -> Manual Scan\n```\n\n在 Manual Scan 模式下，你需要指定用哪个 Core 来扫描内容。Manual Scan 每次会用一个指定的 Core 扫描指定的一个文件夹，所以可以用这样的方式来一次性为一个平台生成 Playlist。\n\n## ROM\n\n使用类似 <a href=\"https://www.retrode.org/\" target=\"_blank\">Retrode</a> 这样的设备，你可以从卡带中获得游戏内容，也就是 ROM 文件。\n\n互联网上的一群经典游戏的爱好者维护了一个叫做 <a href=\"https://no-intro.org/\" target=\"_blank\">no-intro</a> 的数据库，记录所有完整的 ROM 文件的特征，比如游戏的官方名称、CRC32 校验值、MD5 值等等。\n\n## Shader 画面特效\n\n针对 CRT 显示器设计的老游戏，分辨率相比现代 PC，是很低的 240p 分辨率：\n\n|Platform 平台|Resolution 分辨率|\n|---|---|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/fc.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;NES/Famicom|256&times;224|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/sfc.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Super NES/Super Famicom|256&times;224|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/genesis.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Geneis/Mega Drive|320&times;224|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/gb.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Game Boy|160&times;144|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/gbc.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Game Boy Color|160&times;144|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/gba.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Game Boy Advance|240&times;160|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/vb.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Virtual Boy|384&times;224|\n|<img src=\"https://www.v2ex.com/static/gamedb/32/n64.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" /> &nbsp;Nintendo 64|320&times;240|\n\n因此，如果要在现代的高分辨率 LCD 屏幕上模拟老旧 CRT 电视机的效果，你可以使用 RetroArch 的 Shader 功能。在运行游戏的过程中呼出快捷菜单，然后在 Shader 菜单中选择一款 CRT Shader（适用于主机平台）或者 Handheld Shader（适用于手持平台）即可。\n\n比如这是在 4K 分辨率下，没有使用 Shader 时的效果：\n\n[![](retroarch-contra-without-shader-4k.png)](retroarch-contra-without-shader-4k.png)\n\n作为对比，这是使用了 CRT Caligari 之后的效果：\n\n[![](retroarch-contra-with-shader-4k.png)](retroarch-contra-with-shader-4k.png)\n\nRetroArch 内置了几十款不同的 Shader。\n\n为了让 Shader 获得最好的显示效果，下面的这个设置选项推荐打开：\n\n```\nSettings -> Video -> Scaling -> Integer Scale\n```\n\n这样 RetroArch 在将模拟器输出的视频画面填充当前分辨率时，会确保按照整数倍来进行放大。这样可以避免因为画面被非整数倍放大而带来的一些 Shader 的渲染问题。这些问题当你在使用扫描线类型的 CRT Shader 时会尤其明显。\n\n## Rewind 回退\n\n以前的很多游戏的难度非常具有挑战性。比如在 [Konami](https://www.v2ex.com/gamedb/developers/konami/nes) 的经典游戏 [Contra 魂斗罗](https://www.v2ex.com/gamedb/nes/contra) 和 [Life Force 沙罗曼蛇](https://www.v2ex.com/gamedb/nes/life-force-salamander) 里，无论你积攒了多少火力，只要吃一颗子弹就全部重来。并且游戏里只有三条命。\n\nRetroArch 提供了一种让苦手玩家有可能可以一命通关的方法——当在游戏里出现失误的时候，只要按住 <kbd>R</kbd> 就可以回退。直到退回到失误出现之前。借助这种方式，一命通关很多很难的游戏，或者在彩蛋区域进行反复探索，就只是时间问题了。\n\n可以在 Quick Menu 的这个位置设置 Rewind 的速度，默认是 1 帧：\n\n```\nQuick Menu -> Rewind -> Rewind Frames\n```\n\n如果你基本上只用 RetroArch 来玩那些不需要手柄 L2 键的游戏，那么可以考虑把 L2 映射为 Rewind 回退功能。\n\n## Auto Save Load 自动保存和加载\n\n以前的游戏大部分都没有提供存盘功能，尤其是 8 位机时代的游戏。其中一些游戏提供的解决方案是通关密码 Password，即你在打通了每一关之后会获得一个通关密码，之后只要输入这个通关密码就可以从这一关开始游戏。\n\n而另外一种更简单的方式就是用 RetroArch 来自动记录和恢复游戏状态。你可以在设置菜单中的这个位置找到相关设置：\n\n```\nSettings -> Saving\n```\n\n![](retroarch-auto-save.png)\n\n推荐把下面的这两个选项都打开：\n\n* Auto Save State\n* Load State Automatically\n\n这样在你每次关闭游戏时，状态会被自动保存。下次打开游戏时，状态会被自动加载。如果你的整个 RetroArch 文件夹是放在一个云同步的目录中的话，那么这些游戏状态就可以在你的电脑之间同步。然后就可以在任何一台电脑上继续你的任何游戏的进度。\n\n## Screenshot 截图\n\n按下 <kbd>F8</kbd> 就可以保存当前游戏的截图。RetroArch 提供了一个设置，让你可以保存 8-bit/16-bit 的原始像素的 PNG 格式，而不是应用了 Shader 之后的效果。\n\n可以从菜单的这个位置打开或者关闭这个设置：\n\n```\nSettings -> Video -> GPU Screenshot\n```\n\n或者直接编辑 `retroarch.cfg` 中的这个属性：\n\n```\nvideo_gpu_screenshot = \"false\"\n```\n\n当 GPU Screenshot 设置打开时，截图保存的是带有 Shader 的效果及分辨率。当 GPU Screenshot 设置关闭时，截图保存的是游戏的原始分辨率，比如 NES 的 256&times;224。\n\n部分 NES 模拟器 Core 支持剪裁掉横向或者竖向的 overscan 内容区域，因为某些游戏比如 [Super Mario Bros. 3](https://www.v2ex.com/gamedb/nes/super-mario-bros-3) 的 overscan 区域会有一些垃圾渲染（这些区域在真实硬件及 CRT 显示上不可见）。如果所有 overscan 内容区域都被保留，那么 NES 游戏的截图分辨率会是 256&times;240，如果都被剪裁，那么会是 240&times;224。\n\n|No Crop|Crop Horizontal|Crop Vertical|Crop Both|\n|---|---|---|---|\n|![](smb3-256x240.png)|![](smb3-240x240.png)|![](smb3-256x224.png)|![](smb3-240x224.png)|\n|256&times;240|240&times;240|256&times;224|240&times;224|\n\nFCEUmm 的默认设置是：\n\n* Crop Horizontal -> Off\n* Crop Vertical -> On\n\n这样出来的截图的分辨率是 256&times;224\n\n你可以在 RetroArch 的 screenshots 目录找到截图的 .png 文件。\n\n## Recording 视频录制\n\n虽然用 OBS 或者 GeForce Experience 也可以录下游戏过程，但是 RetroArch 内置的游戏录制功能的特殊之处在于可以用一种无损（lossless）的方式以游戏的原始分辨率保存为一个 .mkv 文件。如果使用 RetroArch 本身来播放这个 .mkv 文件，那么还可以在上面应用 Shader 效果。\n\n按下一次 <kbd>O</kbd> 即可开始录制，再按下一次 <kbd>O</kbd> 即可停止录制。你可以在 RetroArch 的 recordings 目录找到录制的 .mkv 文件。\n\n## macOS 上使用的注意事项\n\n推荐使用 Homebrew 安装最新版本：\n\n```\nbrew install retroarch-metal\n```\n\n如果无法识别 PS5 的 DualSense Controller，请确认 controller driver 用的是 `mfi`。\n\n## tvOS / Apple TV 上使用的注意事项\n\n在游戏进行过程中，如果直接按手柄上的 Logo 按键，会被 tvOS 自身的功能拦截而无法生效。需要用特殊的 combo 才能把 RetroArch 的 Quick Menu 给呼出来：\n\nL1+R1+DPad Down+Y",
      "contentRendered" : "<p><a href=\"https://www.retroarch.com\">RetroArch</a> 是一个功能强大的模拟器前端。它的核心是一个叫做 <a href=\"https://www.libretro.com\">libretro</a> 的开源软件项目，基于 libretro 开发的 RetroArch 提供了一套管理多个不同模拟器系统的界面。这篇文章是关于 RetroArch 的配置和使用，并且会根据 RetroArch 的发展持续更新。</p>\n<p>文章中的配图来自 RetroArch 运行在 Windows 下的效果。但是 RetroArch 几乎可以运行在所有主流软硬件平台上。</p>\n<h2>Menu 菜单</h2>\n<p>RetroArch 提供了多种不同的使用界面方案。其中一个类似 PlayStation 的 XMB 界面方案，非常方便用手柄导航。如果你安装的 RetroArch 没有默认使用这个界面的话，你可以在这个位置打开：</p>\n<pre><code>Settings -&gt; Drivers -&gt; Menu -&gt; xmb\n</code></pre>\n<p><img src=\"retroarch-menu-xmb.png\" alt=\"\" /></p>\n<h2>Core 核心</h2>\n<p>配置 RetroArch 的第一步，就是为你打算模拟的平台下载 Core。RetroArch 本身是一个启动器，对具体游戏平台的模拟，是通过不同的 Core 来实现。比如打算模拟 NES 的话，你可能会需要下载 FCEUmm 这个 Core。</p>\n<p>作为一个已经发展了多年的成熟项目，RetroArch 包括了几乎所有游戏平台的模拟器 Core。甚至包括了一些非常专用的 Core，比如 <a href=\"https://docs.libretro.com/library/openlara/\">OpenLara</a> 和 <a href=\"https://docs.libretro.com/library/prboom/\">PrBoom</a> 这样专用于特定 PC 游戏的 Core。</p>\n<p>下载新的 Core 的菜单位置：</p>\n<pre><code>Main Menu -&gt; Load Core -&gt; Download a Core\n</code></pre>\n<h2>Scan 扫描内容</h2>\n<p>在 Core 安装完成之后，接下来需要做的就是把内容添加到 RetroArch。</p>\n<p>建议把不同平台的 ROM 文件分别放到不同的文件夹里，比如分别为 NES 和 SNES 建立不同的文件夹。然后在 RetroArch 菜单中选择：</p>\n<pre><code>Import Content -&gt; Scan Directory -&gt; 选择你存放 ROM 的目录\n</code></pre>\n<p>通常，这样就可以找到你组织好的内容。扫描完成后，RetroArch 界面里就会多出来刚刚找到的新游戏的 Playlist。RetroArch 会为每个平台的所有游戏建立一个 Playlist。</p>\n<p>但是，在某些情况下，如果上面的方法没有找到新内容，那么你还可以试试：</p>\n<pre><code>Import Content -&gt; Manual Scan\n</code></pre>\n<p>在 Manual Scan 模式下，你需要指定用哪个 Core 来扫描内容。Manual Scan 每次会用一个指定的 Core 扫描指定的一个文件夹，所以可以用这样的方式来一次性为一个平台生成 Playlist。</p>\n<h2>ROM</h2>\n<p>使用类似 <a href=\"https://www.retrode.org/\" target=\"_blank\">Retrode</a> 这样的设备，你可以从卡带中获得游戏内容，也就是 ROM 文件。</p>\n<p>互联网上的一群经典游戏的爱好者维护了一个叫做 <a href=\"https://no-intro.org/\" target=\"_blank\">no-intro</a> 的数据库，记录所有完整的 ROM 文件的特征，比如游戏的官方名称、CRC32 校验值、MD5 值等等。</p>\n<h2>Shader 画面特效</h2>\n<p>针对 CRT 显示器设计的老游戏，分辨率相比现代 PC，是很低的 240p 分辨率：</p>\n<table>\n<thead>\n<tr>\n<th>Platform 平台</th>\n<th>Resolution 分辨率</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/fc.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  NES/Famicom</td>\n<td>256×224</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/sfc.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Super NES/Super Famicom</td>\n<td>256×224</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/genesis.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Geneis/Mega Drive</td>\n<td>320×224</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/gb.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Game Boy</td>\n<td>160×144</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/gbc.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Game Boy Color</td>\n<td>160×144</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/gba.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Game Boy Advance</td>\n<td>240×160</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/vb.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Virtual Boy</td>\n<td>384×224</td>\n</tr>\n<tr>\n<td><img src=\"https://www.v2ex.com/static/gamedb/32/n64.gif\" style=\"width: 16px; image-rendering: pixelated; vertical-align: text-bottom;\" />  Nintendo 64</td>\n<td>320×240</td>\n</tr>\n</tbody>\n</table>\n<p>因此，如果要在现代的高分辨率 LCD 屏幕上模拟老旧 CRT 电视机的效果，你可以使用 RetroArch 的 Shader 功能。在运行游戏的过程中呼出快捷菜单，然后在 Shader 菜单中选择一款 CRT Shader（适用于主机平台）或者 Handheld Shader（适用于手持平台）即可。</p>\n<p>比如这是在 4K 分辨率下，没有使用 Shader 时的效果：</p>\n<p><a href=\"retroarch-contra-without-shader-4k.png\"><img src=\"retroarch-contra-without-shader-4k.png\" alt=\"\" /></a></p>\n<p>作为对比，这是使用了 CRT Caligari 之后的效果：</p>\n<p><a href=\"retroarch-contra-with-shader-4k.png\"><img src=\"retroarch-contra-with-shader-4k.png\" alt=\"\" /></a></p>\n<p>RetroArch 内置了几十款不同的 Shader。</p>\n<p>为了让 Shader 获得最好的显示效果，下面的这个设置选项推荐打开：</p>\n<pre><code>Settings -&gt; Video -&gt; Scaling -&gt; Integer Scale\n</code></pre>\n<p>这样 RetroArch 在将模拟器输出的视频画面填充当前分辨率时，会确保按照整数倍来进行放大。这样可以避免因为画面被非整数倍放大而带来的一些 Shader 的渲染问题。这些问题当你在使用扫描线类型的 CRT Shader 时会尤其明显。</p>\n<h2>Rewind 回退</h2>\n<p>以前的很多游戏的难度非常具有挑战性。比如在 <a href=\"https://www.v2ex.com/gamedb/developers/konami/nes\">Konami</a> 的经典游戏 <a href=\"https://www.v2ex.com/gamedb/nes/contra\">Contra 魂斗罗</a> 和 <a href=\"https://www.v2ex.com/gamedb/nes/life-force-salamander\">Life Force 沙罗曼蛇</a> 里，无论你积攒了多少火力，只要吃一颗子弹就全部重来。并且游戏里只有三条命。</p>\n<p>RetroArch 提供了一种让苦手玩家有可能可以一命通关的方法——当在游戏里出现失误的时候，只要按住 <kbd>R</kbd> 就可以回退。直到退回到失误出现之前。借助这种方式，一命通关很多很难的游戏，或者在彩蛋区域进行反复探索，就只是时间问题了。</p>\n<p>可以在 Quick Menu 的这个位置设置 Rewind 的速度，默认是 1 帧：</p>\n<pre><code>Quick Menu -&gt; Rewind -&gt; Rewind Frames\n</code></pre>\n<p>如果你基本上只用 RetroArch 来玩那些不需要手柄 L2 键的游戏，那么可以考虑把 L2 映射为 Rewind 回退功能。</p>\n<h2>Auto Save Load 自动保存和加载</h2>\n<p>以前的游戏大部分都没有提供存盘功能，尤其是 8 位机时代的游戏。其中一些游戏提供的解决方案是通关密码 Password，即你在打通了每一关之后会获得一个通关密码，之后只要输入这个通关密码就可以从这一关开始游戏。</p>\n<p>而另外一种更简单的方式就是用 RetroArch 来自动记录和恢复游戏状态。你可以在设置菜单中的这个位置找到相关设置：</p>\n<pre><code>Settings -&gt; Saving\n</code></pre>\n<p><img src=\"retroarch-auto-save.png\" alt=\"\" /></p>\n<p>推荐把下面的这两个选项都打开：</p>\n<ul>\n<li>Auto Save State</li>\n<li>Load State Automatically</li>\n</ul>\n<p>这样在你每次关闭游戏时，状态会被自动保存。下次打开游戏时，状态会被自动加载。如果你的整个 RetroArch 文件夹是放在一个云同步的目录中的话，那么这些游戏状态就可以在你的电脑之间同步。然后就可以在任何一台电脑上继续你的任何游戏的进度。</p>\n<h2>Screenshot 截图</h2>\n<p>按下 <kbd>F8</kbd> 就可以保存当前游戏的截图。RetroArch 提供了一个设置，让你可以保存 8-bit/16-bit 的原始像素的 PNG 格式，而不是应用了 Shader 之后的效果。</p>\n<p>可以从菜单的这个位置打开或者关闭这个设置：</p>\n<pre><code>Settings -&gt; Video -&gt; GPU Screenshot\n</code></pre>\n<p>或者直接编辑 <code>retroarch.cfg</code> 中的这个属性：</p>\n<pre><code>video_gpu_screenshot = &quot;false&quot;\n</code></pre>\n<p>当 GPU Screenshot 设置打开时，截图保存的是带有 Shader 的效果及分辨率。当 GPU Screenshot 设置关闭时，截图保存的是游戏的原始分辨率，比如 NES 的 256×224。</p>\n<p>部分 NES 模拟器 Core 支持剪裁掉横向或者竖向的 overscan 内容区域，因为某些游戏比如 <a href=\"https://www.v2ex.com/gamedb/nes/super-mario-bros-3\">Super Mario Bros. 3</a> 的 overscan 区域会有一些垃圾渲染（这些区域在真实硬件及 CRT 显示上不可见）。如果所有 overscan 内容区域都被保留，那么 NES 游戏的截图分辨率会是 256×240，如果都被剪裁，那么会是 240×224。</p>\n<table>\n<thead>\n<tr>\n<th>No Crop</th>\n<th>Crop Horizontal</th>\n<th>Crop Vertical</th>\n<th>Crop Both</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><img src=\"smb3-256x240.png\" alt=\"\" /></td>\n<td><img src=\"smb3-240x240.png\" alt=\"\" /></td>\n<td><img src=\"smb3-256x224.png\" alt=\"\" /></td>\n<td><img src=\"smb3-240x224.png\" alt=\"\" /></td>\n</tr>\n<tr>\n<td>256×240</td>\n<td>240×240</td>\n<td>256×224</td>\n<td>240×224</td>\n</tr>\n</tbody>\n</table>\n<p>FCEUmm 的默认设置是：</p>\n<ul>\n<li>Crop Horizontal -&gt; Off</li>\n<li>Crop Vertical -&gt; On</li>\n</ul>\n<p>这样出来的截图的分辨率是 256×224</p>\n<p>你可以在 RetroArch 的 screenshots 目录找到截图的 .png 文件。</p>\n<h2>Recording 视频录制</h2>\n<p>虽然用 OBS 或者 GeForce Experience 也可以录下游戏过程，但是 RetroArch 内置的游戏录制功能的特殊之处在于可以用一种无损（lossless）的方式以游戏的原始分辨率保存为一个 .mkv 文件。如果使用 RetroArch 本身来播放这个 .mkv 文件，那么还可以在上面应用 Shader 效果。</p>\n<p>按下一次 <kbd>O</kbd> 即可开始录制，再按下一次 <kbd>O</kbd> 即可停止录制。你可以在 RetroArch 的 recordings 目录找到录制的 .mkv 文件。</p>\n<h2>macOS 上使用的注意事项</h2>\n<p>推荐使用 Homebrew 安装最新版本：</p>\n<pre><code>brew install retroarch-metal\n</code></pre>\n<p>如果无法识别 PS5 的 DualSense Controller，请确认 controller driver 用的是 <code>mfi</code>。</p>\n<h2>tvOS / Apple TV 上使用的注意事项</h2>\n<p>在游戏进行过程中，如果直接按手柄上的 Logo 按键，会被 tvOS 自身的功能拦截而无法生效。需要用特殊的 combo 才能把 RetroArch 的 Quick Menu 给呼出来：</p>\n<p>L1+R1+DPad Down+Y</p>\n",
      "created" : 682952721.618939,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/retroarch/retroarch-auto-save.png",
      "heroImageFilename" : "retroarch-auto-save.png",
      "heroImageHeight" : 2160,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/retroarch/retroarch-auto-save.png",
      "heroImageWidth" : 3840,
      "id" : "A62F0618-D759-46D6-BEE7-07A0D1BC1225",
      "link" : "/retroarch/",
      "slug" : "retroarch",
      "tags" : {
        "emulators" : "Emulators",
        "retroarch" : "RetroArch"
      },
      "title" : "RetroArch"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "steam-deck-gradius-3.jpg"
      ],
      "cids" : {
        "steam-deck-gradius-3.jpg" : "Qmf6AEFLBdZrRh17znpbSyXZ3FCRFSmGgwks15DbkavXEn"
      },
      "content" : "<img src=\"steam-deck-gradius-3.jpg\" alt=\"Steam Deck and Gradius III\" style=\"image-rendering: auto;\">\n\n在等待了漫长的一年之后，我终于拿到了预订的 Steam Deck。\n\n到手之后的第一件事情，就是在上面尝试了功能强大的模拟器前端 RetroArch。于是遇到的第一个问题就是，如何能够把 ROM 传送上去？\n\n后来研究了一下之后，发现最简单的方式就是开启 SFTP。Steam Deck 的电源键长按之后，会出现一个选项让你进入它的 Linux Desktop 模式。然后在 Linux Desktop 模式里就可以进行命令行操作。然后：\n\n```\npasswd\nsudo systemctl enable sshd\nsudo reboot\n```\n\n1. 为默认用户 deck 设置密码\n2. 启用 SSH 服务\n3. 重启 Steam Deck\n\n然后重启之后，就可以用 `deck@steamdeck.local` 连上了。之后就可以很简单地把 ROM 传到 Documents 然后用 RetroArch 去扫描内容了。\n\nSteam 版本的 RetroArch 的 playlist 是会被同步的。所以假设你希望让同步之后的 playlist 也依然在各个平台上都是可用的话，那么需要做两件事情：\n\n1. 设置中启用 Portable Playlist\n2. 设置中设定 File Browser 的默认位置。然后确保从这个默认位置往下的目录结构是一样的。比如假设 File Browser 的默认起始位置设定到了 Documents/RetroArch，那么再往下一级的目录结构可以是 NES，SNES 等等。保持下面的目录结构和文件内容在所有运行 Steam 的主机上一致，那么就可以用上 Portable Playlist 了。",
      "contentRendered" : "<img src=\"steam-deck-gradius-3.jpg\" alt=\"Steam Deck and Gradius III\" style=\"image-rendering: auto;\">\n<p>在等待了漫长的一年之后，我终于拿到了预订的 Steam Deck。</p>\n<p>到手之后的第一件事情，就是在上面尝试了功能强大的模拟器前端 RetroArch。于是遇到的第一个问题就是，如何能够把 ROM 传送上去？</p>\n<p>后来研究了一下之后，发现最简单的方式就是开启 SFTP。Steam Deck 的电源键长按之后，会出现一个选项让你进入它的 Linux Desktop 模式。然后在 Linux Desktop 模式里就可以进行命令行操作。然后：</p>\n<pre><code>passwd\nsudo systemctl enable sshd\nsudo reboot\n</code></pre>\n<ol>\n<li>为默认用户 deck 设置密码</li>\n<li>启用 SSH 服务</li>\n<li>重启 Steam Deck</li>\n</ol>\n<p>然后重启之后，就可以用 <code>deck@steamdeck.local</code> 连上了。之后就可以很简单地把 ROM 传到 Documents 然后用 RetroArch 去扫描内容了。</p>\n<p>Steam 版本的 RetroArch 的 playlist 是会被同步的。所以假设你希望让同步之后的 playlist 也依然在各个平台上都是可用的话，那么需要做两件事情：</p>\n<ol>\n<li>设置中启用 Portable Playlist</li>\n<li>设置中设定 File Browser 的默认位置。然后确保从这个默认位置往下的目录结构是一样的。比如假设 File Browser 的默认起始位置设定到了 Documents/RetroArch，那么再往下一级的目录结构可以是 NES，SNES 等等。保持下面的目录结构和文件内容在所有运行 Steam 的主机上一致，那么就可以用上 Portable Playlist 了。</li>\n</ol>\n",
      "created" : 682075357.241045,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/6EBA0710-C2AB-4854-BF5B-6915F14ED0FC/steam-deck-gradius-3.jpg",
      "heroImageFilename" : "steam-deck-gradius-3.jpg",
      "heroImageHeight" : 3024,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/6EBA0710-C2AB-4854-BF5B-6915F14ED0FC/steam-deck-gradius-3.jpg",
      "heroImageWidth" : 4032,
      "id" : "6EBA0710-C2AB-4854-BF5B-6915F14ED0FC",
      "link" : "/6EBA0710-C2AB-4854-BF5B-6915F14ED0FC/",
      "slug" : "",
      "tags" : {
        "hardware" : "Hardware"
      },
      "title" : "Steam Deck"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "DoomEd.png",
        "NeXTDoom.png",
        "first-web-server.jpg"
      ],
      "cids" : {
        "DoomEd.png" : "QmTAfhVD6PDGmZMhzzczRkQSMCsXbkx282f315LpoprgtX",
        "NeXTDoom.png" : "QmXfkssyKqWrwk2AtEGfGppf86MubXQ3gCYqbUbfoCCDt8",
        "first-web-server.jpg" : "QmTnfb1ttYFPXcYvJjojQiNqLtJ1Rmk6PmT5WV4xaoYv1E"
      },
      "content" : "这是 1993 年时，Id Software 的第一人称射击游戏 Doom 的关卡编辑器，运行在 NeXTSTEP 操作系统上。当年世界上第一个 World Wide Web 的服务器和浏览器，也是诞生在 NeXT 系统上。\n\n<img src=\"DoomEd.png\" style=\"image-rendering: auto;\" />\n\n<img src=\"NeXTDoom.png\" style=\"image-rendering: auto;\" />\n\n我一直相信的一件事情，工具会对使用工具的人产生影响。NeXT 上诞生了很多伟大的东西，世界上的第一个 World Wide Web 服务器，也是在 NeXT 上做出来的。\n\n<img src=\"first-web-server.jpg\" style=\"image-rendering: auto\" alt=\"First Web Server\">\n\n",
      "contentRendered" : "<p>这是 1993 年时，Id Software 的第一人称射击游戏 Doom 的关卡编辑器，运行在 NeXTSTEP 操作系统上。当年世界上第一个 World Wide Web 的服务器和浏览器，也是诞生在 NeXT 系统上。</p>\n<img src=\"DoomEd.png\" style=\"image-rendering: auto;\" />\n<img src=\"NeXTDoom.png\" style=\"image-rendering: auto;\" />\n<p>我一直相信的一件事情，工具会对使用工具的人产生影响。NeXT 上诞生了很多伟大的东西，世界上的第一个 World Wide Web 服务器，也是在 NeXT 上做出来的。</p>\n<img src=\"first-web-server.jpg\" style=\"image-rendering: auto\" alt=\"First Web Server\">\n",
      "created" : 680808904.948545,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/A52EFED5-18A3-47B3-998B-0119AB61706F/DoomEd.png",
      "heroImageFilename" : "DoomEd.png",
      "heroImageHeight" : 768,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/A52EFED5-18A3-47B3-998B-0119AB61706F/DoomEd.png",
      "heroImageWidth" : 1024,
      "id" : "A52EFED5-18A3-47B3-998B-0119AB61706F",
      "link" : "/A52EFED5-18A3-47B3-998B-0119AB61706F/",
      "slug" : "",
      "tags" : {

      },
      "title" : "毁灭战士 Doom 的关卡编辑器"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "FYxbQQGX0AIlDfy.png",
        "Teenage Mutant Ninja Turtles - Shredder’s Revenge - Gameplay trailer.mp4",
        "FYxbNv4XEAESLHn.png",
        "FYxbO8iWQAM84ZG.png",
        "FYxbL8jXoAAMIo3.png"
      ],
      "cids" : {
        "FYxbL8jXoAAMIo3.png" : "QmSR4sRootzkmqRpKLrTPMC4FG5KczCXBx1285W42Q5Dsi",
        "FYxbNv4XEAESLHn.png" : "QmaWF6vyh17gQEbXJyrmXsamhmXr8wGVBvsoVnwWKLcTjv",
        "FYxbO8iWQAM84ZG.png" : "QmcGnY6DSUn7zXxumcc4kBD2x7zkbL5Bxy7Vzbw1JaDeio",
        "FYxbQQGX0AIlDfy.png" : "QmQrJwr61ATAJCSjn5pqu7wozdfYqAUGeoXVAFZC46v6kh",
        "Teenage Mutant Ninja Turtles - Shredder’s Revenge - Gameplay trailer.mp4" : "QmTFV3SRbDxL9exWavvEzrVaEYqWF4x1DCCjQYiUaY2qNC"
      },
      "content" : "这是像素艺术家 Juanito Medina [@juanitomedinart](https://twitter.com/juanitomedinart) 在 Twitter 上分享的一些为 [TMNT Shredder's Revenge](https://www.shredders-revenge.com/) 做的关卡设计。\n\n这个具有强烈 CPS 街机时代感觉的游戏已经在各个主要平台上线：\n\n* [Steam](https://store.steampowered.com/app/1361510/Teenage_Mutant_Ninja_Turtles_Shredders_Revenge/)\n* [PlayStation](https://store.playstation.com/en-us/concept/10003986)\n* [Nintendo Switch](https://www.nintendo.com/store/products/teenage-mutant-ninja-turtles-shredders-revenge-switch/)\n\n![FYxbL8jXoAAMIo3.png](FYxbL8jXoAAMIo3.png)\n\n![FYxbNv4XEAESLHn.png](FYxbNv4XEAESLHn.png)\n\n![FYxbO8iWQAM84ZG.png](FYxbO8iWQAM84ZG.png)\n\n![FYxbQQGX0AIlDfy.png](FYxbQQGX0AIlDfy.png)\n\n游戏发行商 [Dotemu](https://store.steampowered.com/publisher/Dotemu) 专注于把老游戏现代化，他们的未来发售列表也非常值得关注。",
      "contentRendered" : "<p>这是像素艺术家 Juanito Medina <a href=\"https://twitter.com/juanitomedinart\">@juanitomedinart</a> 在 Twitter 上分享的一些为 <a href=\"https://www.shredders-revenge.com/\">TMNT Shredder's Revenge</a> 做的关卡设计。</p>\n<p>这个具有强烈 CPS 街机时代感觉的游戏已经在各个主要平台上线：</p>\n<ul>\n<li><a href=\"https://store.steampowered.com/app/1361510/Teenage_Mutant_Ninja_Turtles_Shredders_Revenge/\">Steam</a></li>\n<li><a href=\"https://store.playstation.com/en-us/concept/10003986\">PlayStation</a></li>\n<li><a href=\"https://www.nintendo.com/store/products/teenage-mutant-ninja-turtles-shredders-revenge-switch/\">Nintendo Switch</a></li>\n</ul>\n<p><img src=\"FYxbL8jXoAAMIo3.png\" alt=\"FYxbL8jXoAAMIo3.png\" /></p>\n<p><img src=\"FYxbNv4XEAESLHn.png\" alt=\"FYxbNv4XEAESLHn.png\" /></p>\n<p><img src=\"FYxbO8iWQAM84ZG.png\" alt=\"FYxbO8iWQAM84ZG.png\" /></p>\n<p><img src=\"FYxbQQGX0AIlDfy.png\" alt=\"FYxbQQGX0AIlDfy.png\" /></p>\n<p>游戏发行商 <a href=\"https://store.steampowered.com/publisher/Dotemu\">Dotemu</a> 专注于把老游戏现代化，他们的未来发售列表也非常值得关注。</p>\n",
      "created" : 680755318.14721,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : true,
      "heroImage" : "https://zh.gamedb.eth.sucks/0124D422-80B0-4C01-A99B-205ED4EA2F55/_videoThumbnail.png",
      "heroImageFilename" : "_videoThumbnail.png",
      "heroImageHeight" : 720,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/0124D422-80B0-4C01-A99B-205ED4EA2F55/_videoThumbnail.png",
      "heroImageWidth" : 1280,
      "id" : "0124D422-80B0-4C01-A99B-205ED4EA2F55",
      "link" : "/0124D422-80B0-4C01-A99B-205ED4EA2F55/",
      "slug" : "",
      "tags" : {

      },
      "title" : "TMNT Shredder's Revenge 的关卡设计",
      "videoFilename" : "Teenage Mutant Ninja Turtles - Shredder’s Revenge - Gameplay trailer.mp4"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "F-Zero.mp4"
      ],
      "cids" : {
        "F-Zero.mp4" : "QmXeu2FtYRjs4dhaj79tGBG7xFem3iex9K1ueqYXm7QQtE"
      },
      "content" : "SNES 平台我最喜欢的一款赛车游戏。也是 Super Famicom 在日本的两款首发游戏之一，另外一款是 Super Mario World。\n\nF-Zero 使用了一种叫做 Mode 7 的渲染方式，用一张平面图片实现了赛道的 3D 效果。",
      "contentRendered" : "<p>SNES 平台我最喜欢的一款赛车游戏。也是 Super Famicom 在日本的两款首发游戏之一，另外一款是 Super Mario World。</p>\n<p>F-Zero 使用了一种叫做 Mode 7 的渲染方式，用一张平面图片实现了赛道的 3D 效果。</p>\n",
      "created" : 680675606.4124,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : true,
      "heroImage" : "https://zh.gamedb.eth.sucks/E70D9B4B-4C23-4F12-A50E-CF39994602CD/_videoThumbnail.png",
      "heroImageFilename" : "_videoThumbnail.png",
      "heroImageHeight" : 224,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/E70D9B4B-4C23-4F12-A50E-CF39994602CD/_videoThumbnail.png",
      "heroImageWidth" : 261,
      "id" : "E70D9B4B-4C23-4F12-A50E-CF39994602CD",
      "link" : "/E70D9B4B-4C23-4F12-A50E-CF39994602CD/",
      "slug" : "",
      "tags" : {
        "snes" : "SNES"
      },
      "title" : "F-Zero",
      "videoFilename" : "F-Zero.mp4"
    },
    {
      "articleType" : 0,
      "attachments" : [
        "GameDB.png"
      ],
      "cids" : {
        "GameDB.png" : "QmYpPqyAhrPkuinETHKZtpcfgRLssaGYkQnsVEnm31cNgp"
      },
      "content" : "<p align=\"center\"><img src=\"GameDB.png\" style=\"width: 100%; image-rendering: pixelated; display: block;\"></p>\n\n我一直想写一个关于 Retro Gaming 的博客。\n\n现在有了 [Planet](https://planetable.xyz) 之后，这件事情终于有了一个更加舒服的工具来开始。\n\nPlanet 是一个 [local-first](https://www.inkandswitch.com/local-first/) 应用，所有数据都存在本地。通过 IPFS + ENS 的方式发布内容。对于外部的云服务没有必须依赖的关系。有则更快，没有也能用。\n\n文本编辑用的是 Markdown。如果要控制一些更复杂的布局，那么也可以直接写 HTML。同时也可以附加任意类型的附件，包括图片、视频、音频，甚至各种压缩包。\n\n可以使用 Jinja 模版语言制作自己的模版。\n\n流量统计使用的是 [Plausible](https://plausible.io/zh.gamedb.eth.limo)\n\n这个博客的 ENS 域名是 zh.gamedb.eth。在支持 ENS 的浏览器和订阅软件里，比如 [Brave](https://brave.com) 和 [Planet](https://planetable.xyz) 里，可以直接访问。\n\n除此之外，也可以使用这些 Public Gateway 访问：\n\n- [https://zh.gamedb.eth.limo](https://zh.gamedb.eth.limo)\n- [https://ipfs.io/ipns/zh.gamedb.eth](https://ipfs.io/ipns/zh.gamedb.eth)\n- [https://www.cloudflare-ipfs.com/ipns/zh.gamedb.eth](https://www.cloudflare-ipfs.com/ipns/zh.gamedb.eth)",
      "contentRendered" : "<p align=\"center\"><img src=\"GameDB.png\" style=\"width: 100%; image-rendering: pixelated; display: block;\"></p>\n<p>我一直想写一个关于 Retro Gaming 的博客。</p>\n<p>现在有了 <a href=\"https://planetable.xyz\">Planet</a> 之后，这件事情终于有了一个更加舒服的工具来开始。</p>\n<p>Planet 是一个 <a href=\"https://www.inkandswitch.com/local-first/\">local-first</a> 应用，所有数据都存在本地。通过 IPFS + ENS 的方式发布内容。对于外部的云服务没有必须依赖的关系。有则更快，没有也能用。</p>\n<p>文本编辑用的是 Markdown。如果要控制一些更复杂的布局，那么也可以直接写 HTML。同时也可以附加任意类型的附件，包括图片、视频、音频，甚至各种压缩包。</p>\n<p>可以使用 Jinja 模版语言制作自己的模版。</p>\n<p>流量统计使用的是 <a href=\"https://plausible.io/zh.gamedb.eth.limo\">Plausible</a></p>\n<p>这个博客的 ENS 域名是 zh.gamedb.eth。在支持 ENS 的浏览器和订阅软件里，比如 <a href=\"https://brave.com\">Brave</a> 和 <a href=\"https://planetable.xyz\">Planet</a> 里，可以直接访问。</p>\n<p>除此之外，也可以使用这些 Public Gateway 访问：</p>\n<ul>\n<li><a href=\"https://zh.gamedb.eth.limo\">https://zh.gamedb.eth.limo</a></li>\n<li><a href=\"https://ipfs.io/ipns/zh.gamedb.eth\">https://ipfs.io/ipns/zh.gamedb.eth</a></li>\n<li><a href=\"https://www.cloudflare-ipfs.com/ipns/zh.gamedb.eth\">https://www.cloudflare-ipfs.com/ipns/zh.gamedb.eth</a></li>\n</ul>\n",
      "created" : 680667094.779903,
      "externalLink" : "",
      "hasAudio" : false,
      "hasVideo" : false,
      "heroImage" : "https://zh.gamedb.eth.sucks/D9BFBDA5-CE74-47ED-9AC1-F84E8126D4FE/GameDB.png",
      "heroImageFilename" : "GameDB.png",
      "heroImageHeight" : 400,
      "heroImageURL" : "https://zh.gamedb.eth.sucks/D9BFBDA5-CE74-47ED-9AC1-F84E8126D4FE/GameDB.png",
      "heroImageWidth" : 400,
      "id" : "D9BFBDA5-CE74-47ED-9AC1-F84E8126D4FE",
      "link" : "/D9BFBDA5-CE74-47ED-9AC1-F84E8126D4FE/",
      "slug" : "",
      "tags" : {

      },
      "title" : "Hello World"
    }
  ],
  "created" : 680667089.289269,
  "githubUsername" : "Livid",
  "id" : "2FE0DF58-3204-4B83-991F-74DBEBD56DDA",
  "ipns" : "k51qzi5uqu5dgkuk8i1cv5a9no4w6h879dpwpgpf9bt3rxqfd0k5drp3544co6",
  "juiceboxEnabled" : false,
  "mastodonUsername" : "@livid@mastodon.world",
  "name" : "GameDB.eth 中文版",
  "plausibleAPIServer" : "plausible.io",
  "plausibleDomain" : "zh.gamedb.eth.limo",
  "plausibleEnabled" : true,
  "podcastCategories" : {

  },
  "podcastExplicit" : false,
  "podcastLanguage" : "en-us",
  "tags" : {
    "armored-core-6" : "Armored Core 6",
    "boxer" : "Boxer",
    "demake" : "Demake",
    "dos" : "DOS",
    "emulators" : "Emulators",
    "hardware" : "Hardware",
    "minecraft" : "Minecraft",
    "nes" : "NES",
    "powermac-g4" : "PowerMac G4",
    "ps2" : "PS2",
    "retro-gaming" : "Retro Gaming",
    "retroarch" : "RetroArch",
    "snes" : "SNES"
  },
  "telegramUsername" : "OLIVIDA",
  "twitterUsername" : "Livid",
  "updated" : 780633143.995382
}