Monday, 26 September 2011

When I launched Proun, I promised I would release all the game's statistics. Today, I present the first half of the data: the gameplay statistics. How much did people play each track and game mode? Next week I will release the money numbers, which I expect people will be a lot more curious to read about, so consider today's post as an appetizer to next week's revenue analysis!

In the meanwhile, the gameplay data are also pretty interesting. Since Proun has online highscores, I was able to collect quite a lot of statistics on which tracks were played how often and such. So, let's have a look!

Game modes

One million track times were submitted! I actually waited a couple of days with posting this to be just above that number instead of just beneath it, because yes, there is some magic in such a high number! ^_^

For starters: these numbers are lower than what people have really been playing: my highscore server was down for a couple of days directly after launch, so I probably missed around one hundred thousand highscores near launch.

The Championship Mode is where people could unlock things and have a proper game flow. I designed the difficulties to present a gradually increasing challenge with enough rewards (winning a race, unlocking a higher speed or new track) to keep people playing for a bit. So as expected, this is the mode that was played the most.

To my surprise, hardly anyone played the four player mode. Makes sense that few people play it, but only 0.085% of all the races? That is even less than I expected!

Two player splitscreen fared a lot better, though: 10% of the races were played there, which is a very nice score. The splitscreen is a lot of fun, so I am glad people tried it. Anything above two players required an extra controller, because keyboards cannot register a lot of button presses at once, so the low numbers for three and four player splitscreen do make sense.

I think the best game experience in Proun is the Time Trial. Trying to beat yourself, as your mind gets into "the zone" and your reflexes take over, is to me the most fun you can have with Proun. However, only 11% of the races were played in Time Trial, so I guess most players disagree with me.

Difficulties and tracks

Keep in mind that these numbers are not the number of people who played a track, but the number of highscores submitted. Most players played several races, or even dozens, and these are the total number of times each track was played on each difficulty.

Racing at the higher difficulty settings required winning the championship on the lower difficulties. The difficulties are called Fast, Sonic, Super Sonic and Speed Of Light.

7% of all the times submitted are on the highest difficulty. That may seem low, but I think that is incredibly impressive: unlocking that is really difficult, so apparently quite a few people were hardcore enough to get there!

Strangely, though, this number is higher than the number of highscores submitted for Improvisation #1: Dynamism. This is the bonus track that you unlock together with the highest difficulty. I thought beforehand that a new track is way more interesting than a new difficulty. Apparently I was wrong. I guess this is because this bonus track is not included in the Championship game mode: you have to play Time Trial or Single Race to play it. Since Championship is by far the most played game mode, it does make sense that more times were submitted for the highest difficulty than for the bonus track.

Interesting here is that Composition #1 was played a lot more often than Composition #2. I wonder why that is? I think this is a combination of two causes:-In Championship mode, if you loose the first race, it is a good idea to start again right away and try the first track again.-Quite a few people will have played the first track and then concluded that Proun was not for them, thus not playing the other tracks.

User tracks

I included tools with Proun for people to make their own tracks. Doing so requires 3D Studio MAX, though, so not everyone can. I had no idea beforehand what to expect of this. So far seven people have made custom tracks, which is really nice! I consider it a great honour that modders have done this and there are some true gems there! You can see and download the complete list of tracks created for Proun here: Proun User Tracks.

So, how often were these tracks played?

As you can see, Archipelago and Extrude were played the most by far. The main reason for this is that these are the only tracks that were available within a week after the launch of the game. That is when most people were playing. The other tracks came a lot later and thus got less attention. I keep advertising them through my Facebook, Twitter and blog though, so hundreds of people still play each track.

What I find really cool is that new tracks are still begin made. For example, only last week Smurfland Sky was released! That track is so new that it is not in these statistics yet.

So, that's it for the gameplay statistics! One million highscores submitted, that's a whole lot! I endthis blog post with a cliffhanger: how did the Pay What You Want scheme do for Proun? See you next week!

Saturday, 10 September 2011

It took way too long, but in the middle of the crunch time for Awesomenauts, I finally found the time to fix a couple of bugs in Proun! This patch only fixes bugs and does not add new features, so no need to apply it you weren't encountering any bugs before. You can find the patch and info on how to use it here:

These fixes are mainly for some specific videocards by Intel and Ati. Note however that I do not have these videocards myself, so I have not been able to test this patch well enough. So I hope some people who had trouble running Proun before can give it a try and let me know whether this fixes anything!

Quite a while ago, I wrote a blogpost about The horror that is PC development. Some of the specific issues I fixed in this patch are definitely in that same category, so I find it interesting to discuss what went wrong:

Bug 1: Crash on some ATI Radeon cards

It turns out that ATI cards from around the time of the Radeon X1xxx series are officially liars. These are some pretty old cards, from around 2005. When the engine (Ogre 3D) asks such a card whether it supports shader model 3.0 shaders, it happily says it does. Then when I feed it some really complex pixel shaders, it refuses and gives an error. Turns out these cards support most of 3.0, but not everything! So my depth of field blur crashed on this.

Here is the really frustrating part: I already had a simpler version of these shaders in the game, but because the videocard lies about its capabilities, Ogre tries to load the advanced shader. Crash! Knowing this, the solution was actually pretty simple: I have added rules to the materials that tell the engine that these specific cards need to use the simpler version, regardless of what they claim they can do.

Bug 2: Crash on some Intel cards

A somewhat similar crash happened on certain Intel cards. Intel cards from the GMA 3xxx series (released around 2006) can only do vertex shaders through software emulation. This is not a problem in itself: it just means you get a very low framerate, but everything would still work. However, DirectX handles this in a strange way: when you ask IDirect3D9 whether vertex shaders are supported, it says no. So the Ogre engine thinks these cards won't be able to run Proun at all. The IDirect3DDevice9 on the other hand will say yes. Quite weird, really, but someone discovered this and fixed the Ogre engine to ask both IDirect3D9 and IDirect3DDevice9 and use the best answer.

However, this fix was released around the same time when Proun was released. Since updating your engine version so near release is a bad idea (since it has not been tested well enough), that fix did not end up in Proun. So all I had to do now was add that fix to repair this crash.

Bug 3: Broken math

The final bug is exclusively my own mistake and not about weird PC graphics stuff. It turned out I had a math error somewhere that very rarely crashes the game. I already discovered this crash one week after launch, but because it happened so rarely, I was not able to find the cause. I have some data from the highscore server and I estimate this crash happened once every 10.000 runs through Composition #2. That is pretty rare. But help came from an unexpected direction: the recent user track Cubed has a point where it almost always triggers this situation! So now I was finally able to find out what happened, and fixed it. Turned out this was a mistake in the vehicle math that I made six years ago at the very start of the project!

(For those interested in the math: to get a vector perpendicular to the cable, I do a cross product somewhere with the vector [0,1,0]. When the direction of the cable itself is also exactly [0,1,0], this goes wrong.)

So, what have I learned here? That I should test on even more videocards before launching anything on PC!

EDIT: To my eternal shame, it turned out that the fix for those Ati cards was still not working. Ogre happens to handle some material properties in a different manner than I thought. I fixed it in a more rigorous way now, and it works now!

EDIT 2: An even older Ati series, the Ati X8xx and X9xx turned out to have some other issues. I fixed those as well in patch v108.