NetHack/NetHack
GitHub: NetHack/NetHack
经典 roguelike 地牢探索游戏 NetHack 的官方源码仓库,5.0 版本引入 C99 标准、Lua 脚本化关卡生成和交叉编译支持。
Stars: 3719 | Forks: 570
```
NetHack 5.0.0 -- General information
```
NetHack 5.0 是对地牢探索游戏 NetHack 的一次增强,
它是 Rogue 和 Hack 的远亲后裔,也是 NetHack 3.6 的直系后裔。
NetHack 5.0.0 是 NetHack 的一个发布版本。作为一个 .0 版本,可能会遇到一些
错误。我们非常欢迎并鼓励您提出建设性建议、GitHub pull requests 和错误报告。
源代码发行版中的 doc/fixes5-0-0.txt 文件包含了提交时的完整修复和更改列表。其中的文本是
专为开发团队自身使用而编写的,并以“原样”提供,因此请不要要求我们进一步解释该文件中的条目。
某些条目可能会被视为“剧透”,尤其是“新功能”部分中的内容。
除了游戏改进和错误修复之外,NetHack 5.0 还致力于对游戏或其构建过程进行
一些常规架构改进。其中包括,5.0 具有:
* 源代码符合 C99 标准。
* 消除了在一个平台和操作系统上构建 NetHack 以便稍后在另一个(可能完全不同的)平台和/或操作系统上执行的障碍。这种能力通常被称为“交叉编译”。有关此内容的更多信息,请参阅顶级文件夹中的“Cross-compiling”文件。
* 构建时基于“yacc and lex”的关卡编译器、基于“yacc and lex”的地牢编译器,以及以前由 NetHack 的“makedefs”实用程序完成的任务文本文件处理,已被 Lua 文本替代方案取代,这些内容会在游戏运行期间加载并处理。
以下是有关 NetHack 5.0 中未被视作剧透的更改的一些其他常规说明:
- 一旦震动方格的位置为人所知(被发现或被魔法映射),便会对震动方格关卡自动添加批注“gateway to Moloch's Sanctum”;一旦找到圣所神庙(进入或映射了高级祭坛),该批注即会消失。
- - - - - - - - - - -
在对您的新代码执行任何操作之前,请阅读第 (1)、(2) 和 (3) 项。
1. 在一个专用的新目录中解压代码。我们将该目录称为“Top”目录。无论您如何命名它都没有区别。
2. 解压后,您的 Top 目录中应该会有一个名为 'Files' 的文件。此文件包含您现在在每个目录中应该拥有的所有文件的列表。请根据此列表检查每个目录中的文件,以确保您拥有一套完整的文件。此文件还包含了在构建过程中会创建哪些文件的列表。除非您准备好遍历 makefiles 和 makedefs 程序并更改其中所有的目录引用,否则不应更改所列出的目录名称。
3. 在执行任何其他操作之前,请仔细阅读 'dat' 子目录中名为“license”的文件。我们期望您遵守该许可的条款,并且我们对此非常严肃。
4. 如果您尝试在一个平台/处理器上构建 NetHack,以在不同的平台/处理器上生成游戏,建议您阅读 Top 目录中的“Cross-compiling”文件。
5. 如果一切就绪,您现在可以开始尝试让程序在您的特定系统上编译和运行。值得一提的是,默认配置是 SysV/Sun/Solaris2.x(仅仅是因为代码曾经存放在这样的系统上)。
文件 sys/*/Install.* 或 sys/*/NewInstall.* 旨在指导您为您的操作系统配置程序。文件 win/*/Install.* 在必要时可帮助您为特定的窗口环境配置程序。
阅读它们以及 man 手册页,应该能解答您的大多数疑问。
在最近一次正式发布 NetHack 5.0 时,它已经过测试可以在以下平台上运行和/或编译:
运行 Linux、BSDI 的 Intel Pentium 或更高配置
[可编译,可运行]
运行 Windows 10 或 11 的 Intel Pentium 或更高配置
[可编译,可运行]
基于 Intel,或 Apple M1, M2, M3, M4, M5 的 Mac
[可编译,可运行]
运行 macOS 10.11 (El Capitan) 到 macOS 26 (Tahoe) [可编译,可运行]
(请遵循 sys/unix/NewInstall.unx 中的说明)
带有 DPMI 的 Intel 80386 或更高配置运行 MS-DOS
[在 Linux 上交叉编译,在 MS-DOS、模拟器/dosbox 上运行]
通过 djgpp 编译器构建(原生或由 Linux 托管的交叉编译器)
AmigaOS 3.0 或更高版本
[在 Linux 或 macOS 上交叉编译,在 Amiga 或模拟器上运行]
运行需要 Kickstart 39+
最少 6 MB 可用内存(建议 8 MB)
硬盘具有约 5 MB 的可用空间
在以下平台上也有一些成功运行/编译的案例:
Alpha 和 Integrity/Itanium/IA64 上的 OpenVMS (aka VMS) V8.4
x86-64 上的 OpenVMS (aka VMS) V9.2-3
- - - - - - - - - - -
如果您在构建游戏时遇到问题,或者在游戏中发现错误,我们建议您通过我们的“联系我们”网页提交错误报告:
https://www.nethack.org/common/contact.html
请在相应的字段中包含来自 #version 或命令行选项 --version 的版本信息。
可以通过 git 在此处获取我们提供的最新 NetHack 代码的公共代码库:
https://github.com/NetHack/NetHack
或
https://sourceforge.net/p/nethack/NetHack/
发送信件时,请遵守以下规定:
o 请务必注明您的机器类型、操作系统和补丁级别。
o 请避免向我们发送二进制文件(例如存档文件或bones文件)。如果您发现了一个错误,并认为您的存档文件有助于解决问题,请用文字向我们发送有关问题的描述、您的机器类型、您的操作系统以及 NetHack 的版本。告诉我们您有存档文件,但不要实际发送它。随后,开发团队的成员可能会与您联系,并给您一个特定人员的地址来发送存档文件。
o 尽管我们会努力回复每份错误报告,但可能需要一些时间您才能收到反馈。在新版本发布后的初期阶段尤其如此,因为那时我们会收到最多的错误报告。
o 我们不提供游戏玩法提示。
o 不要费心询问下一个版本何时发布,否则您只能收到敷衍的套话。
如果您想通过电子邮件直接提交 NetHack 源代码的补丁,可以将其发送至以下地址:
nethack-bugs (at) nethack.org
如果某个功能未被接受,您当然可以自由地自行将补丁发布到网上,让市场来决定它们的价值。
所有这些等同于以下内容:如果您决定将一个自行开发的补丁应用到您的 3.6 代码中,我们当然欢迎您这样做,但我们无法为其提供支持或接收相关的错误报告。
在我们自己的补丁中,我们将假定您的代码与我们的代码是同步的。
```
-- Good luck, and happy Hacking --
```
# $NHDT-Date: 1652133501 2022/05/09 21:58:21 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.97 $
# 版权所有 (c) 2012,作者 Michael Allison
# NetHack 可以自由重新分发。详情请参阅 license。
标签:C99标准, DNS解析, Git, Lua, NetHack, rizin, Rogue, Roguelike游戏, 交叉编译, 代码重构, 关卡设计, 单人游戏, 地下城生成, 地牢探索, 客户端加密, 开源游戏, 开源项目, 游戏开发, 游戏引擎, 游戏模组, 经典游戏, 角色扮演游戏, 跨平台编译