Store project files, content inside an encrypted file.

In my opinion would be great to have an option in GD to pack everything, all the images, sounds, project files, folders, in to a single encrypted project file and we could use this file to share GD project without allow people to have direct access to actual content. So we could choose if we want to save the project “normally” as it is now, or we want to pack/export everything in to a single encrypted file that would require GD to have access to content and of course if something packed in to a file that cannot be extracted any way, only GD could decrypt/read the content in to memory for the time of editing. This can be useful for example to share projects using copyrighted content without anybody have access to actual content outside the project.

Actually as I really take it seriously my little space game (and my art skills are really sh*t), I decided to pay for graphics to use in the game, and I have asked the artist about permission to share the graphics along with my project files under such and such license and the first time he was give me permission, but later he changed his mind because even if it protected through licensing it would allow people to have access to his graphics for free anyway and easily can get out of control and shared all over the internet for free and this is not something he want. And I agree with him, as license can protect your creation only from people who really care about the license, but in most cases people don’t care, they just use them and share them, link them, upload them. But, in case the content would be encrypted such way inside a file, within the project, that would make it a bit different because people have no direct access to actual images, content. Content can’t be used anywhere else, only inside that specified GD project. So, with such feature “protection” we can share GD project files even with copyrighted content, of course we still need permission but with such “protection” imo, would be easier to get one.
But I also have an other reason to request this feature.

I have made a save/load function for my game. I store basically all the details of complete scenes, different areas inside external files that can be saved, loaded in any moment of gameplay with any changes made during gameplay. Basically I don’t need to use layouts, scenes and layers in such crazy, confusing way that seen in my earlier shared project files. Only thing my game has now is a single empty scene that used to load/save areas of game world from/to external files. It make it super easy to create and use as many “areas” in the game world as I want and I can still share information between them. But the point is, I have just realised that, this can be also used to allow players to make and design their own levels to use in the game by simply design the level in GD, save the details of the level in to external file and copy the external file in to the game folder. So I could create and share a GD project including the content used in the game, specifically to design areas even complete game world inside GD and save details in external file in such way and form that the game can use and understand and this way players could use GD to design levels for the game. Somehow similar to Source games can be modded using Source SDK and Hammer Editor, Unreal Games can be modded using UDK and Unreal Editor. In my case, new levels, areas could be designed by players in GD and shared, imported in to my game but it would require to encrypt content so people have no direct access to copyrighted content inside the project that used to design custom levels.

So GD could be used not only as a game maker tool but also as modding tool for existing games in case games designed such way and the point is that GD has the power to design games to be moddable, but use of copyrighted content for such purpose is a question that can be solved with such feature in my opinion.

Any thoughts, opinions on this? I’m really would like to know what do you think about it.
Thanks.

Not sure the “encrypted” file would be a good thing, it won’t protect much things because you just need to have GD to access to the content.
Some games pack their files into big files with all the assets inside it (and GD does it when you compile native games), but it’s not a protection, it’s just a way to make the game use less files.

But maybe adding actions and conditions to save and load external layouts according to objects position at runtime would be a (partial) solution to allow some kind of “game modding”.

RPG Maker from RMXP onwards can pack data into encrypted file. Of course decoders are available for all RM versions supporting encryption.

Actually, this is the point. In case of graphics, people would have no access to actual images. They can use the project and the images inside the project, within the project but not outside the project.
If someone wants to use your content, basically they have to build their game on the top of the project which maybe sounds easy at first, but imo it still not as easy as copy/past the actual content and use it as you want, where you want.

Well, If someone looking for .png images and can’t find any, and because it really not that easy as open folder and copy/past., it can be considered as “protection” imo. Of course there always be someone who know what to look for and how to go around, but the point is to make it a bit difficult so can’t everybody and anybody just grab it and use it.

Regarding modding, at the moment I can imagine it as to use external files to read details of scenes, files and gameplay. And I think it quite possible but it would require to make a “modding” project for the game and share it. For example, the level modding in my game could looks like this:
I would create a separate project that people can open in GD and make a scene using the graphics (objects) of the game, so the graphics would be included with the modding project. Once someone have done a level, just need to run preview and press “S” to save it and the project (preview) would generate the external file that contains all the details of the scene and all objects used in the scene and the game would read the details from the file to generate the custom scene. At the moment I’m only think about basic level modding, (as it is already possible, basically, this is the way I design my scenes right now). No custom images or gameplay and missions, just making a custom level using the graphics of the game. Of course later you can add also enemies, and pick ups and such to the custom scene but cannot customise them. Maybe this kind of modding would be not that interesting, but I think later similar way I could go even further with custom images/paths, gameplay and missions generated by reading details from external files. But anyway, it would require to “hide” copyrighted content from people who just don’t care and would use them and share them.

Well, I’m really would like to go further with this modding idea I have, even if it sounds crazy but I can’t really share it whatever I’m going to have as I don’t have permission to share graphics as freely and open as it is stored within GD projects right now.
I could replace them with placeholders in modding project as we really need only the details of the objects and scene such as positions, sizes, opacity, value of variables, layers…etc but the actual result (look and feel) could be tested only in the game which would be stupid

Anyway, I’m not going to release my game tomorrow, maybe next year, so you have some time to think about it and change your mind. :wink:

Thanks.

Well, you can encrypt data with AES extension, make “loader” project that will decrypt all files and run game then delete those once game has exited. Though you’ll need to use c++ feature to create and monitor process of actual game’s exe, then once it is not present, delete unencrypted data.

I’m not sure how this extension works, but imo it would make no different if I would include a decrypter that need to be run manually first and as I have very basic programming knowladge, at first it sounds a bit complicated to check running processes and such.
Maybe the best would be to make the actual scene editor, modding tool inside GD and include it within the game or export it as a separated pece of application, but I would like to use/share only as a “project” that can be opened in GD, because this way the player (modder) can take advantage of GD built in editors to create custom staff as I’m pretty sure I can’t make such powerful editors inside GD, at least not without C++.