Godot Version
4.5.1
Question
Hello!
I’ve just encountered a git (?) issue which (I assume) is caused by how Godot stores tilemap data (in one, long line). I have a 2D platformer game which uses a TileMapLayer as the base level environment. The TileMapLayer has tiles more or less contained within a rectangle area of 650x150 tiles.
We’ve not had any issues with it before, until today. Both me and a coworker made different changes to the scene which contains the TileMapLayer (I modified the original layer, she modified another layer that’s on top of the original) and when merging, there were merge conflicts. Our mergetool (kdiff3) crashed every time (on multiple machines) specifically when scrolling down to attempt to display the line that stores the TileMapLayer data. I tried to change the mergetool to vscode, but it didn’t even manage to open the merge conflict resolving view (even though it manages to open the individual files without any problem). This suggests that this isn’t a kdiff3 or vscode issue, but rather a git limitation? maybe git doesn’t like merging files which have lines that are hundreds of thousands of lines long? (While merging, the line containing TileMapLayer data was about 590 000 characters long.)
-
I’m currently wondering whether it’s a git limitation or if Godot’s Tilemaps shouldn’t be used with such big maps? But it feels weird that 650x150 dimensions would be too much when TileMapLayers are supposed to be built for scale.
-
if anyone has any ideas on what could be the problem here, I’d greatly appreciate it. I’m considering splitting up the TileMapLayer into several smaller layers, but the name suggests that they should be treated as “layers”, not sections. It doesn’t feel like the right solution
-
There is always the possibility that some data in the file was somehow corrupted, but I doubt it because both pre-merge branches launch the scene without any problem.
Please let me know if I’m using TileMapLayer nodes incorrectly and I should split it into parts, or if it’s a git issue, or any other insight you might have.