{"id":13439686,"url":"https://github.com/naev/naev","last_synced_at":"2025-05-14T16:03:17.418Z","repository":{"id":502128,"uuid":"129295","full_name":"naev/naev","owner":"naev","description":"Naev is a 2d action/rpg space game that combines elements from the action, rpg and simulation genres.","archived":false,"fork":false,"pushed_at":"2025-04-12T15:29:24.000Z","size":1532523,"stargazers_count":891,"open_issues_count":185,"forks_count":203,"subscribers_count":51,"default_branch":"main","last_synced_at":"2025-04-13T01:57:59.903Z","etag":null,"topics":["action","c","game","lua","rpg","simulator","space"],"latest_commit_sha":null,"homepage":"https://naev.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/naev.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-02-15T10:31:33.000Z","updated_at":"2025-04-12T19:07:31.000Z","dependencies_parsed_at":"2023-10-16T04:07:58.831Z","dependency_job_id":"99497d5d-5bee-42e3-8ab4-408f7e671054","html_url":"https://github.com/naev/naev","commit_stats":{"total_commits":34887,"total_committers":225,"mean_commits":"155.05333333333334","dds":"0.35354143377189207","last_synced_commit":"c62f49e73661065a98064e8b89b286d8f6bcc3ad"},"previous_names":[],"tags_count":79,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naev%2Fnaev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naev%2Fnaev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naev%2Fnaev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naev%2Fnaev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naev","download_url":"https://codeload.github.com/naev/naev/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654048,"owners_count":21140235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","c","game","lua","rpg","simulator","space"],"created_at":"2024-07-31T03:01:16.251Z","updated_at":"2025-04-13T01:58:32.403Z","avatar_url":"https://github.com/naev.png","language":"C","readme":"[![Nightly Release Status](https://github.com/naev/naev/actions/workflows/naev_nightly.yml/badge.svg)](https://github.com/naev/naev/actions/workflows/naev_nightly.yml) [![CI Status](https://github.com/naev/naev/actions/workflows/naev_ci.yml/badge.svg?branch=main)](https://github.com/naev/naev/actions/workflows/naev_ci.yml) [![Packaging status](https://repology.org/badge/tiny-repos/naev.svg)](https://repology.org/project/naev/versions) [![Translation Status](https://hosted.weblate.org/widgets/naev/-/naev/svg-badge.svg)](https://hosted.weblate.org/projects/naev/)\n# NAEV README\n\n![Naev Logo](https://naev.org/imgs/naev.png)\n\n**Naev (/nɑ.ɛv/)** is an open source 2D space trading and combat game, taking\ninspiration from the [Escape Velocity\nseries](https://en.wikipedia.org/wiki/Escape_Velocity_(video_game)), among\nothers.\n\nYou pilot a space ship from a top-down perspective, and are more or less free\nto do what you want. As the genre name implies, you’re able to trade and engage\nin combat at will. Beyond that, there’s an ever-growing number of storyline\nmissions, equipment, and ships; Even the galaxy itself grows larger with each\nrelease. For the literarily-inclined, there are large amounts of lore\naccompanying everything from planets to equipment.\n\nPlease note that Naev is still actively under development and not complete yet.\nAlthough there are a lot of things to do in the game, you will find incomplete\nor work in progress content as you progress.\n\n## GETTING NAEV\n\nNaev is on steam, itch.io, flathub, many linux distributions and more! If you\ndon't feel up to the task of compiling it yourself, please see the [Naev\nwebsite](https://naev.org/downloads/) for different ways to get started playing\nNaev!\n\n## PLUGINS\n\nPlugins are supported since version 0.10.0. Although we do not have a plugin\nmanager yet ([help wanted!](https://github.com/naev/naev/issues/2180)), you can\nlook at existing plugins registered on the [naev plugins\nrepository](https://github.com/naev/naev-plugins) and install them manually. If\nyou want to get started making your own, please take a look at the [Naev\nDevelopment Manual](https://naev.org/devmanual/) (WIP).\n\n## DEPENDENCIES\n\nNaev's dependencies are intended to be widely available. In addition to a\ngraphics card and driver supporting at least OpenGL 3.2, Naev requires:\n* SDL2\n* libxml2\n* freetype2\n* libpng\n* libwebp\n* OpenAL\n* OpenBLAS\n* libvorbis\n* intltool\n* pyyaml\n* SuiteSparse`*`\n* enet`*`\n* physfs`*`\n* lua 5.1 / luajit`*`\n* pcre2`*`\n* GLPK`*`\n* libunibreak`*`\n* cmark`*`\n* libyaml`*`\n\nDependencies marked with `*` will use subprojects if not found in the host system.\n\n### DETAILS FOR YOUR OS\n\nThe Naev wiki has more detailed compilation steps, and lists of packages to install, for several operating systems and Linux distros:\n* [Linux/\\*nix](https://github.com/naev/naev/wiki/Compiling-on-*nix)\n* [Windows](https://github.com/naev/naev/wiki/Compiling-on-Windows)\n* [macOS](https://github.com/naev/naev/wiki/Compiling-on-macOS)\n\n## COMPILING NAEV\n\n### CLONING AND SUBMODULES\n\nNaev requires the artwork submodule to run from git. You can check out the\nsubmodules from the cloned repository with:\n\n```bash\ngit submodule init\ngit submodule update\n```\n\nNote that `git submodule update` has to be run every time you `git pull` to\nstay up to date. This can also be done automatically (highly recommended) by\nsetting the following configuration:\n\n```bash\ngit config submodule.recurse true\n```\n\n### COMPILATION\n\nRun:\n\n```bash\nmeson setup builddir .\ncd builddir\nmeson compile\n./naev.py\n```\n\nIf you need special settings you can run `meson configure` in your build\ndirectory to see a list of all available options.\n\n**For installation**, try: `meson configure --buildtype=release -Db_lto=true`\n\n**For Building a Windows Installer**, try adding: `--prefix=\"$(pwd)\"/build/windows --bindir=. -Dndata_path=. -Dinstaller=true`. Check the `dist` folder in your build directory\n\n**For Building a macOS DMG**, try adding: `--prefix=\"$(pwd)\"/build/dist/Naev.app --bindir=Contents/MacOS -Dndata_path=Contents/Resources -Dinstaller=true`. Check the `dist` folder in your build directory\n\n**For normal development**, try adding: `--buildtype=debug -Db_sanitize=address` (adding `-Db_lundef=false` if compiling with Clang, substituting `-Ddebug_arrays=true` for `-Db_sanitize=...` on Windows if you can't use Clang).\n(If your system supports debuginfod, also add `set debuginfod enabled on` to a file named `.gdbinit` in your home directory!)\n\n**For faster debug builds** (but harder to trace with gdb/lldb), try `--buildtype=debugoptimized -Db_lto=true -Db_lto_mode=thin` in place of the corresponding values above.\n\n#### For up to date build instructions, check out the compilation page in our [Wiki](https://github.com/naev/naev/wiki/Compiling)\n\n### RUNNING NAEV\n\nYou can run Naev directly from the git repository using the `naev.py` script\nwhich will be generated in the build directory. This script will automatically\nset up all the data paths for running Naev. Make sure the art assets are\nchecked out and up to date as mentioned in the Updating Art Assets section\nbelow.\n\n### INSTALLATION\n\nNaev currently supports `meson install` which will install everything that\nis needed.\n\nIf you wish to create a .desktop for your desktop environment, logos\nfrom 16x16 to 256x256 can be found in `extras/logos/`.\n\n## UPDATING ART ASSETS\n\nArt assets are partially stored in the\n[naev-artwork-production](https://github.com/naev/naev-artwork-production)\nrepository and sometimes are updated. For that reason, it is recommended to\nperiodically update the submodules with the following command.\n\n```bash\ngit submodule update\n```\n\nYou can also set this to be done automatically on git pull with the following\ncommand:\n\n```bash\ngit config submodule.recurse true\n```\n\nAfterwards, every time you perform a `git pull`, it will also update the\nartwork submodule.\n\n## CONTRIBUTING\n\nTo get in touch, you can visit [naev.org](https://naev.org/) which links to the project's Discord chat and Wiki.\nThere are also Lua API docs there.\n\nBefore committing, it's advisable to install [pre-commit](https://pre-commit.com/) 2.17 or newer, and run `pre-commit install` from the Naev git directory root.\npre-commit will run automatically when commiting files, but can also be run manually with `pre-commit run -a`.\nThe dev team is teaching `pre-commit` to handle various fussy and forgettable steps.\n\nNaev uses [Oxford Spelling](https://en.wikipedia.org/wiki/Oxford_spelling) for all text in the game.\n\n### ONLINE TRANSLATION\n\nNaev is incorporated into [Weblate](https://weblate.org/). You can easily\ntranslate directly with a web interface to your chosen language from Naev's\n[project page](https://hosted.weblate.org/projects/naev/naev/). New languages have to be added\nmanually, please open an issue if you want to translate Naev to a new language.\n\n### TRANSLATION FOR DEVELOPERS\n\nNaev's translation is handled with gettext. (It's custom, but C and Lua code can use the conventional `_()` for gettext and\n`N_()` for gettext-noop, as well as `n_()` for ngettext.)\n\nWhen content like missions is updated, new translatable text must be made available to Weblate.\nThe key manual step is to regenerate the `po/naev.pot` file (`meson compile naev-pot` in the build dir) and commit it.\nTo avoid merge conflicts, it is recommended to not include updated `po/naev.pot` in a pull request that isn't exclusively about translation.\n\nUnder the hood: `po/POTFILES.in` is a catalog of files that may have translatable text.\nWe keep it synced using pre-commit hooks (or manually: `meson compile potfiles`).\nThe `naev-pot` Meson target is built using standard `xgettext`, plus additional rules.\n(Rules for `AUTHORS` and `intro` are in `po/update-po.sh`. Rules for XML data files are in `po/its/translation.its`.)\nIndividual translations can be updated via `meson compile naev-update-po`, but _don't do this_ without a good reason, because Weblate does the same job more carefully.\n\n## CRASHES AND PROBLEMS\n\nPlease take a look at the [FAQ](https://github.com/naev/naev/wiki/FAQ) before submitting a new\nbug report, as it covers a number of common gameplay questions and\ncommon issues.\n\nIf Naev is crashing during gameplay, please file a bug report after\nreading https://github.com/naev/naev/wiki/Bugs\n\n## LICENSE\n\nNaev is open source software compatible with the [Debian Free Software\nGuidelines](https://www.debian.org/social_contract#guidelines) licensed under\nthe [GNU General Public License version 3 or\nlater](https://www.gnu.org/licenses/gpl-3.0.en.html), with some exceptions.\nPlease refer to the [LICENSE](LICENSE) file for more in-depth licensing\ndetails.\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaev%2Fnaev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaev%2Fnaev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaev%2Fnaev/lists"}