Game Analytics

A quieter space for design discussion of long-term projects
lwho
Posts: 72
Joined: Thu Jul 04, 2013 9:26 pm
Location: Germany

Re: Game Analytics

Post by lwho »

FluffyFreak wrote:We know nothing about our users.

The people that visit the forum are always going to be in the vanishingly small minority of the actual users - worse than that they're a self-selecting minority.
We don't know why they play, what they're playing on, or anything about the way that they play, we don't even have a clue how many of them there are.
So, what? Why should I care for a (supposed) majority that stays silent. I'm developing for the "vanishingly small minority" that does not stay silent and gives something back (be it feedback or even their work). That silent majority might be relevant if they paid us, but they don't even pay us attention ;) And by the way, if that feature is opt-in, the majority will just click "leave me alone" (I certainly do on every such question) and you know no more than before. But it will leave a bad feeling for everyone who has to click away such a question.
FluffyFreak wrote:Because of this we can't know if something is going to break the game for our users due to hardware/OS issues, we don't know if a release is crashing when something happens like with the recent MXE crash
Then they would better tell us. If they can't be bothered to spend five minutes to register a forum or github account and write, then why should we spend even a minute thinking about them (let alone develop for them).
FluffyFreak wrote:and we don't know if users are actually using the features that we write so we can't tell which ones are worth investing more time in.
I don't know, why you think that the number of users not caring enough to voice their opinion is relevant for whether a feature is worth investing (spare) time.What does the number of users give you? I want to develop a game that I find enjoyable and a group of "alikes" enjoy as well. If that group was big, there would probably already be such a game. On the other hand, why should I develop a game in my spare time that might be attractive to more people but not to me anymore? We don't sell anything, so we don't have a market, so we don't need market research.
FluffyFreak wrote:Worst case is that people accuse us of having spyware, and we lose users that we don't even know we have. Or not, it's impossible to tell, since we have no way of knowing.
I don't care about people that I don't even know "I have" (whatever this "have" is supposed to mean in this context). However, I do care if my name is connected with spyware for no good reason.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

Right now I was going to put it right on the Intro screen somehow, not thought of how. There would be no logging until they'd turned it on.
I don't know how that UI part would work just yet, some kind of popup with a description, the checkbox to enable/disable it (disabled by default) and a close button.

Doing a separate exe is more of a pain on our end, but would be feasible I suppose for the paranoid.
The code I have now just creates one of two classes, one is the logging class for GameAnalytics which sends (currently just MY) data up to the server.
The other one it creates is just an empty base class that does nothing expect output to "output.txt" that logging is disabled.

I wasn't planning on controlling the data at all, actually I was hoping we could summarise it and display on the forum / website somehow to show how many people play the game - saying that you've got 100 users is different from saying where they all are which isn't information we'd be gathering.
I invited robn to be admin for the current testbed and can invite anyone else who is interested / curious / worried so you can take a look at it all - all you'll be able to see at the moment is that I've fired the game up a few times in the last few days, gone into a few games, ended a few games, and died in one.
There's a load of crap that it does automatically to try and work out retention and other marketing bollocks but you can build your own queries and generate "heatmaps" to see where events happen if you supply the (in-game) location information.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

So you're attitude is: fuck 'em

My purpose with this is to get some minimal data so that we can avoid fucking over people who are playing our game. Many of whom probably don't register on either of our forums because they don't speak English. Which would be most people on Earth.

I really don't mean to be harsh but it seems, as I posted a the start, that we have a lot of players who don't speak English and so no, they're never going to sign-up to SSC or here, they can't even read the instructions for signing up. Our game however DOES have translations for a lot of languages so it is playable by people from anywhere and everywhere. However... due to the lack of data we don't know if it *IS* being played expect when someone posts like here and tells us there's a Chinese language forum where we have hundreds of players.

We can't read it, and most of them can't read this. They're excluded from developing, signing up, voicing opinions and "giving back" no matter how much they care.
lwho
Posts: 72
Joined: Thu Jul 04, 2013 9:26 pm
Location: Germany

Re: Game Analytics

Post by lwho »

nozmajner wrote:One other thing is, how the access to the data is controlled? As an open source project, maybe these things could benefit a lot of other projects too. Which is one thing for being transparent with it, and provide access on an open basis. On the other hand, these are data about our users, even if it's totally anonymous, and being open with the data could rightfully bug a lot of people.
If the data is locked up, who decides who can access it? Like if a new team member comes along for example.
I think, if such data existed it would have to be (read-)accessible to everyone (not just developers or another closed group), so everyone can see we don't collect data we aren't supposed to do. If the data contains anything that allows to deduce persons, then it's not anonymous. If anyone thinks that the data contains something that warrants restricting access to a closed group, the data should not be collected.
lwho
Posts: 72
Joined: Thu Jul 04, 2013 9:26 pm
Location: Germany

