GDevelop unable to save large project?

I’ve been working on my game for a few months now and I have been getting an error when trying to save my game. Whenever I try to save my game I get an error saying “Unable to save the project! Please try again later or save the project in another location.” And then after I click ok the editor goes blank and I get an error message saying “This editor encountered a problem. Something wrong happened :frowning: Please backup your game file and save your game to ensure that you don’t lose anything.”. I’m thinking it might have to do with my game having lots of sprites but I’m not too sure, this basically started when I was working on a pixel canvas which over 2,000 pixels with each pixel being a sprite. If anyone can help me solve this that would be great!

1 Like

Hey. Sorry to hear you’re having issues with GDevelop.

I’ve had similar problems with it in the past. The root cause could vary but i’ll ask some rudimentary questions to simplify my explanation.

  1. Are you trying to save to the same project file?
  2. Do you have a third party antivirus or malware cleaner with real time shield?
  3. Do you have an integrated (embedded) or dedicated (attached) GPU? How much VRAM? (i.e 4GB, 8GB, etc)
  4. How much RAM do you have?
  5. Do you any other apps aside form GDevelop while working?
  6. If you open the web browser, which one are you using?

I’m asking those questions because IIRC when GDevelop hits a memory limit it can go blank, as you described. But also when the program refuses to save the file it can be either because the file got locked by the operating system (Windows OS, usually), because you could be involuntarily saving on any other location that is not the project folder or because the project file got corrupted in a very specific way where it won’t be allowed to write to it anymore (if any devs read this, yes I’ve had this issue specifically happen to me under windows 10, roughly 4 years ago with GD 5 Beta 65~92)

So the troubleshooting we can try for these issues is the following:

  1. Don’t save over the current project file. Go to File > Save As > Make a new file with a name like “current_filename_001” this will force GDevelop to rewrite (and reshuffle) all of the instructions. What I noticed is that if you’ve made lots of changes over time they weren’t properly rearranged but rather tacked on the file, so saving as a new file would organize them better.

I’m not even kidding, I was working on a fast paced client project when I discovered my files could get corrupted like that I made hundreds of manual backups like that afte reaching certain milestones.
image
I still have copies of some bugged files but that’s unrelated to your issue, just showing what I mean with backup files

  1. Sometimes windows can lock files due to the antivirus working, or due to file permissions bc security protocols. This will effectively lock your file and you won’t be able to write on it until you reboot. Most AV’s allow you to ignore folders, so put the GDevelop Projects folder. But for the faster solution just Save As a new file…

  2. Related to VRAM if your GPU is getting chock full of information it might white or black out because it can’t hold more. Since you mentioned having huge images, this could also be a reason for the screen white, but it shouldn’t be a reason for not allowing you to save since the save file is a text file that saves references to the resources as well as the instructions themselves.

I do recommend closing GDevelop and restarting it every now and then so the memory resources are redistributed to the OS, I don’t know if it’s a specific memory leak or just a specific problem of using browser & web technology (because this also happens to some web apps) but I’ve also had the white thing happened to me in the past and I had to make habit to just save and restart the program :man_shrugging:

  1. As for the computer RAM and the rest of the questions I was asking since at least Chrome is a memory hog. I personally use Opera GX only to be able to limit how much RAM and CPU resources it’s using while I’m working. Obviously if you don’t have enough RAM having lots of apps will choke GDevelop’s own RAM requirements.

I hope a dev would take a moment to explain if images are allocated in either RAM or VRAM, or both, as well as letting us know if GDevelop is using both as well since WEBGL and other tech are using lots of GPU nowadays.

Depending on what works and what doesn’t, we could try to pinpoint better the cause of your second issue. But for the first issue, unless the troubleshooting fails (saving a new file), it’s a bit of a wild guess right now. Hope this helps you get started on finding a proper solution!

2 Likes

After trying to save it to a new file it still fails but I did it with my task manager open and the moment I try to save it the CPU goes all the way to 100% and then it says that the saving failed. I also save the files to an external hard drive if that is helpful.

Also to answer your questions.

  1. Yes I have been trying to save to the same project file
  2. No I don’t have any third-party antivirus
  3. I have an integrated GPU with 4GB
  4. I sometimes have Aseprite (A pixel art app on Steam) and Edge open but I haven’t had them open when trying to save
  5. I use Edge since Crome makes everything run slow

Thank you for the help btw it means a lot!

Thank you for answering the questions! Too bad the initial suggestion didn’t work :pensive:

Since you mentioned an external hard drive and the CPU use, let’s try a few pre-emptive tips before trying to save again

  1. In the GDevelop editor try closing all the tabs and panels. Literally you would end up with the project open but without any of the app panels. This should reduce the GPU & CPU cost of having the app open a bit.
  2. Go to the resource window and double check none of the resources are greyed out or have a garbled path. When a resource is deleted without deleting the reference IIRC it will try to show it on that window. Any broken path could also become an issue while saving the file.

Now onto the actual potential steps to try

  1. Try copying the entire game project folder to the same hard drive where you installed GDevelop. For example if you install normally it should go to C: so just pasting to the desktop or to documents would suffice for now.
  2. Try saving the file again but now to the copy project in the local hard drive, just in the same place where the other game.json was located at. It’s important you try to save it inside the project folder for

