Game Development Community

App Theft!

by Dan Pereira · in iTorque 2D · 04/08/2009 (7:06 pm) · 25 replies

So my app has been stolen by no less than 15,000 people on file sharing sites. I'm not going to say I've never *evaluated* a development tool or an occasional operating system, or that I'm some kind of saint, but to me stealing a $0.99 app developed by indies is just low. Am I going to have to put DRM on my apps so I can feed my family?





Page «Previous 1 2
#1
04/08/2009 (8:07 pm)
yes and no
depends on how many sales you lose that way and how much it would cost to develop a DRM
if you have different future projects, DRM costs will likely be gotten back.

Your main problem will be the "how to drm" because unlike PCs there is no single system license for the app store. A user can put the app on all his iDevices when buying a license.
#2
04/08/2009 (9:44 pm)
Even the best quality Indie games are heavily pirated, 2dboy.com/2008/11/13/90/.

The only positive that you can take from 15,000 people downloading it is that there will be a small percentage who will actually buy the App after using it.

You also have to remember that the vast majority of those 15,000 people were never potential sales.

Though, it is very disappointing to see so much piracy these days.
#3
04/09/2009 (12:44 am)
Sorry to hear that, but as software developers, it's all part of the game.
That's why sometimes, we have to be more than software developers. Sometimes we have to think like businessmen in order to keep the bottomline healthy. Microtransactions, subscriptions, we have the tools to at least discourage piracy and encourage legit transactions.
Was it Bikini Poker?
#4
04/09/2009 (3:31 am)
Dig around the 'net for the various solutions people have tried.

Ones I have seen discussed recently:
-Checking the size of Info.plist. If the cracked version needs MORE data, this is a good one. To be even more annoying to pirates, make the rest of the game rely on this file being a specific size.

-Using a directory hierarchy of data files, custom loader and many files named Info.plist. Crackers looking for references to this file (for size checks and such) can not simply remove your one static string containing "Info.plist". For example, the name of the player spritesheet is spritedir+plistnamestring, and the menu GUI could be guidir+plistnamestring.

-Fancy verification of contents of various files to figure out whether it's a cracked game or not. Combine with the above so that you can't remove one without messing up the other.

In short, delay the cracks. Pirate scum are incredibly dedicated to cracking the app they spent nearly a dollar of their allowance to get, so there will be a crack eventually. Just make it so they hate their unemployed lives more :)
#6
04/09/2009 (3:48 am)
How did you get the 15,000 figure?
#7
04/09/2009 (5:58 am)
He could've used pinchmedia to track demographics and sales
#8
04/09/2009 (8:36 am)
I got the figure by adding up the total downloads from several different file sharing services.
#9
04/09/2009 (8:55 am)
Hey Ronald,

It is Bikini Poker. I originally priced the game at $0.99 to make it as inexpensive as possible, but yesterday I raised the price to $2.99. I just got the sales report and raising the price had no significant affect on the number of units sold. The free version should be dropping soon. Apple is taking their sweet time approving the free version and the rejected it last week for being a "feature limited" version. I had to remove any references to the features only available in the full version. I wonder if the crackers are going to "crack" the free version too. :-)

Dan
#10
04/09/2009 (11:36 am)
@Dan

A bit off topic so apologies but, I'm interested in your last comment about the free version being rejected because it was deemed to be feature limited. How are we expected to tell customers that they get more with the full version if Apple don't allow you to mention missing features?

Is it possible to go into a little detail about their rejection criteria (not anything code related obviously).
#11
04/09/2009 (11:51 am)
Bikini Poker has a screen that lets you select an opponent. I had several opponents dimmed out and some text that said "Full Version Only" with one of the opponents being lit and selectable. Apple said this was "feature limited" and I needed to fix it. Their comments were short and vague. I simply removed the select screen and made it a single opponent version. There is nothing in the free version that references the full version now. I know you can have a button that says "buy now" which points back to the full app in the app store, but I haven't figured out how to make that work in iTGB yet. Looking at some other games I noticed that Ski Jump Lite also has no reference to the full version, and Zombie Attack Free has a button on the main menu that will take you to the full version's app store page. I'd like a similar button in Bikini Poker Free, but I just haven't gotten around to figuring that out yet. I figure that will be in version 1.1 of the free game. I don't know exactly what the criteria is, but I suspect if you *carefully* read all the agreements you'll find it in the fine print.
#12
04/09/2009 (12:14 pm)
Just keep in mind that the only reason why Tribes 2 was ever made was because 2 or 3x more people were running pirated copies of Tribes 1 than copies that were sold and some marketing exec figured that they might be able to tap these guys into buying a sequel.

