Jump to content
  • Advertisement
Sign in to follow this  
Davi Doro

Question about data and resources protection

This topic is 984 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello all,

I'm developping a game in C++ using SFML only and as the development advances this is something that starts to worry me.

 

1) What do developers do to prevent the users from modifying the data/resources?

2) Which type of data is really important to prevent the users from modifying it? Is it bad to store information about the player progression in a campaign in xml files?

3) What should I do with my resources (.png .bmp .ttf .wav) before relasing? Write them to binary files?

 

I understand that it is essential that the player is prevented from modifying his level and his items, but what about the scenario for instance? Whatever if he makes the map prettier or uglier, right?

 

Thanks!

 

 

 

Share this post


Link to post
Share on other sites
Advertisement

Everything Josh said!

 

... and also,

 

 

What should I do with my resources (.png .bmp .ttf .wav) before relasing? Write them to binary files?

 

 

certainly don't write those kinds of resources to text files. tongue.png

Share this post


Link to post
Share on other sites

If its a single player game, that stuff will be local and what Josh/Swift/Sean said applies.

 

If its a multi player game, the important data will be in the server (player progression, stats, characters, etc), so it shouldn't be modifiable by the player, and the unimportant data (models, textures, sounds) will be local resources, for which again, what Josh/Swift/Sean said applies.

 

Being overly paranoid with the game data is annoying from the POV of the users. More often than not some parameter isn't exposed in the options menu, and people have to dig through the games files to fix it and play their game, typical scenario in older games: Game resolution/refresh rate was set higher than what the monitor supported, so people would edit the config files so they could at least launch the game.

 

Easy modification is what allowed modders to fix hundreds, if not thousands of big and small bugs in Elder Scrolls series. And being pragmatic, if your users go out of their way to fix something in your game and make said modification available to your users, thats good for you, someone just gave their time to you in a silver plate for no charge.

 

Let them mod.

Edited by TheChubu

Share this post


Link to post
Share on other sites

...unimportant data (models, textures, sounds) will be local resources


Multiplayer games will end up checking these files as well, as it is trivial to modify these resources to gain a competitive advantage. For example, I could make all the actor textures bright pink so they easily stand out against the background, and bright green heads so my aimbot can headshot them every time. I can also modify the character model to have giant spikes so I can see where people are through walls.

However fixing said problem is non-trivial (the user's computer is hostile, and you can't trust anything it says, even if it tells you the MD5 of the assets, you can't prove it generated them from the assets or whether it's just giving you the value you expect).

For single player games though? Let the users mod. They'll thank you for it.

Share this post


Link to post
Share on other sites

Thank you, these are all helpful.

I promisse when I release the game you will be able to unlock all the cool characters without playing the campaign.

Share this post


Link to post
Share on other sites


Multiplayer games will end up checking these files as well, as it is trivial to modify these resources to gain a competitive advantage.
Very true. I was thinking more on the lines of an MMORPG. Wouldn't want anyone replacing the smoke grenade sprite with an empty one in a game like CS:GO or CoD.

 

I believe once heard of a game where the players would lower the graphics setting to a minimum since cloaks/smoke grenades at low quality settings affected visibility less than at higher quality. That sounds like a hard nut to crack : /

Share this post


Link to post
Share on other sites
Licensing for some assets may ask that you reasonably protect your assets from reuse in your game.

Even then, as others have said, make minimum effort. Simply compiling for example an fbx to your internal model format, or png to dds, then changing the file extension will be enough to deter most people who want to do things like that.

In my earlier games I simply packed all assets into a 7zip file read by physicsfs. I also slightly modified the 7zip utility and physicsfs to have a different header on my archive so that it wasn't a simple case of opening the pak file in 7zip file manager but perhaps this was overkill.

The determined will get in, and there's nothing you can do to stop them.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!