Protecting your ASSests

Discussion in 'Indie Business' started by Greg Squire, Aug 11, 2004.

  1. Greg Squire

    Original Member

    Joined:
    Aug 5, 2004
    Messages:
    849
    Likes Received:
    0
    Protecting your ASSets

    You can read that title two ways and I mean both. :D

    I've noticed in some games (not just Indie games) that the game assests (images, models, textures, sound files, etc.) are in a standard form (GIF,JPEG,MPG,AVI,WAV,MID,MP3,OOG,etc.) that someone could come along and just lift them from the game. Most assests might not be usable, but some might be. I realize that no honest, self respecting developer is going to do that (hopefully that's the majority of us), but some might do the dishonest thing to cut corners and save time. So, do you think it's worth protecting (using encryption or some other scheme) those assets somehow? Is it worth the hastle?
     
    #1 Greg Squire, Aug 11, 2004
    Last edited: Aug 12, 2004
  2. papillon

    Indie Author

    Joined:
    Jul 26, 2004
    Messages:
    2,193
    Likes Received:
    0
    ... You've got an extra 's' in there. :)

    Having some things exposed can create added value for the user if they can then mod the game by just editing the easily-reached assets.

    Personally I'd be more worried about leaving something exposed if it were something I had not personally made but had paid someone else to do. If I made it myself then I should be able to recognise if someone is trying to exploit it and raise a fuss. If someone else made it, they might blame me for letting it leak out...

    Some things are probably more likely to be stolen than others. Sound effects could be particularly tempting to make off with, where sprites are far more recognisable.
     
  3. Reanimated

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    109
    Likes Received:
    0
    I agree, that sometimes its good to let the users mod it if they want to. You could encrypt things like sound effects, but leave sprites unencrypted.
     
  4. GameStudioD

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    154
    Likes Received:
    0
    Many successful companies and games dont bother to make custom files (PopCap). Having custom files means that you need custom tools to manipulate them and that is more work. I briefly looked at this issue for my game. The time to write custom file format readers, writers and tools out weighs the remote possibility of someone stealing media content. Plus, if your game has fans, your users will want to mod the game.

    Custom file formats have their place, but using an existing format and using existing tools is a time saver.
     
  5. Nemesis

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    273
    Likes Received:
    0
    Due to our wish to have a WAD-style resource file we ended up creating a custom format that is designed to host all the required resources, be it textures, materials, particle emitters, 3d models, sounds, music, maps etc.

    It also serves our other requirement of protecting the game assets. While the data itself is not encrypted, the custom format still needs to be interpreted before anything can be ripped out of the game.
     
  6. KNau

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    1,165
    Likes Received:
    2
    My advice; don't worry about it - especially if it's going to add to your load times in any way. From the "Bad Indie Developer, No Frappuccino" article on Game Tunnel:

     
  7. Mike Wiering

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    246
    Likes Received:
    0
    I never use standard formats for graphics etc. Allowing the player to be able to see all the graphics without having to play devalues the game IMO. Normally, people who want to find out all the secrets in my games (or see all the graphics, backgrounds, etc, even secret music) will simply have to play the game for a long, long time.

    Whenever I try out a game, it's usually out of couriosity, mainly of what the graphics will look like. If the game is any good, I'll be courious what the next level will look like, etc. Some games are really bad, but still make me courious enough to play through a few levels. Usually, after playing a game for the first time, I'll take a look at the files. Often, I find all the complete graphics, and I browse through them. Then I know exactly what to expect (often including what will appear in the full verson) and there's no need to play the game anymore.
     
  8. EpicBoy

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    624
    Likes Received:
    0
    If you're only playing the game to see the graphics, I'm wagering it's not worth your time in the first place. The fun should be to see what happens with those graphics - the gameplay surrounding them.

    Besides, your argument reads like someone who reads the last page of a book and is then disappointed that the book is ruined. The solution is simple : don't look.

    As for the topic, I agree that custom file formats are dumb. There's really no need to protect anything. WAD type files are fine, but why not just use uncompressed ZIP files? You can group everything together the way you want to and reading the data back out is simple and cheap. Plus, hey, no custom tools to write!
     
  9. Sillysoft

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    831
    Likes Received:
    0
    I don't think it is worth the effort. Your time is better spent finishing and marketing your game.
     
  10. gmcbay

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    280
    Likes Received:
    0
    I agree with EpicBoy, et al. It is not worth wasting even a minute making custom file formats.

    I just put all of my game data into an (uncompressed) zip file and access it using the PhysicsFS library. I rename the .ZIP to a different file extention just as a means of ever-so-slightly detering the weak-willed peekers that Mike is talking about, but if anyone *really* wants to spoil the game for themselves that bad, well ... fine by me.
     
  11. Morphecy

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    34
    Likes Received:
    0
    I use DataPak (for Blitz3D) which simply puts all your data file in one big encrypted file. It's real simple and gives decent protection for your files.

    I'm sure there are similar progs for other developer languages and kits.
     
  12. Jack Norton

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    5,130
    Likes Received:
    0
    Not useful, expecially when you do updates... every time you have to repack the changed files, upload them again etc...

    Really don't see the point in protecting such stuff, only a waste of time :)
     
  13. world_creator

    Original Member

    Joined:
    Aug 3, 2004
    Messages:
    14
    Likes Received:
    0
    ive used datapak for mines but i make all of the original stuff available for use in a mod through the editor. if they tried real hard its not too hard to steal.
     
  14. Karukef

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    15
    Likes Received:
    0
    The absolutely easiest way is simply to leave all your files however you want them and rename the extensions. TGA becomes GIG and OGG becomes YTT and so on. Only people that read faq's and messageboards about the game you made will ever know about it.
     
  15. Reanimated

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    109
    Likes Received:
    0
    Problem with that thought is that the header still stays the same so images and sound can still be loaded with normal applications. Granted, some REALLY weak people wouldnt think of it, but most who *want* to see the graphics, would try to open that file in a paint app, or sound editor as the first thing.
     
  16. 3dben

    Original Member

    Joined:
    Aug 4, 2004
    Messages:
    76
    Likes Received:
    0
    I agree that being able to mod items is a real bonus. With that said I try to pack everything into larger files. I dont think there is a wrong or right way and I dont believe anyone would steal something to make money from. Generally speaking I think the more stuff spreads around out of your game, be it a song or a sprite, will ultimatly spread word of the game around and become cheap advertisment.

    One thing to note though, I think the ultimate solution would be to pack items into larger files and at the same time supply a tool (for those interested) that lets them depack these files. Why?? Well, two reasons, 1) anything that lets the user feel creative will work to your benefit. 2) Install time. If you have several small files as opposed to a few large files. Your going to get much slower install/uninstall times. I found this out with some early builds of my game that had over 1000 files. This took a very long time to install compared to it now with only 24 files.

    In the end; Do what's easiest and dont worry about it.

    -=ben
     
  17. dan

    dan
    Original Member

    Joined:
    Aug 13, 2004
    Messages:
    64
    Likes Received:
    0
    We don't pack them because modders help a lot (our last game was a construction set). As far as "reading the last chapter of the book" goes, for the few who do it, I can't see it being a buy/not buy decision.

    And the scuzzballs who rip graphics are more than proficient enough to figure out a way anyhow.

    If loading times are an issue, I could see it... but our prototype is speedy on that score so far.
     
  18. Nemesis

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    273
    Likes Received:
    0
    Switchable virtual file system?

    I'd like to share my experience on our one-file and combined editor approach:

    While it might be desirable to have a WAD-style packed-file system for the deliverable, it is sometimes ackward to work with. For example, whenever we had to update the format of one type of resource, being packed with other resources, it was a hassle to manually convert the old package files to the new version and we usually ended up fidling with the loading and saving code.

    A better approach might be to create a virtual-file system that can switch from loading resources as individual files to extracting them from a package file. This makes it easier to, say, create individual editor programs for each type of resource and then just package the whole lot together. In addition, during development, it makes sense to have the resource manager work in separate-file mode so that resources need not be compiled in one package whenever there's a change.

    In terms of modding, the approach would then be to include the tool that packs and unpacks your package files to allow modders to change the individual resources such as images etc.

    This is something I'm planning to look into for future development. For reference, this is an archived tutorial relating to the above:
    http://www.flipcode.com/tutorials/tut_vfs01.shtml
    http://www.flipcode.com/tutorials/tut_vfs02.shtml
    http://www.flipcode.com/tutorials/tut_vfs03.shtml
     
  19. Greg Squire

    Original Member

    Joined:
    Aug 5, 2004
    Messages:
    849
    Likes Received:
    0
    It appears there's some difference of opinion amongst us, which is fine. We certainly don’t have to agree on everything (nor should we; that would be boring). As for me, I will probably not bother with this for my first game, just to save time. However, if I did do this, I think a proprietary VFS (like Nemesis mentioned) might be the way to go. It would make it harder to crack, and you still have the benefit of using developing with standard tools (not writing your own). I remember the old Genesis3D engine had a some VFS routines in it, and I’m sure there's plenty of other code out there (such as on flipcode) so you don't have to do it all yourself.
     
  20. Jim Buck

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    1,158
    Likes Received:
    0
    Incidentally, Quake worked as described by Nemesis - it would look for files/directories inside of a .pak file as well as in a real hard drive directory tree.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer