General:
Hiding Files
By: Jack Hoxley
Written: June 2000
There is one thing that is garaunteed
to REALLY annoy any games programmer - theft. If you've worked on a game for
months and then someone steals the artwork or sounds from you and worse, goes
on to use them himself/herself. There is very little you can do about this without
delving into really deep encryption or compression (or both). No matter how
hard you try, someone somewhere will probably get passed it sooner or later
(If they try very hard). However, there are several simple things that you can
do to minimise the risk:
- Make all files that are loaded
by your application have a ".Dat" extension. This way when a user
double clicks on the file it wont load up in the default program (ready for
editing/stealing). If you also change the extension in your code, DirectX
will not know the difference - it looks at the data inside the file, not the
extension
- Watermark your files. This
can be done with sounds, music and graphics. Basically it involves hiding
copyright data within the actual picture itself - therefore if they steal
the picture straight off you can check if it was yours in the first place.
This is dependant on which program you are using; look through the help files
for more details.
- Encrypt. If you dont have
the skills to write your own encryption algorithm, you can often find a freeware
tool on the internet. Unless it's extremely important, you will not need an
incredibly secure enryption method.
- Archive your files. You can
stick all your files into one big one - which is custom to your program; therefore
no one else can read the data. You'll need to unpack a copy of all the files
when your program starts, then delete all the temporary files before you finish.
- Add a tag. Open up the file
in Notepad/Wordpad - It'll probably be complete garbage to most people, but
if you add a unique key to the front then it'll corrupt the file. Then; when
you load the file, use vb's Binary file access to read the whole file EXCEPT
the key and save it to a temporary file - because you know what's wrong with
it, you can fix it. For example, put <MYFILE:MyProject©Me> Then
remove it again....
- Date Checking. Check what
date the file was created on or last modified. This way you can detect whether
or not the file has been messed around with; this doesn't stop people stealing
but it does stop them trying to change your game.
- Copyright all your material.
This should be a standard process, but some people forget it. Be careful though,
if you do it wrong/copyright stuff that's already copyrighted you can get
into all sorts of legal confusion...
Or; you can go to the drastic
extreme and Sue the person who stole your work. If you hold valid copyright
of the material you may well be able to hurt them alot. But that'll propbably
be out of the picture for small-time developers.
As you can see it is quite difficult
to protect your work, but you may well find that it is worth it. Oh, and there
is nothing stopping you from using all 7 of the above tips together......
|