直接看翻译部分,请点此跳转

前言

Rogue is a computer fantasy game with a new twist. It is crt oriented and the object of the game is to survive the attacks of various monsters and get a lot of gold, rather than the puzzle solving orientation of most computer fantasy games.

—— man page of Rogue

为什么有这篇翻译?

我很喜欢roguelike游戏,因此决定玩玩Rogue,也就是所有roguelike的鼻祖,纯度最高的roguelike。然而真正启动Rogue之后我发现没有文档完全不知如何上手。因此决定翻译。

Rogue的出现

上世纪70年代末,C语言刚刚出现,电子游戏尚是新鲜事物。那时的游戏只能运行在笨重的大型机上,微型机的出现要等到1981年。

在这样的背景下,1977年前后,William Crowther和Don Woods在PDP-10大型机上开发了《洞穴冒险》〔Colossal Cave Adventure〕,一个纯文字冒险游戏。这一游戏启发了当时正在UCSC学习的Toy,而此人不久后结交了在UCSC学习游戏设计、准备成为桌游设计师的Wichman。Wichman十分喜欢《地牢&恶龙》〔Dungeons & Dragon〕这款桌游。两人苦于当时的冒险游戏可重玩性太弱,决定自己开发一款游戏,而前面提到的两款游戏为Rogue提供了灵感。

1980年,UC Berkeley开发的BSD Unix在UC校园中普及开来,其中附带了Arnold开发的著名的curses库,使得在命令行显示图形化的界面成为可能(其实就是通过各种字符来拼凑出“图形界面”)。

各方面条件都已成熟,于是1980年,Rogue出现了,并且风靡一时。Rogue留下的游戏体裁更是经久不衰,形成了现在所谓的roguelike游戏,比如《以撒的重生》。

现在如何玩到「初版」Rogue

显然不可能回到大型机玩Rogue,现在能玩到的Rogue严格上说都不是「初版」。

如果是在Arch Linux上,软件仓库中就有Rogue,一条命令即可安装。

pacman -S rogue

一条命令即可执行。

rogue

如果在Windows下就有点麻烦了,也许需要先装个Dosbox,然后运行DOS移植版的Rogue。或者也可以运行其他的复刻版。

各种版本的Rogue可以在The Roguelike Archive找到。

关于翻译的说明

本人不是专业译者,难免有翻译不妥的地方,如有疏漏,恳请指正。

翻译的原文来自FreeBSD的文档。大家点开就会发现,原文颇有论文的感觉,从摘要到致谢一应俱全。

翻译中如出现引用框,则代表注脚。「——译者注」表示译者的吐槽。

翻译的内容遵循知识共享署名-相同方式共享许可协议(CC BY-SA 3.0)授权。


地牢探险指南

Michael C. Toy

Kenneth C. R. C. Arnold。

Computer Systems Research Group

Department of Electrical Engineering and Computer Science

University of California

Berkeley, California 94720

摘要Rogue是一个基于CRT显示器的可视奇幻游戏,运行于UNIX分时系统上。本文阐述rogue的玩法,为可能迷失在毁灭地牢中的冒险者提供些许提示。

简介

你是一个学徒,刚刚从本地的勇者名下毕业。经过艰苦卓绝的训练,你完成了所有练习,终于能够开始一场艰险的冒险之旅。作为对你的试炼,冒险者公会派你去「毁灭之地牢」。此行的任务,是从地牢中取出「焉得护符」〔Amulte of Yendor〕并归来。完成任务的奖励是公会的正式会员身份,另外还有你拿回的所有战利品。

作为冒险的准备,公会给予你一支附魔法杖,一把弓和一袋箭。这些武器皆来自遥远的黑暗山脉,曾是那里恶龙的私藏。另外,你还穿着精灵打造的盔甲,并且带上了足以支撑你到达地牢入口的干粮。准备万全,只差一场告别。你向你的亲友告别(也许是永别),然后也不回地踏上冒险之路。

启程之后,你度过了平平无奇的数日,最后来到古代废墟,也就是「毁灭之地牢」的入口的所在地。此时已及深夜,你于是在洞口露营。拂晓,你清点武器,穿上盔甲,吃掉所剩无几的食物,只身进入空无一人的黑暗地牢。

「焉得护符」〔Amulte of Yendor〕,命名中的「焉得」〔Yendor〕来自「Rodney」一词的反拼。根据reddit的说法,「得焉」〔Rodney〕似乎是Rogue的原名。——译者注

