Hello all! I am not a software developer, but am interested in game development and making my own games. After restarting due to switching PCs/Operating Systems, I was recommended to setup version control to keep track of changes and to share the project with a friend who is also interested in it with me. I've heard to steer away from Github from proprietary reasons and they have been stealing users code (?), and as recommended Codeberg.
My question really comes down to: could someone please explain or give instructions for how to set this up so I can easily make changes after each working session? I come from a product development engineering background where we have technical drawings where revisions are made, approved, and saved (Rev A, Rev B, Rev C, etc.) with documented changes between each revision of a single file/drawing. However, I don't understand setting up a project and navigating older/newer versions where there are hundreds of separate files all being updated and changing constantly.
I assume by AI you mean NPC behavior scripts? Those would be versioned the same as any other file in your repository, so if you wanted to revert to an old version you can do so through git.
Generally you wouldn't do that at runtime, though. At least, it's "technically possible" but I've never heard of a game that did that and I can't see the utility in it myself. Usually you make a distribution build from a single revision of your source files, and then maybe commit that resulting build file to version control.
No, it was a typo. I just meant how "I" would access them. Like would I be able to scroll through and select 2025-10-10 in a list?
Yes, IF you use an UI application for git it is that easy. You can then see which commit was made at the wanted date & time. But even better would be to use branches for each different feature of the scripts. They can be merged as needed.
Okay great! Do you have any recommendations for a GUI for Linux?
Personally I find it easier to just use the command line for git. None of the GUI apps are particularly good on any OS, in my experience. Often they will screw something up and you have to fix it in the command line anyway, so might as well just learn the command line from the start, IMO.
However, there are extensions for Nautilus (the GNOME Files app) that works decently for helping you know the status of your files that are tracked in git: https://gitlab.gnome.org/philippun1/turtle or https://github.com/rabbitvcs/rabbitvcs (though I think RabbitVCS might be abandoned)
If you're using vscode already, there are some decent git plugins for that which work okay.
I've been using Godot specifically and writing in the script editor there. Is that okay?