Finding the right difficulty for a game can be a tedius task. I’ve put a lot of effort to find the sweet spot for Giga Girl, where the game is challenging enough to make up for its short lenght, but still feels fair and beatable. Of course the problem is that where I, as a developer, am an expert on my own game, most of the players won’t have the luxury of knowing every tile and jump of the levels by heart.

To get more information on how people are performing, I rigged the beta release with an automatic data collector. In a nutshell, whenever a player dies or finishes a level, an HTTP message is sent to a server where my stats collection API stores it to a database. All this happens behind the scenes, so the player can keep enjoying (or hating) the game without being interrupted. The message itself includes the position where the player ate it, as well as the name of the level he/she was playing. Every beta tester is assigned with a GUID to make different players distinguishable, but the data is totally anonymous.

The beauty of this simple setup is that when the beta test period ends, I have a quite comprehensive dataset that tells me exactly where the players are having hard time with the levels. Since the data points are game coordinates, I can even plot them over a render of a level to see the pain points visually. Pretty cool, eh?

Check out these outtakes from the actual data collected:

Death locations, factory level

Average deaths per player per level

Average deaths per player per level