Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Let's say I ship a game on multiple platforms. My game code detects a few trivialities about the underlying system, like the local settings, the "country," the OS, the kind of graphic cards, etc.

Let's say I ship the game with code inside it that will send this information to a master server where I collect and manage all this data for building charts and such.

In a multiplayer game, it looks pretty reasonable to do this, since connections to that server are totally justified. Still, in a singleplayer game, it may look suspicious if you are informed about this operation.

Is it just wrong to embed this kind of data gathering system in a game? Do you think it absolutely should have a previous authorization from the user before doing any collection and transmission?

If users start to decline that "agreement," I can't really enforce 100% meaningful data. Thoughts?

share|improve this question
2  
You could always just explain to your users that letting you know what specs they run increases the chance that you'll continue support their hardware. "[x] Send my personal info to the game server" looks worse than "[x] Please consider supporting my system specs in your game" –  Jimmy Oct 15 '11 at 0:12
    
@Jimmy, agreed. I'm apt to leave a checkbox labeled "Send anonymous usage statistics" on if I want to support the company/software. BUT, I also want to be able to not send that information if I feel so inclined. –  chaosTechnician Oct 15 '11 at 3:39
add comment

2 Answers

up vote 25 down vote accepted

Get user authorization and tell them exactly why you want that data. You'll get judged harshly in the court of public opinion for sneaking around in a player's machine and uploading information to your private servers.

I am not a lawyer, you may want to ask a real lawyer whether clandestine information gathering is illegal in your jurisdiction.

Whether it's a single or multi-player game has zero relevance on whether it's morally or legally acceptable, it just makes your job of hiding the activity easier, right? If you even have to think of hiding the activity it's a pretty good sign that you already know the answer to your question.

Alternatives? Let them fill in a questionnaire to get some bonus. If they accept, give them a perk in-game. Do a sweepstakes, users who send in their computer info are automatically entered. Just be nice about it, be up front and explain why you want the info instead of just sticking a legal screen in their face.

share|improve this answer
6  
+1 ... Also if you want this sort of general information, Steam publishes its survey information for all to see. –  James Oct 14 '11 at 23:36
2  
I like the part about giving the player an ingame perk/achievement/gift for allowing you to gather that information. –  Tor Valamo Oct 15 '11 at 0:02
1  
Some users run software like Zone Alarm and get quite upset if an app tries to transmit data without permission. I usually uninstall apps like that ASAP. –  ashes999 Oct 15 '11 at 0:37
    
@James Great point, I'd forgotten all about Steam's survey! –  Patrick Hughes Oct 15 '11 at 1:59
3  
So many +1's for "If you even have to think of hiding the activity it's a pretty good sign that you already know the answer to your question." –  chaosTechnician Oct 15 '11 at 3:40
add comment

On the side of the player, I would implore you not to engage in this practice. I have a personal perception that background traffic such as checking for patches or the latest release always siphon my bandwidth; I don't care if it is legitimate. Given the choice, I prefer to initiate the check at my discretion like kicking it off just before I go to bed. I don't want any extraneous packets that I feel is unnecessary because I think it impacts my game play and I'm not even a professional gamer in any sense of the word.

From the point of view of a developer, the type of information you list (settings/OS/graphics) totally have relevance to debugging/bug fixing in-the-wild. I think it is mandatory to display a prompt at a crash asking the player whether s/he would like to forward the dump to report the error. On the other hand, during a check for updates or newer versions you do want to match compatible platforms and minimum requirements depending on how much a jump the new version may be. So for example, if your game is available on multiple platforms you need to search your available upgrades for OSX as opposed to Windows. You may even be interested in whether they are on broadband before letting them attempt to suck down your 40MB update over a modem line. So there could be good reasons to detect the configuration of the player's environment. Still, remember these are situations where you are making life easier for the player. Never take information for no reason. Taking information for your own purposes, without benefit to the player, is wrong and that is why you want the player's permission.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.