三国志曹操传
《三国志曹操传》是日本光荣游戏公司《三国志英杰传》三部曲的最后一部,也是我心中的战棋游戏的巅峰之作。《三国志曹操传》应该是在 1999 年我小学二三年级那会正式发售,直到今天,过去了二十多年,我依然会时不时的打开这个游戏回味一下。如果要对我所有曾经玩过的游戏进行一下排名的话,《三国志曹操传》毫无疑问是第一名。
在这二十年多年里,《三国志曹操传》经典本身并没有被人忘记,而它的粉丝们也在《三国志曹操传》的基础之上制作了各种 MOD,比如《岳飞传》等等。这几年,技术宅们甚至为《三国志曹操传》制作了新的游戏引擎,并以此来适配新的操作系统和满足更高的 MOD 的需求,更大一批的优秀 MOD 也是基于新的引擎制作的,比如《圣三国英杰传》,《三国志曹操传豪华版》,《三国志姜维传》等等。
2015 年,当我听说《三国志曹操传》重制的企划的时候,内心激动不已。然而最终发布的时候《三国志曹操传》重制版变成了一个网络版游戏《三国志曹操传 Online》,手机和电脑互通。虽然是光荣的官方 IP,但是是光荣授权给韩国的某个手游公司开发的。我那时候记得花了不少钱买了游戏,进入游戏后发现,虽然单机的关卡得到了保留,分辨率也最高支持到了 4K,但是游戏人物和画面的风格已经不是当年的感觉了,我感到十分的失望。好像就在前年,《三国志曹操传 Online》宣布关服,并从 Steam 下架,结束了它短暂的寿命。和其他绝大多数重制游戏一样,《三国志曹操传 Online》也没有逃脱重制版令玩家失望的结局。于是《三国志曹操传》的玩家又回归到了原版及其 MOD 游戏中来。另外岔开话题说一下,重制版得到玩家认可的游戏,基本都是只改游戏分辨率和更新引擎不改其他的。比如说《星际争霸重制版》,《魔兽世界怀旧服》等等。但凡重制版开发者多开点脑洞多碰点东西,基本都没有好下场,《魔兽争霸重制版》就是个非常好的例子。
前阵子突发奇想,想在 Linux 操作系统上玩《三国志曹操传》,而且我作为容器化狂人,想把《三国志曹操传》也给容器化。在网上查了查,虽然没有人曾经做过《三国志曹操传》的容器化,但是的确是有人用 Wine 在 Linux 上运行《三国志曹操传》的。不过多少还是有点问题,比如说游戏窗口因为游戏分辨率低在高分辨率显示器中太小,人物属性数值无法正常显示,等等。
于是我琢磨了一下,制作了一个含有 Wine,中文字体,及窗口缩放工具的 Docker 镜像。在下载并解压《三国志曹操传》游戏后(曹操传贴吧有很多原版游戏及 MOD 的下载链接),挂载到 Docker 容器内的/mnt
目录,运行容器。容器里装的是 Wine 7.11 staging 版本。我经过实际测试,发现 Wine 7.0 stable 版本依然会让《三国志曹操传》有人物属性数值无法正常显示的问题,而使用 Wine 7.11 staging 恰恰解决了这个问题。
1 | $ xhost + |
进入容器后,首先设置 Wine。
1 | $ WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg |
这里需要注意的是,我们需要用 win32 的架构来设置 Wine。另外,我们会使用虚拟桌面。不然的话,游戏窗口会小一截,影响游戏体验。
设置完后,我们可以用 Wine 启动《三国志曹操传》。
1 | $ cd /mnt |
但是在我的电脑中,这样做有个问题就是,我的显示是 4K 显示器,《三国志曹操传》的游戏窗口还是过小,游戏内的人物和字都看着比较小,影响游戏体验(2K 及以下分辨率显示器的朋友可能不会有这个问题)。因此,我就必须使用窗口缩放。
用下面的命令可以将《三国志曹操传》缩放到原来的 1.5 倍。修改scale
还可以缩放窗口到不同的倍数。缩放因为 interpolation 会用到大量计算,如果没有 GPU 且 CPU 不强力的话,会有卡顿感。所以建议使用 GPU 用于缩放。
1 | $ cd /mnt |
接下来就可以尽情体验在 Linux 下用 Docker 容器玩《三国志曹操传》了!也不用担心病毒或者把电脑的设置搞乱,反正都是在 Docker 容器里。
当你再次听到这个旋律,是否心潮澎湃?