The performance of Curve Fever

Happy New Year everybody! This is going to be the first blog post of the year. When we started the blog, we told that we would write every week. But soon it turned out that writing once a week is pretty time consuming. That is why we decided to not write once a week, but only once a month. We will recap what happened last month and our plans for upcoming month. And also to touch on one specific topic.

Performance of the game #

This time I want to talk about the performance of the game. A player called Incred wrote on the 30th of December a very long post, called the 2015 Curve Fever Prep Talk!. Clearly this was a long post, and because I was very busy, I was not really in the mood to read it. But Imhoff pointed out to me that it was a really good post and that I should read it. And thus I began to read it carefully.
To sum it up, Incred makes two wishes in his post:

  1. Fix the performance of the game (it doesn’t run smooth)
  2. Give more attention to your competitive players

I will now focus on the first point of Incred. I finished reading, and I said to Imhoff:

“What a nonsense, the game runs pretty smooth. Most players don’t have any problem with it.”

“Try it Geert”, Imhoff said, “it doesn’t run smooth!”

So I open a new tab in my Chrome browser and load the game in there. I know I have seen the game run very smooth many times. And I also know that we actually did a lot to increase the performance of the game. So no way it wouldn’t run smooth in my browser on my high-end laptop…

Mooh! What was this? It was indeed stuttering like mooh? How can this be?

Chrome and it’s evil PPAPI #

First of all, this has not always been the case. Very quickly we found out that Chrome had updated my browsers to remove the old NPAPI player and replace it with a PPAPI player. Disabling this had a tremendous positive effect. But we can’t let all our players change their NPAPI/PPAPI players. Our game should also run smooth with the PPAPI player. How to fix this?

Changing platforms #

A possibility is to switch platforms. If there was a readily available platform that would work on all PC’s, including PC’s on schools, we would make this switch, right now. So far there are some promising new platforms, but all of them decrease the accessibility of Curve Fever. An option would be to make an executable of Curve Fever. But this would require another code base, which would take resources away from the majority of our players. So for now, it looks like we are stuck on Flash, unfortunately (Do you happen to work at Flash: Give us UDP…. PLEASE! And work on the performance of your Flash Player!)

How big is the problem? #

Another problem is that we didn’t have a clear picture on how big the problem actually is, and what the impact is of our actions, or actions by third parties (with this we mean updates by the browsers and the flash player plugin). So far we had to rely on forum posts. And the topic writers don’t excel in clearly pointing out their problems, or in digging deep in the problem. Most importantly, the people who do have this problem, probably stop playing even before they want to make a forum topic.

That is why we added a new feature. We now send performance reports about our game to our servers.

It works like this: Internally the game runs on 25 steps per second and the framerate of the game is 60 FPS. So in general, there is 1 frame were nothing happens and 1 frame were the game actually increases with 1 game-step. No way the game could put 2 steps in 1 frame… unless your performance is bad. We call this a frame skip. And this is precisely what we log now.

5100f1d09efb7e676c4fe129c754d1bd-819x460.png
Don’t follow this advise please

Optimal Curve Fever Browser #

We are collecting these statistics for a few days now. And we can tell you what the optimal Curve Fever browser is…
skipframes.png
Skip frames per browser and per ppapi/npapi player

Opera! We recommend everybody to play with Opera.

More importantly, is that we now have a objective measure of the performance of our game. Future updates should result in a decrease of the skipped frames, and thus in a smoother experience of Curve Fever.

January #

What else happened in January. Among others:

February #

A quick look in the future tells me that:

Thanks for reading

Geert

 
89
Kudos
 
89
Kudos

Now read this

Developers blog for Curve Fever

Hi all, Today we have our own development blog! Time for a party at the office. Now what to write about? mmmmmmooh… Last week we asked you to participate in our survey, and so you did. We are currently processing the results, but one of... Continue →