发生了什么?

你刚刚启动了rogue。你的目标是尽可能多拿财宝,找到「焉得护符」,然后活着出来。屏幕上显示了你的位置和你到过的房间,还有你当前所在的层数。

Rogue和多数奇幻类电子游戏不同,命令的输入只需一两次击键,且执行结果图形化地显示在屏幕上,而非只是用文字说明。另外一个比较显著的区别点在于,一般的游戏通关之后就不再有趣,但Rogue可以反复通关,每次都不同。即便作者们也依然觉得乐趣无穷。

屏幕上显示的是什么?

想要畅玩Rogue,首先需了解显示方式。Rogue的屏显内容替代了传统的「你可以看到……」的文字说明。下面是一个游戏截图样例。

                          ------------
                          |..........+
                          |..@....]..|
                          |....B.....|
                          |..........|
                          -----+------
Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0

游玩游戏需要至少24行×80列的显示屏。如果显示屏更大,那么只会使用24行×80列来显示地图。

底栏

底栏显示了一些关于现状的信息。

信息 意义
Level 此数字代表你向下走了几层,从1开始计数,随深入地牢而提高
Gold 当前金币数
Hp 当前生命值和最大生命值。休息可以回复之。
Str 当前力量和历史最大力量。数字越大越大越强,最大99。
Arm 当前护甲值。越大则护甲越有效。
Exp 当前经验等级和经验点数。经验越高法术攻击力和法术抗性越高。

顶栏

顶栏用于显示图形无法说明的信息。看见--More--时,按<空格>可以继续阅读。

屏幕主体

主体部分显示已经探索的本层地图。每个符号都有其含义。

符号 意义
@ 玩家
-\|
+
. 地板
# 通道
*
) 武器
] 护甲
! 魔药
? 纸,通常是魔法卷轴
= 戒指
/ 法杖
^ 陷阱
% 阶梯,通往下一层
: 食物
A-Z 大写字母代表敌对生物

命令

命令通常为一两个字符,多数命令都可以通过在前面输入数字的方式执行多次(比如输入10s代表执行10次s命令,也就是10次搜查)。少数命令次数没有意义,输入的次数将被忽略。按<Esc>可以取消数字在内的所有“前缀命令”。按?可以查看命令列表。

命令 说明
? 帮助。用于询问命令的用法。输入*列出所有命令。
/ 「屏幕上显示的是什么?」指令。用于询问某个显示符的意义。
hH^H 左移。大写表示左移直到遇见某物。^H(即<Ctrl>+<H>)表示左移直到墙。其他移动命令以此类推。
j 下移
k 上移
l 右移
y 左上移
u 右上移
b 左下移
n 右下移
t 抛出指令。前缀指令,后接移动指令代表抛出方向。
f 战斗直到一方死亡。前缀指令,后接移动指令代表攻击方向。
m 不拾取。前缀指令,后接移动指令。
z 施法。前缀指令,后接移动指令代表施法方向。
^ 辨别陷阱。前缀指令,后接移动指令代表方向。
s 搜查陷阱和隐藏门。检查和你邻接的每一格。
> 进入下一层。仅站在台阶上时有效。
< 回到上一层。仅取得「焉得护符」且站在台阶上时有效。
. 什么也不做,休息。
, 拾取。
i 物品清单。列出背包中的所有物品。
I 可选物品清单。解释背包中某个物品的作用。
q 饮用〔quaff〕魔药
r 阅读卷轴
e 进食
w 装备武器。从背包中选取武器替换当前武器。
W 穿上盔甲
T 卸下盔甲
P 戴上戒指
R 摘下戒指
d 丢弃物品。从背包中选取物品放到地上。
c 命名。魔药和卷轴默认以性状或标题命名,使用之后会才能知道其作用。但是在使用前可以为其命名,便于你区分。
o 检查游戏设置。将在后文详细说明。
<Esc> 取消
Q 退出
S 存档
v 显示版本号
) 显示当前武器
] 显示当前护甲
= 显示当前戒指

房间

房间在你进入后将被点亮。离开房间后,里面所有的怪物将不再显示。在黑暗的走廊中只能看见周身一格。

战斗

尝试走进怪物即为攻击。怪物有时不会主动进攻,但请保持谨慎。

物品

走进物品即为获取,若背包已满,程序会告诉你无法拾取。

