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游戏, 交叉编译, 代码重构, 关卡设计, 单人游戏, 地下城生成, 地牢探索, 客户端加密, 开源游戏, 开源项目, 游戏开发, 游戏引擎, 游戏模组, 经典游戏, 角色扮演游戏, 跨平台编译