Resource bank

In my opinion would be useful to have a ‘Resource Bank’ in GDevelop which is dedicated to include any kind of files with our project. Image, text, video, sound…anything so they gonna get copied when we run preview and export the project.
It would be useful mainly when we wish to access resources from Javascript so our resources are not referenced in GD but required in JS.

For example, I’m just trying to play video using Javascript but to do so I need to copy the video file manually in to the export folder.
Technically I’m able to add the video file to the ‘Image Bank’, but hey it called ‘Image Bank’ if nobody mention it, I would never think it could work with videos as well and maybe it not even practical even though it works.

So a resource bank dedicated to include any files with our project would be great in my opinion. Nothing special just to be able to make sure, resources we need get included and copied when run preview and export. It may could replace Image Bank.

Yes, that’s a good idea. In fact, the “Image bank” is already called “ResourcesManager” in the source code of GDevelop and is almost able to handle other kind of resources without big changes in it. If I remember correctly, we just need to create new type of resources in the source code to allow GDevelop to use and store other resources in projects.

Related suggestion: Ability to store resources directly in .gd file. Since it’s XML, base64 encoding could be used here. With that, to share project you won’t have to zip it up, just send .gd file with embedded resources in it.

This would contradict the new feature of saving stuff in separate files instead of everything in the “Project.gdg”.
For bigger projects with more than one person involved (especially when using git/hg/svn) it would be better to “atomize” the project as much as possible.

Except binary files are incompatible with version control (if you’re reasonable programmer, you don’t put binaries into VCS). Base64 represents binary data as text, therefore making it compatible with version control.

And I don’t see why you think it would make it incompatible with “separate” saving function - that’s different feature altogether. It’d just mean that unless you click “save in separate files” (or whatever it is called) all project data would be nicely embedded into gdg using base64.

I’m not saying that it would become incompatible. It would just encourage people to adapt bad habits.
Surely you can save all images base64 coded in a “text file”, you could also write a whole application within a single source code file. The problem concerning vcs is that every developer that works on the “2d sprite part” of your game will have to modiy one and the same file (Project.gdg) instead of just the single image files referenced by the Project.gdg.

If you are a single developer and don’t intend to use the “save in separate files function” it would be ok.

But now that we can save the files separately I personally don’t see a point in keeping the old “everything in one Project.gdg” file functionality for future versions of gdevelop.
What disadvantages do you see in zipping your project folder?

Having to zip/unzip my project folder. Unnecessary waste of time.

It’s not really time consuming to right click on a folder and zip it…

But it breaks the flow since you have to use separate utility to do that.