Skip to content

Build from Source

M. H. Golkar edited this page Mar 1, 2024 · 10 revisions

Arrow is open-source and developed using Godot Engine

Arrow official builds are tested and exported with the latest stable standard version of Godot to the time of each Arrow release.

For Arrow v2.0 it is Godot 3.x.

Exporting process of Godot Engine is pretty straightforward. The official Godot documentation has a comprehensive guide on: Exporting Godot Projects.

Arrow has a very liberal MIT license which allows all users to download, customize and share Arrow freely.

Check out copyright file for more information.

You can consider contribution to Arrow's code as well.

Rolling Release?!

Exporting project as mentioned above may be the standard way, but if you don't need to change the source and only want to get the latest commits, there is an alternative way to enjoy the bleeding edge!

Arrow does not have a dedicated update system or continuous delivery in place, but there are things you can exploit to get what you want.

This project is developed using Godot game engine which has an interesting feature: If you copy the right version of Godot Engine (editor) executable file in the root of a game project (here Arrow) and run it, you'll get the game running instead of the editor as if it was exported with debug mode.

So if you want the latest Arrow commits, whether you want to change any part of Arrow or not, running it directly from cloned source can make things move quicker:

  • Clone Arrow from the git repository
  • Download (and extract) the right Godot Engine executable (i.e. v3.5.x-stable for Arrow <= v2.x)
  • Copy the executable into the root of the cloned Arrow project (where project.godot file is)
  • Optionally rename the Godot executable (to Arrow, Arrow.exe, etc. depending on your OS)
  • Run the executable and enjoy
  • You can .gitignore the executable and other artifacts created on the fly, so you can easily pull new commits
  • Pull new commits once in a while

CAUTION!
Although I try to keep the main branch fairly stable (somewhere around beta or if possible release candidate level), there is no guarantee, so take necessary precautions (e.g. backups)!

Notes

  • It may be needless to say, but: always have backup(s) of your files!

  • Arrow's hardcoded default settings are in ./scripts/settings.gd file, you can change them before exporting the project.

    Some modules and nodes have their own settings as constants in their respective scripts. These are not recommended to be altered.

  • The official browser-based (HTML-JS) runtime's source, used to export playable files, is bundled with Arrow in ./runtimes/html-js directory.

Clone this wiki locally