protect-pack resources

Started by metamorpho, May 25, 2020, 09:51:17

Previous topic - Next topic

metamorpho

Hi all !!
Im using AGK Classic.
Tell me, what are the options to protect-pack resources (graphics, music)?
AGK [Blitz3D]

Xaron

I say: Don't worry about protection. It's just not worth it. If your stuff is so great, people will get it anyway and if it happens on the way to the graphics card.

metamorpho

Xaron, thank you for your opinion.
Yes, I understand that. But I'm not talking about protection against professionals. I'm talking about something that protects against non-professionals. Otherwise, anyone who wants to will use my media.
AGK [Blitz3D]

Steve Elliott

Plus some art is sold on the basis you protect it in some way.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Derron

Even non-professionals will be able to rip your assets:
- screenshot plus "rectangle copy paste"
- google for "how to rip assets from a game"
- google for "how to extract graphics from game"
...
Then they just use a tool which logs all the OpenGL calls and there you can extract all the sent textures...



I think it is one of the _good_ things to find out people are interested in copying stuff from you. Most probably nobody will give a whatever on your graphics.
My game is open source - with the graphics being open source too. Yet nobody except one (some years ago) uses the graphics elsewhere. Sure it is not AAA quality but there is a lot of stuff above average.


bye
Ron

metamorpho

Steve Elliott, Derron, thank you for your opinion. I agree with you, all these facts have a place to be.
But still, when resources are open, then anyone can use them without any difficulty. And when the resources are somehow protected, only a small percentage will look for ways in Google and try various options for hacking my resources. In addition, not everything is so simple with getting resources - and hacking programs come with viruses and these programs do not always work as they should. If a person does not know how to extract resources, then he will have to sweat a lot before extracting something.
In addition, I like it when everything is neatly packed in one file. So let's say I still need to pack my resources, what should I use for the AGK Classic ?
AGK [Blitz3D]

Xaron

I think you will need to come up with an own solution then. But again, it's really not worth the time. You can be glad if someone notices your game at all and if so, it still needs a second step to rip out the resources. Usually that is only done when it's really worth it to sell those.

On the other hand, there could be modders who just like to exchange your graphics/textures. If it's "protected" that won't be possible that easily.

So no matter what you do, if you "protect" your stuff, you will fight the good ones (modders) but won't even stop the simplest script kiddies out there who want to rip out your gfx (if they look really that great).

Coder Apprentice

Check out Steve Vink's article about asset protection using memblocks.

https://www.thegamecreators.com/pages/newsletters/newsletter_issue_151.html

You could also try to use the built in Zip file commands. The ExtractZip has a password option. Zip all your assets with a password and extract it when you need it. You could for example, pack your levels separately so even if the player finds your unpacked files on the hard drive for the current level, there won't be anything from the other/next levels. This might be enough against curious eyes browsing through your whole content easy.

Hope it helps.

metamorpho

Kris, thanks for the info !!!!
AGK [Blitz3D]

hosch

I am kind of new to AGK, but another option is to generate the (gfx) assets on the fly. I wrote a little BlitzBasic program some time ago that reads each pixel color of my pixel art and converts it to DATA statements. I used it to scale some graphics, but you could INCLUDE those DATA statements in Blitz and generate the assets when booting up the game. As far as I know, AGK doesn't support DATA statements, so you would have to use an array, but I know you can at least create images at runtime.

Coding these functions shouldn't be too hard either, of course this wouldn't stop anyone from taking screenshots.