What can I do to protect myself from such a scenario?
I guess it depends on the game engine you are planning to use and how you plan to divide up the work.
If you are paying for the work, get a contract written up. In the states, a work for hire contract is usually enough - but if you are dealing with people across multiple countries - you may need to investigate further.
If you are just getting a little helping hand from someone or someone(s) for free then quite simply don't trust them. Take any help they are willing to give, but it's your project - don't trust them.
If the game engine you are using means that you don't need to share the whole project with your collaborators - don't. Share what is relevant to their particular part of the project - but keep all the pieces under your own control.
Keep backups or implement source control management that allows versioning. If someone does something to an element of the project you don't like... revert it back to a version you do like.
If you aren't using a source control management tool, consider how you'll exchange versions of the project with others. Projects like
You must be registered to see the links
have options where share nodes can have options set so
You must be registered to see the links
, even if they are flagged as deleted. So the whole "person X deleted my entire project" shouldn't happen.
Consider having at least two sets of directories for your project. A "master" directory, where YOUR copy of the project exists in full. Then a directory to be shared depending on the breakdown of responsibilities within the project. If you only want your 3DCG developer to have access to the CG folder and 3D models... then have a set of folders for that. If you want to share everything with everyone, do that. But keep "your" master copy separate so that you only share what you want to share. Consider using other tools like
You must be registered to see the links
and filtered profiles to keep all these distinct copies of your project (full and partial as needed) in sync with each other (i.e. sync only
.duf
files for example, or only
.rpy
file).
If you are doing things on a more manual basis... consider tools or websites like
You must be registered to see the links
to view all changes being made by your collaborators when they send them to you (at least where such comparisons are possible). Although there are websites out there like
You must be registered to see the links
that will compare stuff like text/source files for you, if you don't want to commit to using offline tools.
This should be considered a "off the top of my head" list of possibilities. Don't consider these the only options or even the best choices for you. Consider them instead as starting points... a hint of the possibilities. They each work for me, but then I'm a simple soul with a mostly technical background.
If you really want to get paranoid and you have two computers available to you, create a network share read-only on the machine where the day-to-day project files are stored... and use the 2nd computer accessing that read-only set of files to do your backups/versioning. That way, even if the main computer is compromised somehow - there isn't an easy route to the backups.
If all else fails... it's really hard to delete/alter a copy of project that is stored on a memory stick that isn't currently plugged in.
Slightly off topic... but... like any backup strategy... try to find a way to do off-site backups. Having the world's best backup processes in place at your home/office is great and all that. But if your house burns down, you lose all your data and your backups at the same time.
If in doubt... do it all yourself.