Hello everybody!

I have recently started to make small game jam project with friends using Godot. I previously had some experiences with it, but only on solo dev project. I really like it. I recommended it, and we used it on several project with git the following way: we split our project in a lot of small scene to avoid conflict, and everybody works on their branch. We communicate to be sure nobody is working on the same scene.

Now we face problems that could mean the end of our godot usage as a team: After some commit (I’ll say the first one after a fetch), the uid of some random scene changes and will cause merge conflicts. It seems that there is no logic to it, and it leads to a lot of time lost, sometimes file corruption. The faulty commits are then extremely hard to track. Today we worked with godot 4.4 and it was even more painful. We lost a lot of our project.

I really want to continue to work with Godot, but I should say that my teammates were talking about learning other engine (and I want to be clear: the git conflict is our only issue; but we took half our coding time resolving conflict, reverting commit, cherry picking, etc. just so the master branch has something working on it)

If I have to choose between believing that our workflow sucks or that it is impossible to work with Godot in a team, I’m 99% on our skill issue. If you have any solution or advice, thank you! If you work on a team and you never had those kind of problem, that is also good to know!

Best

  • fum@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    7 hours ago

    There was a big change regarding UIDs in Godot 4.4.

    You should have seen a warning popup about this when you first updated your project to 4.4. You would have been given the option to convert all files to the new UID format.

    As far as I understand, this should have been done by one developer as the only change. An “upgrade to Godot 4.4” commit if you will. Then all other devs should have pulled that, then continued work.

    Ideally this would be done on a branch to test the effect on the project. Engine updates should never be taken lightly during a project. This applies to any game engine.

    • fum@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      7 hours ago

      To add to this, I work alone on my game currently, but often on two different machines.

      I upgraded to Godot 4.4, did the auto convert thing for the new UIDs, pushed that change to git, pulled on my other machine, and I’ve had no issues.