So try to find a way to use this to your advantage. Keep track of the numbers. Find a way to get them onto your site and build a community out of them. Perhaps create a new torret when you update the game that is loaded with in-app advertising system, the fools wont know the difference and you can at least get some monetization back.
#13
04/09/2009 (12:22 pm)
That's an interesting idea. You have a knack for strategic marketing!
#14
04/09/2009 (9:03 pm)
(sorry for being totally off topic here; everybody skip this message except Dan). :)

Hey Dan, can you toss me an e-mail when you get some free time (then we can chat via e-mail). I see that based on the feedback that you are getting as well as the comment on your latest update, we should bounce some ideas back and forth about how we can solve this crashing problem together, both for your game and mine (Hospital Havoc). Your game is pretty simple and the fact that yours is crashing on devices means that my more complex game could be crashing from more fundamental problems with the engine itself and not something that I'm doing.

Regardless, we should share our results on the forum after we hash things out.

rgraham 4T bitwisedesign D0T coms

#15
04/09/2009 (9:57 pm)
Hey Ray,

There's nothing simple about a poker engine! I made the same assumption until I got knee deep in the code and realized that evaluating, ranking, and comparing poker hands is a totally non-trivial programming task that some people write their doctorate thesis on. The poker engine in Bikini Poker is slightly flawed in that it only evals high cards twice before just giving the hand to the player. I'll fix that in the next update. Otherwise, it should evaluate and rank hands correctly 99.9% of the time. ...um...Unless you're in France.

Dan
#16
04/09/2009 (11:03 pm)
Ah ok. I guess I misunderstood. Glad things are worked out!

#17
04/09/2009 (11:06 pm)
Ray, did you get my e-mail?
#18
04/18/2009 (3:17 pm)
As for crashes. One of the reasons for an app crash (most likely all of them) is that iPhone OS terminates an app if it runs out of memory and tries to grab some. i.e. if your app attempts to malloc without any free memory being present.

I'm not sure why some people got the idea that the iPhone did some kind of paging of stuff from ram into the phones flash memory as it simply doesn't do this at all. If your app is too big to fit into memory or becomes too big it is simply killed.

The issue with this is that, when you install things onto your itouch or iphone. You sometimes end up with less free memory at the end of the install. No idea where the memory goes or maybe garbage collection is simply slow to free up the space. Either way the newly installed app may well end up being terminated with an out of memory error (which the iPhone doesn't display by the way). Turning the iPhone off completely and then back on again should solve the issue in most cases, though there is no guarantee the app will not start crashing again if played after the user has installed another application.

I'm currently looking at ways to survive the malloc attempt by checking free memory before attempting to do one.
#19
04/18/2009 (4:19 pm)
Replace that sometimes with always and install with execute any application (installing is nothing else than running the decompressor and a few additional things), at least up to iPhone OS 2.2.1 on iPhone 3G and iTouch first generation.
#20
04/18/2009 (6:09 pm)
If you receive a low memory warning via one of the following methods:
implement the applicationDidReceiveMemoryWarning: method of your application delegate.
Override the didReceiveMemoryWarning method in your custom UIViewController subclass.
Register to receive the UIApplicationDidReceiveMemoryWarningNotification notification.

Then you need to free memory or your application is likely to run out of memory and you will be killed. In iTGB your likely to have to implement this yourself, I haven't looked into how iTGB handles this yet. I've been busy for the last 4 months so haven't been able to do much iTGB, but in 2 weeks I'll have a lot more free time and be doing quite a bit of iTGB from then on.
Page «Previous 1 2