This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Thanks in advance, everyone!
- Lemma-Class Veteran
- Posts: 3645
- Joined: Sat Jul 09, 2011 10:33 pm
- Projects: A Close Shave
- Location: Medford, MA
*Last Thing Done (Aug 17): Finished coding emotions and camera for 4/10 main labels.
*Currently Doing: Coding of emotions and camera for the labels--On 5/10
*First Next thing to do: Code in all CG and special animation stuff
*Next Next thing to do: Set up film animation
*Other Thing to Do: Do SFX and Score (maybe think about eye blinks?) http://lemmasoft.renai.us/forums/viewto ... 51&t=21978
It’d be awfully hard to really protect the assets in a game given the way Python works. Sure, you could code some encryption so that “raw archive extracts” weren’t directly usable, but it wouldn’t necessarily take much of a programmer to defeat it - given that your game has to be able to decrypt the assets as the game is played, any competent hacker is going to be able to extract this code and then create a tool to run it outside of the game context to decrypt the assets. I’ve seen this done over and over on Unity games that tried to protect their assets with custom C# encryption. As long as you can work backwards from the distributed game to source code (which is pretty trivial with Ren’py as well as with Python itself), this is a losing battle, IMHO. PyTom probably has far better things to work on.
Note that if you did want to take a shot at this yourself, the logical place of attack would be at the point where Ren’py extracts assets from the archive files. The code is available on Github - have at it yourself, or find a Python programmer willing to do so.
Tom has already expressed that there is no interest in adopting any of the false-securities into RenPy. Most are just a hindrance, more than anything. Causing more problems than they attempt to solve.
For protections, you are best to implement some kind of third-party protection, or have some kind of "live login", which depends on a server for some critical components. (They would have to emulate the server, with the critical components, in order for it to be replicated as functional.)
There is only one current protection for software that exists, which is a stand-alone solution. (Requires an online connection, but has drop-in game ability.) That is the "Denuvo Software Solutions", form of protection. It runs in a virtual-environment, isolated from the OS, and uses an inline encryption/decryption method, to complicate things for pirates. (Most games take longer than a week to crack, but all get cracked.)
However, even they are not "crack-proof". Nothing is, to date. It is a catch-22... In order for people to play it and see it, it has to be decrypted at some point. If it can't be decrypted, most things can just be reconstructed in the unencrypted form, from what is sitting in memory and displayed and being used, in code.
The harder you make it to use, the less you will find that it is used. The archives are a simple solution that is effective enough to stop casual users from folder-poking for your data. The others, if they want it bad enough, can and will get it, if it is worth getting. Focus on making material worth getting, instead of attempting to control the uncontrollable and limiting who can gain from your creations.
The only certified form of protection would be to build your own computer-system that is a one-way gate to display your creations, without any way to access the data otherwise. Even those can eventually be hacked to reveal the contents, but it takes the longest amount of time and greatest amount of resources to do. (Few things are worth the process of dissection, by those methods.)
- Lemma-Class Veteran
- Posts: 2806
- Joined: Mon Dec 14, 2015 5:05 am
- Location: Your monitor
Just as easily undone as an archive, but will help deterr some.you can generally without an extension, renpy reads and recognizes any image format from the file itself.
image any one can write down, simply changing the value here
imagebutton idle ("k" + str (globals () ["cl" + str (z)] ) + ". w")
imagebutton idle ("k" + str (globals () ["cl" + str (z)] ) + ". png")
pro·gram·mer (noun) An organism capable of converting caffeine into code.
- Eileen-Class Veteran
- Posts: 1849
- Joined: Sat Jan 19, 2008 2:47 pm
- Projects: The Space Between
This. Not even billion-dollar game studios can keep people from cracking their games and accessing assets, etc. So why bother?
Who cares if someone 'steals' your assets? They can't be used legally by someone else. It will most likely be fans doing so anyway. Like ISAWHIM said, just focus on making your game so awesome people WANT to break into your archive files. People only do that with successful games anyway.
Users browsing this forum: No registered users