Naev (/nɑ.ɛv/)是一款开源 2D 空间交易和战斗游戏,其灵感来自 Escape Velocity 系列等。
你从自上而下的角度驾驶一艘太空飞船,并且或多或少可以自由地做你想做的事。顾名思义,你可以随意交易和参与战斗。除此之外,故事情节任务、装备和船只的数量也在不断增加;甚至银河系本身也会随着每次版本的发布而变得更大。对于文学爱好者来说,从行星到设备,有大量的知识伴随着一切。
请注意,Naev 仍在积极开发中,尚未完成。虽然游戏中有很多事情要做,但随着你的进展,你会发现不完整或正在进行中的内容。
Naev 在 steam、itch.io、flathub、许多 Linux 发行版等上!如果您无法胜任自己编译的任务,请访问 Naev 网站,了解开始玩 Naev 的不同方法!
从 0.10.0 版本开始支持插件。虽然我们还没有插件管理器(需要帮助!),但您可以查看在 naev 插件存储库上注册的现有插件并手动安装它们。如果您想开始自己制作,请查看 Naev 开发手册 (WIP)。
Naev 的依赖项旨在广泛可用。除了至少支持 OpenGL 3.2 的显卡和驱动程序之外,Naev 还需要:
*
*
*
*
*
*
*
*
*
如果在主机系统中找不到,标有*
的依赖项将使用子项目。
Naev wiki 针对多种操作系统和 Linux 发行版提供了更详细的编译步骤以及要安装的软件包列表:
Naev 需要 Artwork 子模块从 git 运行。您可以使用以下命令从克隆存储库中查看子模块:
git submodule init
git submodule update
请注意,每次git pull
时都必须运行git submodule update
以保持最新状态。这也可以通过设置以下配置自动完成(强烈推荐):
git config submodule.recurse true
跑步:
meson setup builddir .
cd builddir
meson compile
./naev.py
如果您需要特殊设置,您可以在构建目录中运行meson configure
以查看所有可用选项的列表。
对于安装,请尝试: meson configure --buildtype=release -Db_lto=true
对于构建 Windows 安装程序,请尝试添加: --prefix="$(pwd)"/build/windows --bindir=. -Dndata_path=. -Dinstaller=true
。检查构建目录中的dist
文件夹
对于构建 macOS DMG ,请尝试添加: --prefix="$(pwd)"/build/dist/Naev.app --bindir=Contents/MacOS -Dndata_path=Contents/Resources -Dinstaller=true
。检查构建目录中的dist
文件夹
对于正常开发,请尝试添加: --buildtype=debug -Db_sanitize=address
(如果使用 Clang 编译,则添加-Db_lundef=false
如果无法使用 Clang,则在 Windows 上用-Ddebug_arrays=true
替换-Db_sanitize=...
)。 (如果您的系统支持 debuginfod,还可以将set debuginfod enabled on
添加到您的主目录中名为.gdbinit
的文件中!)
为了更快地调试构建(但更难使用 gdb/lldb 进行跟踪),请尝试--buildtype=debugoptimized -Db_lto=true -Db_lto_mode=thin
代替上面的相应值。
您可以使用将在构建目录中生成的naev.py
脚本直接从 git 存储库运行 Naev。该脚本将自动设置运行 Naev 的所有数据路径。确保艺术资产已签出并保持最新,如下面更新艺术资产部分所述。
Naev 目前支持meson install
,它将安装所需的所有内容。
如果您想为桌面环境创建 .desktop,可以在extras/logos/
中找到从 16x16 到 256x256 的徽标。
艺术资产部分存储在 naev-artwork-product 存储库中,有时会更新。因此,建议使用以下命令定期更新子模块。
git submodule update
您还可以使用以下命令将其设置为在 git pull 上自动完成:
git config submodule.recurse true
之后,每次执行git pull
时,它也会更新 Artwork 子模块。
要取得联系,您可以访问 naev.org,其中链接到该项目的 Discord 聊天和 Wiki。那里还有 Lua API 文档。
在提交之前,建议安装预提交 2.17 或更高版本,并从 Naev git 目录根运行pre-commit install
。 pre-commit 将在提交文件时自动运行,但也可以使用pre-commit run -a
手动运行。开发团队正在教授pre-commit
来处理各种繁琐和容易忘记的步骤。
纳耶夫对游戏中的所有文本都使用牛津拼写法。
Naev 被合并到 Weblate 中。您可以轻松地通过网络界面直接从 Naev 的项目页面翻译成您选择的语言。必须手动添加新语言,如果您想将 Naev 翻译成新语言,请提出问题。
Naev 的翻译是用 gettext 处理的。 (这是自定义的,但 C 和 Lua 代码可以使用传统的_()
表示 gettext,使用N_()
表示 gettext-noop,以及使用n_()
表示 ngettext。)
当任务等内容更新时,必须向 Weblate 提供新的可翻译文本。关键的手动步骤是重新生成po/naev.pot
文件(在构建目录中meson compile naev-pot
)并提交它。为了避免合并冲突,建议不要在不专门与翻译相关的拉取请求中包含更新的po/naev.pot
。
在幕后: po/POTFILES.in
是可能具有可翻译文本的文件目录。我们使用预提交挂钩(或手动: meson compile potfiles
)保持同步。 naev-pot
Meson 目标是使用标准xgettext
以及附加规则构建的。 ( AUTHORS
和intro
的规则位于po/update-po.sh
中。XML 数据文件的规则位于po/its/translation.its
中。)可以通过meson compile naev-update-po
更新单个翻译,但不要这样做这样做没有充分的理由,因为 Weblate 更仔细地完成同样的工作。
请在提交新的错误报告之前查看常见问题解答,因为它涵盖了许多常见的游戏问题和常见问题。
如果 Naev 在游戏过程中崩溃,请在阅读 https://github.com/naev/naev/wiki/Bugs 后提交错误报告
Naev 是与根据 GNU 通用公共许可证版本 3 或更高版本许可的 Debian 自由软件指南兼容的开源软件,但有一些例外。请参阅许可证文件以获取更深入的许可详细信息。