sorry if this question was answered but I didn’t find any thing specifically about it.
Basically, if you release the game with the .tmx/.tsx files, any one can open them in Tiled and create new maps and resell you game. I thought that I might XOR the files. So basically I encrypt them with XOR, ship them, and my game at runtime decrypt the files back. I think this would work, it would prevent and casual person to hack the .tmx/.tsx. The only issue is that I would still have to ship the raw textures, since the .tsx structure is like this: <image source="surfaceTileset.png" width="120" height="120"/>
So it needs the main .png.
I guess it’s the lesser evil, since at least my tiled files are protected.
Anyway, I am no expert in encryption, I might be overcomplicating things a lot. I’d appreciate any suggestion. I know that any determined experienced developer will ultimately hack any game. But I am just looking for a middle ground protection from casual players.
Thx
edit: or is it much simpler than that? for instance, maybe create a zip file that holds the tmx/tsx and the pngs, and XOR the entire package?
who exactly are you trying to protect your game/assets from? if someone wants to resell your game they will sell it unmodified, why would they go through the effort of adding anything to it?
and if someone did like your game enough to want to make new levels for it, why would you make that harder for them?
if this is representative of your threat model (malicious actor with whatever public decompilers are available for your engine but not the time to actually reverse engineer your game), then if a decompiler exists for your engine, youre just kind of screwed, even if you had strong encryption they would decompile the game, recompile it for console, and publish it unchanged (the game will decrypt the assets for them), and even if they somehow must modify the assets first, they will have the decryption code in the decompilation
if youre not using a game engine and your code is compiled into native code (so no interpreted languages, no java, C# only if its AoT), then no one will try to port it to console, wont stop someone from selling it unmodified on pc
encryption would only be useful if someone specifically wanted to resell your game on pc but only after modifying its assets