用这个开源项目在 Linux 上玩复古视频游戏
复古游戏 游戏

> 
> ScummVM 是在现代硬件上玩老式视频游戏的最直接的方法之一。
> 
> 
> 


![](/data/attachment/album/202105/28/061555r14mbzb1g1n545rr.jpg "Gaming artifacts with joystick, GameBoy, paddle")


玩冒险游戏一直是我使用计算机经验的一个重要部分。从最早的基于文本的冒险游戏到 2D 像素艺术、全动态视频和 3D 游戏，冒险游戏类型为我提供了很多美好的回忆。


有时我想重温那些老游戏，但它们很多都是在 Linux 出现之前发布的，那么我如何去重玩这些游戏呢？我使用 [ScummVM](https://www.scummvm.org/)，说实话，这是我最喜欢的开源项目之一。


### 什么是 ScummVM


![ScummVM](/data/attachment/album/202105/28/062031ub4ahsahi7jbasat.png "ScummVM")


ScummVM 是一个设计用来在现代硬件上玩老式冒险游戏的程序。ScummVM 最初是为了运行使用<ruby> 卢卡斯艺术 <rt>  LucasArt </rt></ruby>的<ruby> 疯狂豪宅脚本创作工具 <rt>  Script Creation Utility for Maniac Mansion </rt></ruby>（SCUMM）开发的游戏，现在支持许多不同的游戏引擎。它可以支持几乎所有经典的<ruby> 雪乐山娱乐 <rt>  Sierra On-Line </rt></ruby>和卢卡斯艺术的冒险游戏，以及其他发行商的大量冒险游戏。ScummVM 并不支持所有的冒险游戏（目前），但它可以用来玩数百种冒险游戏。ScummVM 可用于多个平台，包括 Windows、macOS、Linux、Android、iOS 和一些游戏机。


### 为什么使用 ScummVM


有很多方法可以在现代硬件上玩老游戏，但它们往往比使用 ScummVM 更复杂。[DOSBox](https://www.dosbox.com/) 可以用来玩 DOS 游戏，但它需要调整设置，使其以正确的速度进行游戏。Windows 游戏可以用 [WINE](https://www.winehq.org/) 来玩，但这需要游戏及其安装程序都与 WINE 兼容。


即使游戏可以在 WINE 下运行，一些游戏仍然不能在现代硬件上很好地运行，因为硬件的速度太快了。这方面的一个例子是《<ruby> 国王密使 6 <rt>  King's Quest VI </rt></ruby>》中的一个谜题，它涉及将点燃的鞭炮带到某个地方。在现代硬件上，鞭炮爆炸的速度太快了，这使得在角色不死很多次的情况下不可能到达正确的位置。


ScummVM 消除了其他玩复古冒险游戏的方法中存在的许多问题。如果是 ScummVM 支持的游戏，那么它的配置和玩都很简单。在大多数情况下，将游戏文件从原始游戏光盘复制到一个目录，并在 ScummVM 中添加该目录，就可以玩该游戏了。对于多张光盘上的游戏，可能需要重命名一些文件以避免文件名冲突。需要哪些数据文件的说明以及任何重命名的说明都记录在 [每个支持的游戏](https://wiki.scummvm.org/index.php?title=Category:Supported_Games) 的 ScummVM 维基页面上。


ScummVM 的一个奇妙之处在于，每一个新版本都会增加对更多游戏的支持。ScummVM 2.2.0 增加了对十几种互动小说解释器的支持，这意味着 ScummVM 现在可以玩数百种基于文本的冒险游戏。ScummVM 的开发分支应该很快就会变成 2.3.0 版本，它整合了 [ResidualVM](https://www.residualvm.org/) 对 3D 冒险游戏的支持，所以现在 ScummVM 可以用来玩《<ruby> 冥界狂想曲 <rt>  Grim Fandango </rt></ruby>》、《神秘岛 3：放逐者Myst III: Exile》和《<ruby> 最长的旅程 <rt>  The Longest Journey </rt></ruby>》。其开发分支最近还增加了对使用 [Adventure Game Studio](https://www.adventuregamestudio.co.uk/) 创建的游戏的支持，这为 ScummVM 增加了成百上千的游戏。


### 如何安装 ScummVM


如果你想从你的 Linux 发行版的仓库中安装 ScummVM，过程非常简单。你只需要运行一个命令。然而，你的发行版可能会提供一个旧版本的 ScummVM，它不像最新版本那样支持许多游戏，所以要记住这一点。


在 Debian/Ubuntu 上安装 ScummVM：



```
sudo apt install scummvm

```

在 Fedora 上安装 ScummVM：



```
sudo dnf install scummvm

```

#### 使用 Flatpak 或 Snap 安装 ScummVM


ScummVM 也可以以 Flatpak 和 Snap 的形式提供。如果你使用这些方式之一，你可以使用以下命令来安装相关的版本，它应该总是 ScummVM 的最新版本。



```
flatpak install flathub org.scummvm.ScummVM

```

或



```
snap install scummvm

```

#### 编译 ScummVM 的开发分支


如果你想尝试 ScummVM 尚未稳定的开发分支中的最新和主要的功能，你可以通过编译 ScummVM 的源代码来实现。请注意，开发分支是不断变化的，所以事情可能不总是正确的。如果你仍有兴趣尝试开发分支，请按照下面的说明进行。


首先，你需要为你的发行版准备必要的开发工具和库，这些工具和库在 ScummVM 维基上的 [编译 ScummVM/GCC](https://wiki.scummvm.org/index.php/Compiling_ScummVM/GCC) 页面列出。


一旦你安装了先决条件，运行以下命令：



```
git clone <https://github.com/scummvm/scummvm.git>
cd scummvm
./configure
make
sudo make install

```

### 向 ScummVM 添加游戏


将游戏添加到 ScummVM 是你在游戏前需要做的最后一件事。如果你的收藏集中没有任何支持的冒险游戏，你可以从 [ScummVM 游戏](https://www.scummvm.org/games/) 页面下载 11 个精彩的游戏。你还可以从 [GOG.com](https://www.gog.com/) 购买许多 ScummVM 支持的游戏。如果你从 [GOG.com](http://GOG.com) 购买了游戏，并需要从 GOG 下载中提取游戏文件，你可以使用 [innoextract](https://constexpr.org/innoextract/) 工具。


大多数游戏需要放在自己的目录中（唯一的例外是由单个数据文件组成的游戏），所以最好先创建一个目录来存储你的 ScummVM 游戏。你可以使用命令行或图形化文件管理器来完成这个工作。在哪里存储游戏并不重要（除了 ScummVM Flatpak，它是一个沙盒，要求游戏存储在 `~/Documents` 目录中）。创建这个目录后，将每个游戏的数据文件放在各自的子目录中。


一旦文件被复制到你想要的地方，运行 ScummVM，并通过点击“Add Game…”将游戏添加到收藏集中，在打开的文件选择器对话框中选择适当的目录，并点击“Choose”。如果 ScummVM 正确检测到游戏，它将打开其设置选项。如果你想的话，你可以从各个标签中选择高级配置选项（也可以在以后通过使用“Edit Game…”按钮进行更改），或者你可以直接点击“OK”，以默认选项添加游戏。如果没有检测到游戏，请查看 ScummVM 维基上的 [支持的游戏](https://wiki.scummvm.org/index.php/Category:Supported_Games) 页面，以了解特定游戏的数据文件可能需要的特殊说明的细节。


现在唯一要做的就是在 ScummVM 的游戏列表中选择游戏，点击“Start”，享受重温旧爱或首次体验经典冒险游戏的乐趣。




---


via: <https://opensource.com/article/21/4/scummvm-retro-gaming>


作者：[Joshua Allen Holm](https://opensource.com/users/holmja) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
Playing adventure games has always been a big part of my experience with computers. From the earliest text-based adventure games to 2D pixel art, full-motion video, and 3D games, the adventure game genre has provided me with a lot of fond memories.

Sometimes I want to revisit those old games, but many were released before Linux was even a thing, so how do I go about replaying those games? I use [ScummVM](https://www.scummvm.org/), which is honestly one of my favorite open source projects.

## What is ScummVM

![ScummVM ScummVM](https://opensource.com/sites/default/files/uploads/scummvm.png)

(Joshua Allen Holm, CC BY-SA 4.0)

ScummVM is a program designed to play old adventure games on modern hardware. Originally designed to run games developed using LucasArt's Script Creation Utility for Maniac Mansion (SCUMM), ScummVM now supports many different game engines. It can play almost all of the classic Sierra On-Line and LucasArts adventure games as well as a wide selection of adventure games from other publishers. ScummVM does not support *every* adventure game (yet), but it can be used to play hundreds of them. ScummVM is available for multiple platforms, including Windows, macOS, Linux, Android, iOS, and several game consoles.

## Why use ScummVM


There are plenty of ways to play old games on modern hardware, but they tend to be more complicated than using ScummVM. [DOSBox](https://www.dosbox.com/) can be used to play DOS games, but it requires tweaking to get the settings right so that the game plays at the right speed. Windows games can be played using [WINE](https://www.winehq.org/), but that requires both the game and the game's installer to be compatible with WINE.

Even if a game runs under WINE, some games still do not work well on modern hardware because the hardware is too fast. One example of this is a puzzle in King's Quest VII that involves taking a lit firecracker somewhere. On modern hardware, the firecracker explodes way too quickly, which makes it impossible to get to the right location without the character dying multiple times.

ScummVM eliminates many of the problems present in other methods for playing retro adventure games. If ScummVM supports a game, it is straightforward to configure and play. In most cases, copying the game files from the original game discs to a directory and adding that directory in ScummVM is all that is needed to play the game. For games that came on multiple discs, it might be necessary to rename some files to avoid file name conflicts. The instructions for what data files are needed and any renaming instructions are documented on the ScummVM Wiki page for [each supported game](https://wiki.scummvm.org/index.php?title=Category:Supported_Games).

One of the wonderful things about ScummVM is how each new release adds support for more games. ScummVM 2.2.0 added support for a dozen interactive fiction interpreters, which means ScummVM can now play hundreds of text-based adventure games. The development branch of ScummVM, which should become version 2.3.0 soon, integrates [ResidualVM](https://www.residualvm.org/)'s support for 3D adventure games, so now ScummVM can be used to play Grim Fandango, Myst III: Exile, and The Longest Journey. The development branch also recently added support for games created using [Adventure Game Studio](https://www.adventuregamestudio.co.uk/), which adds hundreds, possibly thousands, of games to ScummVM's repertoire.

## How to install ScummVM

If you want to install ScummVM from your Linux distribution's repositories, the process is very simple. You just need to run one command. However, your distribution might offer an older release of ScummVM that does not support as many games as the latest release, so do keep that in mind.

**Install ScummVM on Debian/Ubuntu:**

`sudo apt install scummvm`


**Install ScummVM on Fedora:**

`sudo dnf install scummvm`


### Install ScummVM using Flatpak or Snap

ScummVM is also available as a Flatpak and as a Snap. If you use one of those options, you can use one of the following commands to install the relevant version, which should always be the latest release of ScummVM:

`flatpak install flathub org.scummvm.ScummVM`


or

`snap install scummvm`


### Compile the development branch of ScummVM

If you want to try the latest and greatest features in the not-yet-stable development branch of ScummVM, you can do so by compiling ScummVM from the source code. Do note that the development branch is constantly changing, so things might not always work correctly. If you are still interested in trying out the development branch, follow the instructions below.

To start, you will need the required development tools and libraries for your distribution, which are listed on the [Compiling ScummVM/GCC page](https://wiki.scummvm.org/index.php/Compiling_ScummVM/GCC) on the ScummVM Wiki.

Once you have the prerequisites installed, run the following commands:

```
git clone https://github.com/scummvm/scummvm.git
cd scummvm
./configure
make
sudo make install
```


## Add games to ScummVM

Adding games to ScummVM is the last thing you need to do before playing. If you do not have any supported adventure games in your collection, you can download 11 wonderful games from the [ScummVM Games page](https://www.scummvm.org/games/). You can also purchase many of the games supported by ScummVM from [GOG.com](https://www.gog.com/). If you purchase a game from GOG.com and need to extract the game files from the GOG download, you can use the [innoextract](https://constexpr.org/innoextract/) utility.

Most games need to be in their own directory (the only exceptions to this are games that consist of a single data file), so it is best to begin by creating a directory to store your ScummVM games. You can do this using the command line or a graphical file manager. Where you store your games does not matter (except in the case of the ScummVM Flatpak, which is a sandbox and requires the games to be stored in the `~/Documents`

directory). After creating this directory, place the data files for each game in their own subdirectories.

Once the files are copied to where you want them, run ScummVM and add the game to the collection by clicking **Add Game…**, selecting the appropriate directory in the file-picker dialog box that opens, and clicking **Choose**. If ScummVM properly detects the game, it will open its settings options. You can select advanced configuration options from the various tabs if you want (which can also be changed later by using the **Edit Game…** button), or you can just click **OK** to add the game with the default options. If the game is not detected, check the [Supported Games pages](https://wiki.scummvm.org/index.php/Category:Supported_Games) on the ScummVM Wiki for details about special instructions that might be needed for a particular game's data files.

The only thing left to do now is select the game in ScummVM's list of games, click on **Start**, and enjoy replaying an old favorite or experiencing a classic adventure game for the first time.

## Comments are closed.