I am planning to make a small game in the near future. How can I minimize the chances of it being pirated.
Make the distribution of your game as simple as possible and release frequent updates (with free new content)
eg. Angry Birds on the iPhone. Even if somebody pirates the game first, he might decide to buy it just because of the auto update function. (+ the new free content will give a feeling of getting much more for the money and that you are a decent developer)
On the PC I would use steam. It is great for small developers and the only distribution path more convenient than pirating.
Pricing is far less important in my opinion. A game for 9.99$ on steam will be bought far more often than one for 7$ on a private homepage.
And most importantly: don't focus on the pirates and potential losses. Concentrate instead on the paying customers, quality, and increasing the revenue.
Copy protection is useless. Whatever you do, it will be cracked because your product will be in the hands of the bad guys. The only people you will be inconveniencing are the people who purchased your product (look at what happened to Spore).
Besides, pirates are usually the people that buy the most. The best you can do is make your product reasonably priced, don't piss off the consumer, make a good product, and make it accessible (steam, app stores, etc). Last one is very important. People pirate cause its hard or inconvenient to get it legitimately.
|show 6 more comments|
Your game will be cracked, and it will be pirated. Having said that... Keeping the pirates at bay is an old article about an old game for an old system, but it still makes for interesting reading, and may give you some ideas to keep a game 'uncracked' for a little while.
This article also covers the basics of obfuscating function calls in c/c++.
Just to add two minor points to others' answers:
First, another reason why your game WILL be pirated is that pirates' resources are greater than yours. Maybe there are a dozen people trying to crack your game, for every one person on your dev team assigned to the task of "copy protection." You just cannot compete on man-hours.
Second, even professional big-budget AAA games get cracked, often within a week or two of release. For major titles, that may be worth the extra expense: an extra week of sales for a million-plus seller is big money, easy to justify spending a few tens of thousands -- not to keep pirates out for good, but to buy an extra few days of release sales. If your game is more modest in budget, and you don't expect to make the majority of your sales on release day, it's probably not a good use of your time from a pure cost/benefit analysis.
Third, remember that SOME people pirate because the company doesn't release a demo, and they're using this as a "try-before-you-buy" approach. It doesn't matter what you think of this practice ethically, but if you release a reasonable gameplay demo that serves this purpose, you will at least cut out one chunk of piracy.
As others have stated, once your game is out, it really does not matter if they have the source code or not; it will get cracked. However, you can do a lot to make sure it doesn't burn you.
The first recommendation I have is for you to make it easier to purchase/download the game than for a pirate to torrent and crack it. For example, steam makes it very easy for me to buy a game, so much so that it takes far less effort to buy a game than to crack it. Therefore, if you make your paying customers jump through hoops to play your game, by putting in some crazy DRM or registration system, you could be shooting yourself in the foot.
Another thing to consider is that you should not think about pirates as lost sales. These people may never have bought your game even if no crack existed. But more importantly, they may actually be helping spread the word about your game to people who may not even know about it. Their friends wont necessarily pirate the game. Also, some pirates may enjoy your game enough to actually consider buying it.
The most effective type of DRM is to make sure that at least one part of the game is not actually included with the installer and cannot be duplicated by pirates. For example, have all the maps be stored on a server which you maintain and downloaded when the user runs the game. You can make this somewhat more effective by making users sign in with a username and password before the game can download this content.
However, then the game won't run without an Internet connection and you have to maintain the server and pay for this bandwidth. In addition, even this can easily be defeated by a determined pirate.
In fact, almost all traditional DRM methods don't work. The best you could hope for is making it too inconvenient to pirate the game, so it's not worth the trouble.
There is a lot to be said for the honor system. Sure, you end up with some piracy, but there are plenty of businesses (GoG.com, Wolfire, 2DBoy, etc.) which have been very profitable without using any form of DRM.
|show 1 more comment|
If you want to add some protection (so only the people who are willing to at least hit google a bit can get your game without paying you) make sure to make it fun.
Add optional community features which require internet or link it to physical goods.
Remember the nifty monkey island pirate wheel? A pirated copy was actually less fun (no pirate game) or more work (search the copied data) than a bought one.
An example: If your game should run offline (yes, I think it should), you could add a physical ID card which is needed to unlock the higher levels. On that you encode name and ID of the buyer over and over again to generate diffent data, a fraction of which the buyer has to type in when accessing the higher levels. This would work with an espionage game (the information could be a list of false IDs). Encoding the real information in the cards makes it less likely that people post their cards online. Once someone buys the game, you send him/her the card.
Here's my position on piracy and copy protection, from the standpoint of an end user:
In any case, the best way to encourage purchases of genuine copies is to ensure that the value of the content justifies the cost (both in terms of money and the amount of effort required to obtain a genuine copy) of the game. Piracy simply cannot be eliminated.
Host it online.
No downloads, no pirates. Have you ever heard of somebody downloading a pirate copy of farmville? =)
|show 3 more comments|
All can be pirated. Yet though you can stop a big amount of more newbie people using certain sofwtare like Asprotect or ExeCryptor. But keeping a glance on if it lowers too much performance, specially at initial load.
I recommend implementing AOE III's method of anti-piracy.
When you buy the game, they give you serial codes (the old school, serial codes). Obviously, only after you input the codes, you can play the game. Now, there's a problem with this method. The ever wretched crack. If you can crack it you can play it.
Now that the hacker cracked the game, they can play it, but only to a certain degree. You can't play online without having to re-input your serial codes to make a username & password. But here's the gist, it contacts the servers and checks if the serial code has been used yet!
If AOE III would have used "Part 2" from the beginning of installation, the problem would be solved! No playing the game without contacting the servers. This of course can be a slight problem to some players that don't have internet.
If your a small company don't bother with DRM or copy protection, or if you do just make it a very token attempt.
While personally I don't agree with people calling DRM totally useless because it gets cracked (I do agree that all forms of DRM short of online streaming will be cracked). Financially DRM probably does make sense for large companies, just because those games do get cracked doesn't mean there isn't enough inconvertible to people who are not that competent when it comes to pirating (this can inhibit school yard/soccer mom piracy), or impatient to wait for a crack.
That horrible highly invasive always online DRM for example takes weeks or even months to get cracked as they encrypt the game content with various different keys requiring people to play through them inorder to unlock all the keys. For most major games a majority of their sales are likely to be right after release. Although I think companies selling that stuff should release a DRM removal patch after a few months of being released.
But a small/indie company doesn't have the same business model.
Firstly you require your customers to be happy (large companies don't, they own established brands that you can get elsewhere and they are the only ones that can afford to spend millions of dollars on making highend games). Small companies rely on word of mouth. DRM is bad PR, people hate it. It can only be a bad thing for a consumer (unless you buy into the idea that more games sold end up with games being cheaper as a result but I doubt companies pass on the savings, that charge what they can get away with as they always have). The customers who buy indie games are normally willing to pay to help small devs also tend to be very anti-drm. Form a bond with your community.
Secondly most indie games lack the massive hype that big AAA games can afford to buy. They will probably have a much flatter sales curve, it might start low and go up as word of mouth spreads or otherwise if you don't get word of mouth you will just get a somewhat constant rate of sales trickling along.
Thirdly you just don't have the resources to implement DRM. You either have to code in a hole bunch of copy protection things or pay for an off the self solution. If you do use some kind of DRM just make it the most basic version possible.
For a small game Piracy might actually boost sales. People will tend to pay more attention to something hitting a release site that one of the 10,000 $2 games for sale in some app store.
The best thing you can do to stop piracy is to add online services. Either post frequent updates online, that add new stuff not just fixing minor bugs. Require an online username/password linked to the game purchase/key to start the game (but preferably with some purpose other than requring the login). Add multiplayer, ensure that the server code verifys a game/useraccount is legit with a central authority server. Have a game browser (Gamespy style) that pull in the games from the server. Multiplayer will only help stop piracy if the multiplayer is a big focus of your game. Multiplayer can be cracked but it's generally going to have much less players and more cheats. Allow users to create game content/mods and share it with each other through some site/integrated ingame thing. You can host the servers yourself and ensure the client doesn't have the server code, this is what MMORPGs do, I wouldn't advise it for non 'massive' games.
Another thing you can do is sell through Steam. People love Steam. People love steam sales. You could also try getting into the next Humble Indie Bundle if you make it cross platform.
Sell your game cheap. People will buy a legit copy of a game if its only $5 (unless it looks really basic like a tetris clone), $10 if it seems like a fairly solid game (decent 3D graphics, gameplay, etc...). The problem is what people are willing to pay and what is worth it for the game developers don't necessarily line up but there will be a price point where people who would have pirated it or passed it over will buy, you might make more money selling for less.
Just accept piracy. There is a whole bunch of talk that if you make a really good game then people will buy it to support you rather than hitting a torrent site. Maybe that's true for a small % of the community but pirates don't go by how much they enjoy a game. I doubt Minecraft would have sold as well as it did if it wasn't for the online portion.