许多前缀命令会提示你选取物品,如果你改变主意,可以按<Esc>取消命令。

一些物品,如武器、护甲,易于区分;而另一些物品,如魔药,卷轴等,难以从外观区分,需要为他们贴上标签。每次游戏时,相同的标签总是代表同类物品。当然,默认标签是随机生成的,且每次游戏都不同。

在你使用了带标签的物品后,标签会根据其作用发生更改。你也可以手动重命名,便于之后记住。

武器

一部分武器一次可以获取一批,比如箭,而且无需装备;另一部分武器一次只能获取一个,比如弓。后者在使用前需先装备。要射箭,则需要先装备弓。若当前武器是被诅咒过的,那么不能替换。相关命令有wt

护甲

地牢中的护甲有若干种类,有一些是附魔过的,还有一些是诅咒过的,当然还有普通的。不同的护甲有不同的护甲值。护甲值越高,护甲抵御攻击的效果越好。下面是普通护甲的护甲值列表。

类型 护甲值
0
皮革甲〔Leather armor〕 2
带钉皮甲〔Studded leather〕/锁甲〔Ring mail〕 3
鳞甲〔Scale mail〕 4
链甲〔Chain mail〕 5
带甲〔Banded mail〕/板甲〔Splint mail〕 6
铠甲〔Plate mail〕 7

附魔后的护甲值将高于普通护甲,诅咒后的则反之。收到诅咒的护甲不能脱下。但是并非所有抵御正常护甲值的护甲都是被诅咒过的。

相关命令有WT

卷轴

标题用未知语言写就。阅读之后卷轴将消失。使用r阅读。

实际上标题使用的是外蒙一个仅有27人的部落的方言。(当然你不该知道这些)

魔药

初始标签标明瓶中液体的性状(比如颜色)。饮用后消失。使用q饮用。

原文此处有笔误,误将potion写作scroll。——译者注

法器

法器按照其材料进行区分。施法(远程法术攻击)的工具。一般使用前需要指定方向。法器使用前带有一定的法力,法力耗尽之后就会变成普通的木头或者铁棒。使用z施法。

戒指

戒指相当有用,法力能常驻其中。有害的指环通常有更强的法力。多数指环会导致你需要更频繁地进食,这取决于指环的类型。相关命令PR

食物

前行的必需品。太久不进食会导致虚弱和晕眩,甚至可能会饿死。

游戏设置

调整游戏选项有两种方法:

  1. 使用o命令

  2. 设置ROGUEOPTS环境变量,由逗号分隔的选项组成,比如

% setenv ROGUEOPTS "jump,nopassgo,name=Blue Meanie"

sh用户应这样设置环境变量:

$ ROGUEOPTS="jump,nopassgo,name=Blue Meanie"
$ export ROGUEOPTS

Version 6系统上没有和ROGUEOPTS等价的功能。

选项列表如下。

选项 说明
jump[nojump] 直到移动结束后才刷新界面,节省CPU资源
passgo[nopassgo] 自动走到通道另一头,如果通道中有岔路,则会停下。
skull[skull] 在游戏结束时显示墓碑
name[account name] 主角的名字
fruit[slime-mold] 水果命名列表
file[~/rogue.save] 默认存档位置

计分

Rogue会记录一个得分榜。当你退出时,会带出所有的金币进入下一次游戏。死亡时,则只能带出90%的金币,余下的10%交给地牢巫师作为费用。所以,如果生命值不足,战斗前请三思。

如果你想看本机的排行榜,却不想进入游戏,可以使用-s命令行选项。

% rogue -s

地牢巫师名为瓦里·“奇迹”·拜格〔Wally the Wonder Badger〕,要向他捐赠不少钱他才会现身。

致谢

Rogue最初由Glenn Wichman和Michael Toy构想。Ken Arnold和Michael Toy优化了界面,添加了大量功能。同时感谢Bob Arnold, Michelle Busch, Andy Hatcher, Kipp Hickman, Mark Horton, Daniel Jensen, Bill Joy, Joe Kalash, Steve Maurer, Marty McNary, Jan Miller, and Scott Nelson的点子和帮助,还要感谢大量忽略了工作、学习、生活在玩rogue的人向我们报告bug、抱怨、建议。当然还要感谢母亲。

公有领域版本的rogue由Timothy Stoehr编写,和Berkeley UNIX一同发行。