Re: Game Analytics

Post by lwho »

FluffyFreak wrote:So you're attitude is: fuck 'em
No, it's "If you want something from us, tell us! We won't read your minds (not even try to ;))."
FluffyFreak wrote:My purpose with this is to get some minimal data so that we can avoid fucking over people who are playing our game. Many of whom probably don't register on either of our forums because they don't speak English. Which would be most people on Earth.

I really don't mean to be harsh but it seems, as I posted a the start, that we have a lot of players who don't speak English and so no, they're never going to sign-up to SSC or here, they can't even read the instructions for signing up. Our game however DOES have translations for a lot of languages so it is playable by people from anywhere and everywhere. However... due to the lack of data we don't know if it *IS* being played expect when someone posts like here and tells us there's a Chinese language forum where we have hundreds of players.
And that's exactly what they should do then. Form a community in their language and send someone who is able to communicate in English to us. Knowledge of English isn't that exotic. In the same way as we rely on communities to translate the game into languages we don't know, we have to rely on communities for support in languages we don't know.
FluffyFreak wrote:We can't read it, and most of them can't read this. They're excluded from developing, signing up, voicing opinions and "giving back" no matter how much they care.
No, they are not. Where there is a will, there's a way. They probably have people around who do know English. There are online translators as well (that are far from perfect, but allow basic understanding) etc.

And it's really hard for me to imagine what kind of data you want to collect, that would be able to substitute for direct (or indirect) communication.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

That kind of data would be minimal hardware / OS, number of unique users, what language is chosen and potentially the basic usage/usability data that you get through doing focus testing... only a lot less so because I'm concious of not wanting to know about users, I want to know about how the users interact with the game and whether or not something that I'm doing is going to stop them from playing.

It's all well and good suggesting that they forma community, and it seems some of them have, but they're not going to send someone here to interact with us on these forums.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

It's the level of analytics you get from just having a game on Steam or Desura, except that we're not on those.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

Also how are we ever going to know if putting the game on Desura / Steam is a good idea.

It's a lot of work, we need videos, pictures, packing the game in a certain way for the SteamPipe service, integrating their API (which does this kind of Analytics when you start it) etc... it's a lot of work. if we have 100 user? What about 5000? Is it worth doing so they have automatically updating versions of the game ready to play (assuming we solve the save game versioning) and if so what's the point where it becomes worth maintaining? What if it really is just 10 or so people?

You might not see the value in that, but I damn well do, I can do things to avoid breaking this game for people who enjoy playing it.

It's like optimisation, you gather data first by profiling, you analyse that data, then you optimise, then you measure again and compare. Right now, we have no data at all.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

This is what it currently logs to the file on your PC, so you can open and inspect what's being sent. It's done at the point where it sends the data so it's got the complete string that is sent to the REST API's url.
[{"user_id": "2d869dacdc45d1b42250f0d14e651de4bfeb156e", "session_id": "53e27af87bd944f2b1dd7ed55c6809a2", "build": "unknown", "event_id": "Game:Start"},
{"user_id": "2d869dacdc45d1b42250f0d14e651de4bfeb156e", "session_id": "53e27af87bd944f2b1dd7ed55c6809a2", "build": "unknown", "text": "Hardware information:
OEM ID: 0
Number of processors: 8
Page size: 4096
Processor type: 586
Minimum application address: 10000
Maximum application address: fffeffff
Active processor mask: 255

Windows 8", "event_id": "OS"}]
[{"user_id": "2d869dacdc45d1b42250f0d14e651de4bfeb156e", "session_id": "53e27af87bd944f2b1dd7ed55c6809a2", "build": "unknown", "event_id": "Game:Initialised"}]
[{"user_id": "2d869dacdc45d1b42250f0d14e651de4bfeb156e", "session_id": "53e27af87bd944f2b1dd7ed55c6809a2", "build": "unknown", "event_id": "Intro:Initialised"}]
[{"user_id": "2d869dacdc45d1b42250f0d14e651de4bfeb156e", "session_id": "53e27af87bd944f2b1dd7ed55c6809a2", "build": "unknown", "event_id": "Game:Quit"}]
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Game Analytics

Post by FluffyFreak »

"user_id": "2d869dacdc45d1b42250f0d14e651de4bfeb156e" - this is either a GUID or a hash of the MAC address using SHA1.
"session_id": "53e27af87bd944f2b1dd7ed55c6809a2" - a GUID, generated with CoCreateGUID, unique each time it's called... or near enough.
"build": "unknown" - will be the build version of the game but I'm on Windows using VS2013 so it doesn't get populated.
Post Reply