After that if it doesn’t work, to rule out the memory issue try this:

  1. Go to the resources tab and remove the 2K pixel graphic you were using. The one you suspected caused the issue.
  2. Don’t delete the game objects, just the resource link and try to save a copy of the game.json file again and see if it works or not.

If that doesn’t work

  1. If you had the GDevelop editor open for a long time and you’re using that to save, try opening a second instance of GDevelop first
  2. Open the original project that you can open (don’t worry if it doesn’t have the new changes it will be used only as a starting point). Make sure all the tabs and panels are closed in the UI in both editors.
  3. Try to save as a new file.
  4. If it works just like that then close the new GDevelop instance
  5. In the previously opened GDevelop editor now try to use the Save As option and save over the new file you made.

If that doesn’t work then try this. It’s a bit hardcore but I had to do it once:

  1. Open the game.json file in a text editor like Notepad or VSCODE
  2. Create a new file and call it “game_copy.json”
  3. Copy ALL the text from the original file.
  4. Paste it into the new file you made and save it
  5. Try to save over that file from the opened editor

If that doesn’t work, devs might need to review the entire text file or even the project to find potential issues, but that’s like an extreme solution and you should definitely request some help from the devs directly on discord if they don’t see this thread.

For now I can’t really thing of other troubleshooting ideas related to this that I haven’t tried myself to solve that specific issue :thinking: but If anything else comes to mind I’ll make sure to share. Best regards!

1 Like

Sadly nothing seemed to work, but one thing that I kind of wrote the 2,000 pixels thing wrong. It’s not a sprite that is 2,000 by 2,000 pixels It’s over 2,000 sprites that are each a pixel in size. There are also over 2,000 variables for each sprite so I can save what color each one is. So I couldn’t try out that one solution you thought of. If this is the reason why I can’t save my game then I’ll have to try something else for that part of my game :(. I didn’t try it cause I wanted to know what you know about having over 2,000 sprites in one scene. Thanks for your help again!

1 Like

Hey I sent a reply to this post earlier with a few more idea and tips, but it seems it’s pending approval from a mod for some reason :sweat_smile:

I have to go for now, but I wish you well. Let’s hope for a dev to come and help you soon, though you might need to wait until Monday for them to reply since I think they work only on business days.

Don’t forget to consider reaching out on their discord server and sharing this thread as well in case they don’t answer in a timely manner. Best of luck :pray:

1 Like

After a bit of messing around, it seems like having over 2,000 sprites was the reason why it couldn’t save. It’s sad that I have to rework the old code but I made a backup copy of it so when your tips and ideas get approved I’ll try them out if not I’ll just continue working on a version that uses fewer sprites. Thanks for all the help though :). Have a toontastic day!

Ah! My bad I misunderstood that part. Of course having so many sprites visible at the same time would use a lot of memory. Sorry to hear nothing worked.

However I think at least a few of my suggestions would still be valid despite my misunderstanding so:

  • Closing the editor tabs altogether will effect the entire app memory consumption, this way any visible resource should not to get cached in RAM or VRAM.
  • Checking the resource editor for garbled or broken paths, due to the consideration of the external drive.
  • Loading & saving the project from a local hard drive would help avoiding potential issues on how GDevelop might resolve file paths.

Note: One thing I forgot to mention, which is really dumb on Windows behalf is you might need to run GDevelop as an admin. In the past I’ve read people have had to do this to solve related file saving issues.

Or course since none of the other troubleshooting ideas worked, I can only assume broad issues related to:

  • The file itself
  • The resource referencing routines (considering the high count of sprites, it might be taking an inordinate amount of time to parse through the names)
  • The thousands of variables per game object (which could require a redesign depending on what are you using them for, to make it more optimized)
  • GDevelop specific components used in your game could be bugged, perhaps the type of game objects used, a specific applied behavior or even an extension.

Considering the moderately high amount of sprites you explained above. Let me ask: Are those individual sprite resources?

If they are, have you tried using tilemap & spritesheet objects to reduce the amount of raw resources as well? this could definitely optimize your game a lot, but it might require significant effort to modify everything right now.

  • If you were already using tilemaps & spritesheets then AFAIK there shouldn’t be a real issue with resource linking at runtime, and most definitely it shouldn’t be causing an issue to save the file (unless, as noted above the resources reference paths were somehow lost by the app and they became impossible to “read”).

The last idea I can suggest is to create a very small project and methodically load the most suspicious elements used in your game (resources, behaviors, game objects, functions, extensions, etc) since the time you began to notice an issue to find a pattern for a potential reproducible bug so the developers fix it eventually.

Other than that I’m afraid is a situation where you might need to literally gut your game and start removing stuff piece by piece until you can save properly. If you try this tho make sure to deactivate the autosave function :sweat_smile:

Just to chime in: As a note, this shouldn’t be the reason why you cannot save unless there’s something in your system hardware or software config disallowing it.

I’ve done some testing for people that were reporting slow load times by creating projects that had 100+ scenes and roughly 3500 sprites, and I was able to save.

Jose’s suggestions are very well laid out and smart, but if they don’t work I’m not sure what else it could be.

1 Like