Calliope First Run

In past weeks I put online an experimental version of Calliope and tested it out by playing real games with friends. Unfortunately, it didn’t performed that well. I identified a set of technical problems, and a set of design ones.

Here are the technicals:

  • real time view of the opponent’s actions isn’t working at all, probably due to the increased delay in communication with the server;
  • the game is very heavy on the CPU (around 90% on my Core 2 Duo when moving letters around);
  • animations are kinda messy and not always executed at the right times;
  • overall it is quite unstable, crashed often during tests (although reloading worked very well and never lost a move).

On the design side, I found the game to be too plain and, honestly, quite boring. I concentrated much of my programming effort in making the game board work and less on creating an immersive game experience, which I think is what Calliope lacks right now. Maybe this can be corrected by adding more information on what is going on than just the turn number and the name of the user playing; anyway, I’ll have to look into this carefully and maybe sketch some mockups.

To counterbalance the technical problems I’m afraid I will have to do some radical changes in the implementation. To achieve better responsiveness I’ll have a look at how other real time applications handle it (I’m having a look for example at long-polling mechanisms like Comet); in order to decrease CPU usage and gain better control on animations I’ll have to leave SVG and Raphael and turn to HTML5 Canvas, maybe by using some javascript game development framework. Last but not least: instability, I will have to fight it with better design and thorough testing.

The road ahead is longer than expected, but I certainly still want to pull this off.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s