so what is the best protection for your game so no one can steal it ? encryption ? how is that done ? a program ? where is it then ? any help with this would be greatly appreciated as everyone could use this knowledge if they did not know it already … thanks
Assuming you’re worried about people extracting scripts or assets from your game, you can read my post in this thread if you want a long-winded description of why it’s not possible and why you probably shouldn’t worry anyway unless you’ve invented some amazing new algorithm or have assets that you genuinely believe would have value to other people.
If you’re talking about stopping people pirating your commercial game, then that’s a different matter and not one that you’re going to solve reliably either.
There is none; it’s impossible. The best “protection” is to make something good that at least some people will buy.
–Eric
Thank you for replying ! and…ummm… yesterday i found a post on the forums here that explains how to take apart a webplayer game in detail and have everything from the game there exposed… i think the moderators should have that thread removed in my opinion since it just is not right to have it there don’t you think ?..that is why im asking now on how to protect the game more… im also planning to release my game commercially as well eventually … ive already seen protection that will work for the exe file so im good on that end…but the other end is the demo i would release to the public that i plan to do as a webplayer…but… i have not found any solution for protecting it yet…maybe your answer will work then…i have to check it out now … thanks again for answering my sos
ya i understand it is impossible to protect the game, but at least it would make it more difficult by protecting it by some way
First, taking apart a web-player game is much more difficult than a regular distro, so I doubt you’ve found a detailed guide for achieving it. The best you’re likely to do it pull the code and maybe assets directly from memory, and anybody who is willing and able to do that is really not interested in your (or my) code and assets, I promise you.
Second, you haven’t found a way to protect your .exe because there is none, or at least none that are going to work reliably against the same type of people mentioned above. The best you can do is obfuscate your code, which basically means randomising the variable names through an expensive app post-compilation. There’s more to it than this, but that’s the general idea. This is not encryption, and it can be reversed. Encryption like you’re thinking is not possible.
You’re right in that the best you can do is make it slightly more difficult for somebody to get at your scripts, but again I have to ask what you’ve got that you think people want? There is public domain code out there for every single algorithm and technique under the sun, freely available and commented in almost every language. If you want to make it much harder for somebody to see your code, write it in C++ and include it as a .dll file in your project.
Consider this: in the history of gaming, there has never been a game that has not been cracked or had asset extractors written for it. The assets in these games are miles above the type of thing you or I could produce, and they’re easily available to anybody. You still don’t see them being “stolen”, because using them in your own games is a ticket to man-sex city at your local jail.
Commercial developers don’t bother encrypting their files because it’s pointless - the game has to decrypt them and load them into memory to play the game, which mean not only can they be pulled out of memory or dumped from the video card, but the decryption code and key is sitting there in the game directory. Developers spend more than your average gold-plated mansion is worth licensing anti-piracy “solutions” that crackers shrug at and strip away before the master discs have left the pressing plant. Complex online activation (which pisses off customers) only delays it.
To “protect” your demo, make a new project for it that only includes a single level and not the entire game. Job done.
thanks again xomg ! i have just sent a message to one of the moderators about that found thread … ya and i know the game can’t be fully protected but at least now i know how i can make it harder to break… thanks
Don’t hand it to anyone else.
Thats also the only way, because aside of the animation data anything can be extracted rather easily, independent of how high your encryption is as the data to the gpu and sound chip are always unencrypted (so its just technically impossible).
As xomg mentioned, legal protection would be the way to really ensure its security, but for indies thats commonly a massive lose game, so we ensure that people like it and buy it and care primarily that not any kiddie and “I can barely use windows” user can just missuse it (target platforms like steam / bigfishgames that come with their protection measures to help on this end) or just don’t care for it which still means good success if you do it right (Impulse has various games following this approach)
ya dreamora, that is the first thing that came to my head when i asked myself " how can i keep this game from being stolen ?" answer:" don’t give it to anyone ! " bahaha… im making games that are to play and not for games to just sit on the shelf… but i still don’t want to be ripped off too badly
It’s no secret that you can “decompile” .net applications. It’s a feature of the language, and the main tool for doing this is provided by Microsoft themselves and fully documented. You can’t hide knowledge from people and hope it’ll go away (unless you work for the CIA, lolzlolz, etc, please don’t assassinate me).
From what I’ve seen, and what sales figure (and dreamora) back up, if you make a good game people will pay money for it, even kids who would normally pirate it. If it’s awful, nobody will buy or pirate it. If you really want to ensure that people will buy it, make a multiplayer game where only you have the server code, or ensure that people need a valid key to play on legit servers. Multiplayer games are the best kind of anti-piracy you can get, followed closely by fun single player games. If you have absolutely no soul, just make some kind of “casual” game designed for bored housewives on Facebook and you’ll do alright, unless that ship has already sailed.