Godot Stuff

Godot is a nice engine that you should use

Version Control

Turns out Godot is really really cool to use with version control, since almost all of the data is just text files.
There is other stuff in there too like import data, but that can be generated on the fly and should not be included in VCS.
Github by default has a nice gitignore for godot that should take care of all the stuff for you.

Known Issues

Theming

Creating a custom theme creates a tileset (.tres) file.
As of right now, this file is changed every time the project is saved.
This results in annoying commit noise.
Make sure to actually commit the file, because if the IDs don't match with the rest of the project,
stuff just breaks and gets very annoying.
https://github.com/godotengine/godot/issues/74001

CI/CD

This is important: The export profiles are shipped with the VCS, so you need to make sure the build agent has the tools needed to actually build the profiles you specified.
One more thing to make sure of is that the agent has the export templates in the correct directory, and that it matches the installed godot version.
Personally I compile godot and the templates myself so that's not really an issue, but something to keep in mind.
You can either download or compile godot as a headless client (NOT SERVER) and build your games with that.
My script fot that is very simple:

scons platform=linuxbsd target=editor
cp bin/godot.linuxbsd.editor.arm64 /opt/godot/godot.headless