NetHack/入门
本视觉教程将向您介绍NetHack。本章描述了入门按键和地牢探索。更高级的战斗将在战斗中进行。
NetHack 刚开始可能很难玩,因为
- 需要学习很多按键
- 图形使用 ASCII 字符绘制
- 各种类型的物品都很陌生
NetHack 通过在 x11 和 Microsoft Windows 等环境中提供图形用户界面来简化这一过程。本教程将改为描述tty(终端)端口。此端口仅使用 ASCII 字符,并在终端上运行,例如 Unix 或 DOS 控制台或 telnet 客户端。通过学习“tty”端口,可以在公共 telnet 服务器(如nethack.alt.org)上玩游戏。您还将开始识别每个怪物的 ASCII 字母(这对阅读达德利的地牢网络漫画很有用)。
本教程将介绍“tty”玩家的控制,作为一个示例玩家探索地牢的前两层。
配置 NetHack
[edit | edit source]下面截图中使用的配置是
OPTIONS=!autopickup,autodig OPTIONS=color,hilite_pet,lit_corridor,DECgraphics,boulder:8 OPTIONS=showexp,showscore,time,msg_window:f OPTIONS=fruit:salad,catname:Morris,dogname:Fido OPTIONS=race:elf,disclose:+i+a+v+g+c
尤其是,请注意“color”和“DECgraphics”的使用,它们可以增强图形。巨石将显示为8,这比`(巨石的默认显示方式)更容易识别。
这些选项存储在您的 Unix 计算机上的 ~/.nethackrc 文件中,或者存储在您的 Windows 计算机上的 defaults.nh 文件中。有关更多信息,请参见Nethack 手册页。
启动 NetHack
[edit | edit source]启动 NetHack 时,会发生以下两种情况之一
- 保存的游戏会自动加载,或者
- 系统会提示您创建新角色
这是一个新游戏。默认情况下,提示会让您选择种族、职业和性别。示例配置使用“race:elf”,因此默认种族为精灵
按[y]让游戏随机选择,或按[n]使用菜单选择。(按[q]退出 NetHack。)选择角色后,游戏会介绍剧情
游戏现在会在--More--提示符处停止。此提示符让玩家有时间阅读一些文字,然后 NetHack 才会决定显示更多文字或返回地图。当您看到此提示符时,阅读(或跳过)文字,然后按空格键继续。
从剧情介绍继续后,游戏会首次显示地图。这是地牢第 1 层的地图
此屏幕有一些需要注意的地方
- 在 NetHack 中,您和其他角色实际上就是字符。带光标的@就是您,玩家。
- 大部分屏幕都是空白的。玩家尚未探索此地牢层的大部分区域。
- 一个房间可见。我们可以看到整个房间,因为它是用点.照亮的,显示了整个房间。(此地牢包含许多被照亮的矩形房间!)
- 因为我们启用了“DECgraphics”,墙壁看起来像一个方框,而不是连字符-和管道|。墙上包含关闭的门+和没有门的门道.。我们无法看到门道后面的情况,因为它没有被照亮。
- 如果您开始自己的游戏,房间看起来会有所不同。这是因为 NetHack 每次都会随机生成地牢。示例中的房间不包含物品,但玩家东边有一个喷泉{。
四处移动
[edit | edit source]y | k | u |
h | l | |
b | j | n |
学习八个移动按键,以便我们能够移动@四处探索地牢。这些按键包括四个用于移动四个方向(上、下、左、右)的“vi”键,以及四个用于对角线移动的“对角线”键。
vi 键
[edit | edit source]四个 vi 键是[h]、[j]、[k]、[l]。这些按键源于“vi”编辑器。这段文字来自学习 vi:基本任务。
我们可以使用[h]、[j]、[k]和[l]按键在地牢中移动我们的 NetHack@角色。注意:您的方向键可能被设置为可以工作(尤其是在 DOS 上),如果您愿意可以使用它们,但为了熟练掌握,您应该学习使用字母键。许多 NetHack 版本,尤其是在 Unix 上,没有正常工作的方向键。
- [h]键向左移动。
- [j]键向下移动。
- [k]键向上移动。
- [l]键向右移动。
如果您记不住这些,请记住[h]是最左边的,字母[j]在行下方,字母[k]在行上方,[l]键是最右边的。(如果您眯着眼睛看,J 也像一个指向下方的箭头。)
对角线键
[edit | edit source]四个对角线键是[y]、[u]、[b]、[n]。这些按键不是来自 vi 的。看看它们在键盘上的位置,看看它们是如何工作的。左上角的键“y”向上和向左移动,依此类推。
新手玩家可能更喜欢只使用 vi 键。在与怪物战斗和在对角线路径上快速移动时,对角线键是必需的。
数字键盘
[edit | edit source]如果启用了“number_pad”选项,可以使用数字键盘进行移动。
探索地牢路径
[edit | edit source]继续示例游戏,玩家开始在房间里四处移动并遇到一扇门。
要打开门,按下o键输入打开命令。在提示符出现后,
In which direction?
因为这扇门在左边,按下h键输入左键打开门。
玩家现在使用h、y和k键沿着路径移动。玩家遇到了一些岔路口,但继续向西北方向移动。
在上面走廊的黑暗中,玩家只能向前看到一个方格,但玩家会记住所有发现的走廊和房间的位置。
玩家发现了一个第二间房间。请记住,每个地牢都是随机生成的,所以当你玩NetHack时,你不会在同一个地方找到这个房间。在示例玩家进入房间后,宠物狗也跟着玩家进入房间。
玩家打开另一扇门,一个第三个亮着灯的房间映入眼帘。进入房间后,玩家发现了一个!药水,这是这个玩家找到的第一件物品。
由于地牢是随机的,物品也是随机放置的。如果你幸运的话,你就可以在地牢的早期找到好的物品。
首先,我们只知道这里有一个药水。(因为“颜色”选项开启,药水看起来是红色的。)玩家可以通过走到药水的方格来发现它是什么物品。
在本例中,我们发现一个方格上有两个物品。
玩家按下[空格键]来关闭--更多--提示,然后拾取物品。要从地牢地板上拾取物品,请按下[,](逗号)。逗号看起来像是指向地面的。 (如果“自动拾取”选项开启,则玩家会直接拾取物品,无需按下逗号。)
通常,按下逗号会拾取物品。在本例中,NetHack希望知道是拾取一个物品还是两个物品。它会弹出一个菜单。
这是一个典型的菜单。我们可以在键盘上按下[a]或[b]键来选择菜单项。虽然有些菜单在选择一项后会消失,但这个菜单允许选择多项。因此,玩家再次按下[空格键]来关闭菜单。
关闭菜单后,我们拾取物品。
我们将药水和钱都加入了“背包”。背包(可以通过按下[i]键查看)是玩家携带的所有物品的列表。10枚金币被加入了“钱包”。注意底部行中的“$:10”;它显示了玩家拥有多少钱。文本“g - a puce potion”表示该药水放置在背包字母“g”处。当我们要使用或丢弃物品时,我们的药水将在NetHack菜单中以“g”显示。
一个“puce药水”有什么作用?这个玩家不知道。按下[q](喝下命令)然后按下[g](背包字母)来喝下我们的药水,可能会告诉我们答案,但这个玩家选择保留药水。
接下来,玩家遇到了一扇上锁的门。很明显,只尝试打开门是行不通的。
游戏文档中提到了踢门命令^D,这意味着按住[Ctrl]键并按下[D]键。“D”代表门。这是否意味着我们可以踢门?
所以玩家按下^D键,然后按下[l]键来踢右边的门。砰!!!玩家一次又一次地踢门,最终成功了。
当需要穿过上锁的门才能继续探索地牢时,请记住使用^D命令来破坏门。(如果你使用的是“数字键盘”选项,你也可以使用k键来踢门。将来,你可能会学习到处理上锁门的其他方法。)
使用[l]、[n]和[j]键,玩家探索路径,但它结束了。玩家反复按下[s]键(搜索命令)以寻找继续前进的路径,但没有找到。所以玩家转身向上移动。
在某一点上,宠物狗菲多挡住了去路。消息“你把菲多挪开了。”意味着当你试图移动到宠物的方格时,宠物躲开了。
有时你可以在NetHack中听到“声音”。这并不涉及你的电脑扬声器;这只是一个玩家听到了一些东西的信息。
这条路径也结束了。玩家反复按下[s]键进行搜索。(警告:不要在NetHack中按住[s]键或任何键。在怪物攻击并杀死你的角色之前,你可能无法松开它。)我们找到了一扇门。
使用[o](打开命令)[h](左方向),玩家打开了门。一开始它很沉,但最终打开了。
虽然在本例中,没有必要打开这扇门,但请记住,当找不到其他路径继续前进时,可以使用[s]键寻找这类门。
巨石的外观取决于“巨石”选项。默认情况下是`,但对于这个游戏来说,它被设置为8.
一个巨石挡住了玩家的路径。玩家可以使用[l]键将巨石向右推开。请注意,按下[l]键通常会使角色向右移动,因为巨石挡住了路径,所以玩家试图向右移动时会将巨石向右推开。
(玩家正在将巨石推入一条未知的路径。最好将其推入一条已经探索过的路径,这样玩家就知道巨石不会永久地挡住某些东西。)
以下是一个巨石的良好位置
注意,玩家现在可以通过按下[u](右上角对角移动)或[n](右下角对角移动)来绕过巨石。这是一种需要知道四个对角键(y、u、b、n)而不是只使用vi键(h、j、k、l)的情况。
现在,玩家遇到了另一条路径的尽头,打开了另一扇秘密门(找到了宠物狗菲多),向下进入另一个房间,发现了另一条路径的尽头,并发现了一个第三扇秘密门。打开门后,地图看起来像这样。
玩家走进去,看到两件物品。
The[表示盔甲。走到它旁边可以发现它是一副击剑手套。玩家按下[,](逗号)键拾取它。游戏分配了背包字母“h”。
The$表示金币。在本例中,玩家将41枚金币加入了钱包,总计“$:51”。
现在玩家走出房间,发现另一个房间。请注意,从房间外,只能看到部分亮着的房间。
房间的其他部分看不见,因为玩家的视角不对。当玩家走进去时,更多房间的景象就会显露出来。走进去后,会发现一个*表示宝石。
玩家拾取了两个紫宝石,然后离开了房间(找到了宠物狗菲多)。在向左、向上、向右和向下移动后,玩家又听到了声音。(“你听到了一位奈亚德的飞溅声。”)
继续前进,玩家向右移动。同样,玩家最初只能看到部分房间。
但当我们走进去时,会有一个惊喜……
这个玩家在屏幕上遇到了一个冒号:。通往第二层地牢的楼梯>是可见的,但我们该如何处理冒号呢?
我们现在对键盘上的两个键感兴趣。
- 冒号键[:](在许多键盘上,按住[SHIFT]并按下[;]),看起来像一对眼睛,用于查看当前方格的内容。(不要将冒号键与屏幕上当前可见的冒号:混淆。)
- 分号键[;]查看另一个方格。它看起来也像一对眼睛,只不过其中一只眼睛眯着眼看向更远处的物体。
由于冒号:不在我们玩家所在的方格上,我们需要使用分号键[;],而不是冒号键[:]。
按下[;]会弹出一个“选择物品”提示。要选择物品,可以使用(h,j,k,l)和(y,u,b,n)键进行移动,就像平时一样,只是这样移动光标不会移动玩家@。
以下是按下[;]然后按下[y]将光标移动到冒号后的结果
现在,将光标移到屏幕上的冒号:上,按下冒号键[:]查看该方格。(在“选择物品”模式下,可以使用一只眼睛[.]快速查看,或两只眼睛[:]进行更详细的查看,如果可以的话,包括阅读更多文本。)
我们了解到屏幕上的冒号:是“一只蜥蜴(蝾螈)”。
请注意--更多--提示,它出现是因为我们按下冒号键[:]请求更多信息(如果有的话)。按下[SPACE]将我们带到提示之外。然后我们阅读 NetHack 中关于蝾螈的“数据库”条目。
由于这是另一个--更多--提示,玩家完成阅读并按下[SPACE]。
地牢中包含许多试图杀死玩家的怪物。怪物通常由字母A-Z或a-z表示,但也有一些其他的怪物,比如撇号'、分号;和冒号:,包括这只蝾螈。
有些怪物是和平的;NetHack不仅会在你用冒号键[:]查看它们时识别出它们的和平性,还会在你在近战中试图攻击它们时警告你。
然而,这只蝾螈显然并不和平。当示例玩家按下[k]向上移动时,蝾螈做出了攻击。
请注意生命值计,它显示“HP:12(14)”。这意味着玩家受到了伤害;从可能的 14 点生命值中,这位玩家只剩下 12 点。如果这个数字降至 0,我们的玩家就会死亡。
这位玩家有很多选择,包括一些显而易见的选项:
- 与蝾螈战斗
- 从蝾螈面前逃走
玩家尝试战斗。要在近战中与怪物战斗,只需按下移动到怪物所在的方格的键。由于怪物挡住了那个方格,NetHack 将该键解释为攻击怪物的指令。
- 按下[h]可以将玩家向左移动,将巨石向左推,或攻击左侧的怪物。在“选择物品”模式(按下[;]之后),按下[h]将光标向左移动以选择物品。
因此,玩家按下[h]攻击蝾螈。
太简单了!这只蝾螈只挨了一击就死了!(请注意,还有其他的怪物更难对付……)
现在考虑一下示例游戏中后期的这种情况。玩家探索了更多区域,移动了一些巨石,使它们不再阻挡道路。在 NetHack 中,每个玩家都会逐渐恢复生命值,因此,在这次探索之后,玩家的生命值又回到了“HP:14(14)”,而不是“HP:12(14)”,尽管之前被蝾螈攻击造成了伤害。
然后玩家遇到一个字母F。这只怪物是一只地衣。
这只地衣看起来很弱。它只是“碰了一下”,生命值计仍然显示“HP:14(14)”。这一次,玩家再次按下[h]进行战斗。
“你打偏了地衣。”在 NetHack 中,攻击有时会失败。然而,地衣行动太慢,无法做出反应,玩家还有机会再次攻击,按下[h]。
“你杀死了地衣!”这是一只非常弱的怪物,只挨了一击就死了。
现在我们已经探索了第一层地牢(“Dlvl:1”)并找到了通往下一层的楼梯>,是时候继续前往下一层地牢进行探索了。玩家@和宠物狗d接近楼梯。
需要注意的是,不要将宠物狗(或者猫,或者你可能拥有的其他宠物,作为新手玩家)留在这一层!宠物很有用(尽管这些页面避免剧透宠物如何帮助玩家)。因此,在使用楼梯之前找到你的宠物,就像这位玩家在这里做的那样。
现在走到楼梯上。
(通往下一层的楼梯>现在不可见了,因为它与玩家@在同一个方格上。)
宠物必须在八个相邻的方格中的任何一个上。(如果没有,按下[.]等待宠物过来,或者按下[s]等待并搜索。反复小心地按下该键,不要按住它;多按一次键可能会让过来的宠物移动走。)
现在,激活通往下一层的楼梯>的键是方便的[>],这个键与屏幕上楼梯的符号相同。(在许多键盘上,按住[SHIFT]并按下[.]即可输入[>]。)
玩家出现在第二层。
从楼梯上走下来(走向这位玩家想要的金子)就会发现它是一条通往上一层的楼梯<,因为我们现在在楼梯的底部。可以使用这条楼梯返回上一层。唯一的区别是使用[<]键使用这条楼梯。
(如果你找到了延德的护身符,使用这些楼梯返回地牢顶部,然后使用“Dlvl:1”上的楼梯<离开地牢。但是,如果你在找到延德的护身符之前使用该楼梯离开地牢,那么你的游戏就会提前结束。)
现在按下[i]查看物品。在游戏开始时查看物品是一个好习惯,但新手玩家有时会忘记这样做。以下是示例玩家的物品栏:
它列出了玩家携带的所有物品。(钱包里还有“$:51”的金币。)包括我们之前找到的“g”,紫红色的药水,“h”,手套,以及“i”,宝石。
它还包括玩家一开始携带的所有物品。请注意,玩家穿着“精灵披风”。“精灵匕首”被标记为“手中的武器”。这意味着玩家正在挥舞着匕首,并在近战中使用它。
想知道这位玩家用什么攻击了那只蝾螈和地衣?玩家一直使用这把匕首攻击它们。(没有武器的玩家可以用手攻击。)
在收集了一些金币之后,玩家看到一只下水道老鼠和两只网格虫。这位玩家决定攻击下水道老鼠r。(玩家可以使用[;]再次识别下水道老鼠。)
下水道老鼠用牙齿攻击;在下一回合,玩家按下[l]战斗,但双方都打偏了。在另一回合,下水道老鼠死了。
它留下了一个百分号%,通常指的是可食用的东西,可以尝试吃掉。没错,它是一具“下水道老鼠尸体”。玩家站在与尸体相同的方格上,可以按下[e]尝试吃掉它。
这是 NetHack 中一个简单的 [ynq] 菜单。
- 按下[y]表示是,吃掉尸体。
- 按下[n]表示否。在这种情况下,NetHack 会执行[e]在方格上没有尸体时通常会执行的操作;它会弹出一个菜单,要求选择一个物品栏中的物品来吃。在这个菜单中,可以按下[f],这是玩家手中莱姆巴斯薄饼的物品栏字母。
- 按下[q]表示退出此命令,如果你不想现在吃。
玩家决定吃掉尸体。“这具下水道老鼠尸体味道真难吃!--更多--”
但当网格虫x向玩家发起威胁性动作时
这位玩家选择忽略网格错误,继续吃尸体。(在某些情况下,这位玩家可能想立即尝试逃跑。)为了继续吃尸体,这位玩家再次使用相同的[e]命令。"你继续用餐。你吃完了下水道老鼠的尸体。"
到目前为止,这位玩家还没有使用任何物品,除了已经装备的匕首和已经穿戴的斗篷。通常,物品的使用并不在游戏初期;例如,这位玩家还没有决定要不要喝那瓶紫色的药水。
有几种命令可以使用物品,以下是一些
- [d] 丢弃物品(这样玩家就可以使用[,]再次捡起它)
- [D] 丢弃多个物品
- [w] 装备武器
- [W] 穿戴盔甲
- [T] 脱下盔甲
还有其他命令,比如[q]喝药水;按下[?]阅读 NetHack 帮助屏幕,其中提供了完整的命令列表。
这位玩家决定戴上那副手套。因此,玩家按下[W],它会弹出一个菜单
菜单选项 "[h or ?*]" 表示这位玩家可以按下以下任意键
- [h] 穿戴 "h" 项目(手套)
- [?] 查看物品栏中的盔甲列表
- [*] 查看物品栏(尝试穿戴一些不寻常的东西吗?)
玩家按下[h] 穿戴手套。"你完成了你的穿戴动作。" 按下[i]查看物品栏 显示手套 "正在被穿戴"。
这是开始教程的结尾,它介绍了 NetHack tty 端口的控制方法。我们还会提到两个键
- [S] 保存游戏
- [#] 用于扩展命令(输入 "quit" [RETURN] 退出游戏)
[S] 保存游戏的特性非常重要。玩家几乎可以在游戏的任何地方保存游戏,以便在需要时退出 NetHack。而 "#quit" 特性,相反,应该只用于怯懦地放弃游戏;它会宣布你的得分,并阻止你继续进行该游戏。
示例玩家现在按下[S]保存游戏
按下[y],游戏就会被保存。在下一次玩家启动 NetHack(作为同一台计算机上的同一用户)时,游戏将从这个点继续,玩家@位于第二个地下城关卡 "Dlvl:2",戴着手套。