I don’t want other people to open my egg files due to intellectual reasons. Is there a way to protect them?
you can only make it a bit more difficult to open. but once they are on a customers computer, you have no control over it anymore.
.bam or egg.pz are easy ways to hide a bit of the plain-text file. but the remain convertible with a panda-sdk install.
You can put them in a multifile that you encrypt with the password of your choosing. This will make it still more difficult for a user to unpack them, even if he is experienced with Panda, until he breaks apart your program to find the password within it.
As Thomas points out, there is no way to prevent someone from extracting assets that you install on his computer. This is true of any assets whatsoever, regardless of the graphics format you use.
an egg file looks like a text based xml file. so you can just encrypt it using any of the python baseed encryption modules. at run time, you can decrypt them and load them directly to memory. you will have to probably see the code for the modelloader method and see the output format for it.
maybe write a similar method which takes the xml data from a memory object rather than from a disk file.
an egg is not xml based. it is just plain text with its own syntax.
even if you encrypt the file, you still have to store the decryption key somewhere in your software (on the clients pc). and at that moment it becomes useless.
cause the user once again has everything he needs to decrypt it. and if someone really wants the person can even hook into the openGL calls and snatch your data away.
there is no way to truly protect your artwork. face the facts.
thats why i said “looks like”.
anyway, i think if he encrypts the egg file and compiles and obfusticates the excecutables, it will be reasonably hard to steal his artwork (with minimal work involved). of course, I don’t think anything can provide him with 100% safekeeping guarantee.
also, if the game is a “always connected” game, you can use any of the online DRM management modules. but I doubt there are any good free ones.
I feel the whole Asset protection line of thought is one of diminishing returns. the more work and money you pour into it, lesser is the gainful return. So, beyond some simple and easy to implement schemes, dont put too much effort into it.
Anyway, i haven’t any personal experienec with this, so take my advice on this with a pinch of salt.