Obfuscating assets

Isn’t there a way to make it so my assets in a distributed game aren’t just grab-able by the user from the explorer folder? What is this called and how do I do it?

I couldn’t really find any information on it, yet I could have sworn this is a legit thing in games and other software.

Make your own texture/model format?

I’m also thinking about audio files as well.

The images are all just PNGs now. If it is a matter of making a format, I wouldn’t know about doing that.

Just don’t bother. If they are so good that somebody want’s to grab them, be happy. If they make a ton of money using them, just sue them.

There is no thing like client side security. All you can do is raise the bar, but in the end you are just hindering fans to do fan-art (free advertisement) and won’t be any hurdle for real crackers anyway…

This does sound like very good advice and something I was considering. Part of me is just very curious about this… and partially a control freak. I’d sure like to know how it was done in games I’ve played before. Like Age of Empires II. I don’t think you could get at the assets. I can’t think of many 2D games to use for example however.

A long long time ago:

Seems to cover this very well. Thanks. Probably much wiser to embrace the “normal” users here rather than attempt to thwart them.

There are still some very good reasons for making your own file formats. Having to go through ImageIO and BufferedImage to load a texture means a lot of copies and garbage generated. In addition, generating mipmaps can also take some time, so making your own binary image format with precomputed mipmaps is a pretty good idea.

Dont waste your time.

  • Dont fight legal issues with code that just buys you time, if someone steals your shit, just C&D them and so forth. If they are committed they will always find ways to get to your stuff.
  • Dont reinvent the wheel, just make a game.
  • Just dont use Java2D.

I concur with the 2 takeaways from this thread:

  1. Don’t bother, except…
  2. …a custom file format or simply avoiding using ImageIO will reap performance rewards … if you need them.

Cas :slight_smile: