Naev (/nɑ.ɛv/) ist ein Open-Source-2D-Weltraumhandels- und Kampfspiel, das unter anderem von der Escape Velocity-Reihe inspiriert ist.
Sie steuern ein Raumschiff aus der Top-Down-Perspektive und können mehr oder weniger tun, was Sie wollen. Wie der Name des Genres schon sagt, können Sie nach Belieben handeln und kämpfen. Darüber hinaus gibt es eine ständig wachsende Anzahl an Storyline-Missionen, Ausrüstung und Schiffen; Sogar die Galaxie selbst wird mit jeder Veröffentlichung größer. Für Literaturinteressierte gibt es eine große Menge an Überlieferungen zu allem, von Planeten bis hin zu Ausrüstung.
Bitte beachten Sie, dass sich Naev noch in der aktiven Entwicklung befindet und noch nicht abgeschlossen ist. Obwohl es im Spiel viel zu tun gibt, werden Sie im Laufe des Spiels auf unvollständige oder in Arbeit befindliche Inhalte stoßen.
Naev ist auf Steam, itch.io, Flathub, vielen Linux-Distributionen und mehr! Wenn Sie der Aufgabe, es selbst zusammenzustellen, nicht gewachsen sind, finden Sie auf der Naev-Website verschiedene Möglichkeiten, mit dem Spielen von Naev zu beginnen!
Plugins werden seit Version 0.10.0 unterstützt. Obwohl wir noch keinen Plugin-Manager haben (Hilfe gesucht!), können Sie sich die vorhandenen Plugins ansehen, die im Naev-Plugin-Repository registriert sind, und sie manuell installieren. Wenn Sie mit der Erstellung Ihrer eigenen Software beginnen möchten, schauen Sie sich bitte das Naev Development Manual (WIP) an.
Die Abhängigkeiten von Naev sollen allgemein verfügbar sein. Zusätzlich zu einer Grafikkarte und einem Treiber, die mindestens OpenGL 3.2 unterstützen, benötigt Naev:
*
*
*
*
*
*
*
*
*
Mit *
gekennzeichnete Abhängigkeiten verwenden Unterprojekte, wenn sie nicht im Hostsystem gefunden werden.
Das Naev-Wiki enthält detailliertere Kompilierungsschritte und Listen der zu installierenden Pakete für mehrere Betriebssysteme und Linux-Distributionen:
Naev erfordert, dass das Artwork-Submodul von Git ausgeführt wird. Sie können die Submodule aus dem geklonten Repository auschecken mit:
git submodule init
git submodule update
Beachten Sie, dass git submodule update
jedes Mal ausgeführt werden muss, wenn Sie git pull
ausführen, um auf dem neuesten Stand zu bleiben. Dies kann auch automatisch erfolgen (sehr empfehlenswert), indem Sie die folgende Konfiguration festlegen:
git config submodule.recurse true
Laufen:
meson setup builddir .
cd builddir
meson compile
./naev.py
Wenn Sie spezielle Einstellungen benötigen, können Sie meson configure
in Ihrem Build-Verzeichnis ausführen, um eine Liste aller verfügbaren Optionen anzuzeigen.
Versuchen Sie zur Installation Folgendes: meson configure --buildtype=release -Db_lto=true
Versuchen Sie zum Erstellen eines Windows Installers Folgendes hinzuzufügen: --prefix="$(pwd)"/build/windows --bindir=. -Dndata_path=. -Dinstaller=true
. Überprüfen Sie den dist
-Ordner in Ihrem Build-Verzeichnis
Versuchen Sie zum Erstellen einer macOS-DMG Folgendes hinzuzufügen: --prefix="$(pwd)"/build/dist/Naev.app --bindir=Contents/MacOS -Dndata_path=Contents/Resources -Dinstaller=true
. Überprüfen Sie den dist
-Ordner in Ihrem Build-Verzeichnis
Versuchen Sie für die normale Entwicklung Folgendes hinzuzufügen: --buildtype=debug -Db_sanitize=address
(fügen Sie -Db_lundef=false
hinzu, wenn Sie mit Clang kompilieren, und ersetzen Sie -Ddebug_arrays=true
für -Db_sanitize=...
unter Windows, wenn Sie Clang nicht verwenden können). (Wenn Ihr System debuginfod unterstützt, fügen Sie außerdem set debuginfod enabled on
zu einer Datei mit dem Namen .gdbinit
in Ihrem Home-Verzeichnis hinzu!)
Für schnellere Debug-Builds (aber schwieriger mit gdb/lldb zu verfolgen) versuchen Sie --buildtype=debugoptimized -Db_lto=true -Db_lto_mode=thin
anstelle der entsprechenden Werte oben.
Sie können Naev direkt aus dem Git-Repository ausführen, indem Sie das Skript naev.py
verwenden, das im Build-Verzeichnis generiert wird. Dieses Skript richtet automatisch alle Datenpfade für die Ausführung von Naev ein. Stellen Sie sicher, dass die Kunstressourcen ausgecheckt und auf dem neuesten Stand sind, wie im Abschnitt „Aktualisieren von Kunstressourcen“ unten beschrieben.
Naev unterstützt derzeit meson install
, die alles installiert, was benötigt wird.
Wenn Sie eine .desktop-Datei für Ihre Desktop-Umgebung erstellen möchten, finden Sie Logos in den Größen 16x16 bis 256x256 unter extras/logos/
.
Kunstressourcen werden teilweise im Naev-Artwork-Production-Repository gespeichert und manchmal aktualisiert. Aus diesem Grund wird empfohlen, die Submodule regelmäßig mit dem folgenden Befehl zu aktualisieren.
git submodule update
Sie können dies auch mit dem folgenden Befehl so einstellen, dass dies beim Git-Pull automatisch erfolgt:
git config submodule.recurse true
Danach wird jedes Mal, wenn Sie einen git pull
ausführen, auch das Artwork-Submodul aktualisiert.
Um mit uns in Kontakt zu treten, können Sie naev.org besuchen, wo Sie auf den Discord-Chat und das Wiki des Projekts verweisen. Dort gibt es auch Lua-API-Dokumente.
Vor dem Festschreiben ist es ratsam, Pre-Commit 2.17 oder neuer zu installieren und pre-commit install
im Stammverzeichnis des Naev-Git-Verzeichnisses auszuführen. pre-commit wird beim Commit von Dateien automatisch ausgeführt, kann aber auch manuell mit pre-commit run -a
ausgeführt werden. Das Entwicklerteam lehrt pre-commit
, verschiedene heikle und vergessliche Schritte zu bewältigen.
Naev verwendet für den gesamten Text im Spiel die Oxford-Rechtschreibung.
Naev ist in Weblate integriert. Über die Projektseite von Naev können Sie ganz einfach direkt über eine Weboberfläche in die von Ihnen gewählte Sprache übersetzen. Neue Sprachen müssen manuell hinzugefügt werden. Öffnen Sie bitte ein Problem, wenn Sie Naev in eine neue Sprache übersetzen möchten.
Naevs Übersetzung wird mit gettext abgewickelt. (Es ist benutzerdefiniert, aber C- und Lua-Code können das herkömmliche _()
für gettext und N_()
für gettext-noop sowie n_()
für ngettext verwenden.)
Wenn Inhalte wie Missionen aktualisiert werden, muss Weblate neuer übersetzbarer Text zur Verfügung gestellt werden. Der wichtigste manuelle Schritt besteht darin, die Datei po/naev.pot
( meson compile naev-pot
im Build-Verzeichnis) neu zu generieren und festzuschreiben. Um Zusammenführungskonflikte zu vermeiden, wird empfohlen, die aktualisierte Datei po/naev.pot
nicht in einen Pull-Request aufzunehmen, bei dem es nicht ausschließlich um die Übersetzung geht.
Unter der Haube: po/POTFILES.in
ist ein Katalog von Dateien, die übersetzbaren Text enthalten können. Wir halten die Synchronisierung mithilfe von Pre-Commit-Hooks (oder manuell: meson compile potfiles
) aufrecht. Das naev-pot
-Meson-Ziel wird mit Standard xgettext
und zusätzlichen Regeln erstellt. (Regeln für AUTHORS
und intro
finden Sie in po/update-po.sh
. Regeln für XML-Datendateien finden Sie in po/its/translation.its
.) Einzelne Übersetzungen können über meson compile naev-update-po
aktualisiert werden, dies ist jedoch nicht der Fall Tun Sie dies ohne guten Grund, da Weblate die gleiche Aufgabe sorgfältiger erledigt.
Bitte werfen Sie einen Blick auf die FAQ, bevor Sie einen neuen Fehlerbericht einreichen, da darin eine Reihe häufiger Fragen und Probleme zum Gameplay behandelt werden.
Wenn Naev während des Spiels abstürzt, reichen Sie bitte einen Fehlerbericht ein, nachdem Sie https://github.com/naev/naev/wiki/Bugs gelesen haben
Naev ist mit einigen Ausnahmen eine Open-Source-Software, die mit den Debian Free Software Guidelines kompatibel ist und unter der GNU General Public License Version 3 oder höher lizenziert ist. Detailliertere Lizenzierungsdetails finden Sie in der LIZENZ-Datei.