Server problems

This website has been down for some days now. I've moved to a new server and things are up and running, but there might still be downtime in the future, I fear.

You see, all this is my fault, unfortunately. 🙁 I did an update checker in the Android-version of Jewels, that contacts the server to see if an update has been published. I had not anticipated the success the game would get, and made it simply to check for updates every time the game is started. This was a huge mistake, in retrospect. 😛 I don't know why I didn't realise the potential problem of checking for updates too often.. My website account was closed because of too much traffic to the version check script. So that's why this site was down for several days.

I've deleted the script, released new versions of Jewels that contact to a static HTML-file (previously the script was PHP, which in turn increased the stress on the server) and — importantly — not every time the game is started. Still, looking at the access logs on the new server, things look unnerving. Many people have not updated the game, and thus there is loads of requests for the (now deleted) old update check script. I might need to take out the update checking altogether, then again most of the people won't probably update to that version so… 😛

Let's hope that more people update to the latest Jewels and this huge rush of requests starts to calm down. Otherwise I'm looking at my account suspended, again.

Vote for Driftmoon!

DriftmoonDriftmoon, a role playing game in development by my co-worker Ville has made it in the TOP-4 final games at a contest held by 2BeeGames. This is the final week of the competition, so take a look quickly and cast your vote! Driftmoon seems very promising and reminds me a bit of the good old Ultima-games (mainly VII/VIII); definitely worth trying if you like role playing games.

Check out Ville's games at or head directly to 2BeeGames in order to check the finalist games. You can place your vote in either of the sites. 🙂

Jewels for Android released!

Jewels for AndroidJust wanted to announce that I've finished the Android port of Jewels. It is now available through the Android Market, for free. 🙂 The comments so far have been very positive, thank you. I'll probably release an update later with some fixes and tweaks, but after that I think it's time to start thinking about the next project.

I'll write something about the porting experience from programmers point of view later; it definitely has been interesting as I have not done any mobile coding before this.

UPDATE on 13th of November:

Now that Jewels has been on the Market for a week, I'd like to share some statistics with you. Turned out that the game is a huge success (ok, it's mainly because it's Bewejeled, but interesting still), I had not anticipated this at all! At first I thought it'd break 5000 downloads before the last weekend (the game was released on Thursday). It did, Sunday the downloads were over 16 000. On Monday, it was over 32 000. And now, it's over 100 000 installs, 92% of them active (i.e. still on users' phones)!

Jewels is actually the second most popular (free) game in the Market right now with a average rating of 4.5 stars (596 ratings at the moment), only behind a Solitaire-game. Very nice. 😄 I've actually gotten more comments about Android-Jewels in a week, than I have from all my previous games combined during all these years, wow! So there's definately market for good Android-games. I'm planning to make something a bit more original next, so stay tuned.

Of course, it's not all roses: I've released about a dozen updates but still there remains some mysterious bugs that don't occur in most of the phones, but do in some.. Partly that is because Jewels was not originally writting for phones (XNA as an environment is way simpler than Android!), and partly because I've probably screwed up something (my first Android app, after all). I will definitely try to design the next game to more solid and not so prone to these various bugs and crashes. But one thing bugs me: the Anroid phones are truly different from each other, although in theory the same code should work in most of them, in reality it won't.. I've seeing reports of some really weird crashes that really should not be happening. 🙁

Enter the Android

Android logo

Hi, everybody! ("Hi, doctor Nick!" …sorry.)

Little background on today's topic: When I first heard of the Google Android-platform some years back, I thought it was interesting but never actually expected to see proper devices (i.e. mobile phones) coming to reality. Now that there is several Android phones from a few manufacturers, I've been eyeing out the devices with great interest for a while now, I guess closer to a year actually. Waiting for them to arrive here in Finland. And, as you might have guessed already, they have arrived. 🙂

The Hero emerges..

So, I got myself a brand new HTC Hero! Obviously, the main interest for me was the prospect of developing software (ok, games) for the Android-platform. Also, it's darn good phone as well, who would have thought of it? 😉 My previous phone was a few years old Nokia, just a basic model with no bells and/or whistles — so this is all new to me.

My HTC Hero.

Why not iPhone, then? Well, there are several reasons I went with Android:

  1. The development environment. It's free, cross-platform and well integrated into Eclipse. Plus I get to write in Java, which I very much prefer over Objective-C.
  2. I don't need a freaking Mac for developing (as if the phone wasn't expensive enough..)! I can use my old, cruddy PC instead. 😛
  3. Android Market, while still in its early stages, has great potential. Plus not nearly as much competition as in the iPhones App Store (obviously this also means less customers, but things improve when Android-phones gain more market, I hope).

Developing for Android

What this all means, is that I will be making some Android-games in the future. To get myself familiar with the new platform, I chose to port Jewels over to Android. It's still in very early stages, as I really started working on it only yesterday. It remains to be seen if the standard software accelerated 2d Canvas API is fast enough for my purposes (should be for Jewels), or if I have to go over the OpenGL ES route. If / when I get it completed, I plan on making it available through the Android Market, for free. Actually, at this time it is not even possible to submit paid apps to the Market from Finland, nor it is possible to purchase apps. Hopefully Finland gets the full Market support in the coming months. 🙂

After Jewels, anybody up for Steroids³? 😉 Just wondering.

Windows 7 woes, defeat, change of the war plans..

Windows 7 I've been using Ubuntu Linux 90% of the time, and Windows XP 10% of the time, for about a year and half now. I've been keeping an eye out for Windows 7, though, as it seemed like a good Windows after the disappointing Vista.

So when I saw that Windows 7 RTM was already available at MSDN AA, I decided to give it a shot, having never seen it in action. I was expecting problems, since this PC is based on components made in 2004, so it is quite old. I was pleasantly surprised to see that it worked quite well, even before installing any drivers manually. Networking worked, sound worked, the spiffy Aero desktop compositioning worked. (My tv-tuner, Terratec Cinergy C PCI, didn't work, but that's no biggie — it works in Ubuntu.) Then I tried some OpenGL — oops, no hardware acceleration. No problem, I thought and went to install the latest drivers for my Geforce 7600 GS (AGP).

After the driver update I tried Tomatoes, worked just fine. Great! I went on installing Eclipse and setting up my workspace for the game project going on. And what did I find out: it was running very slowly, barely making 40-50 fps and fluctuating a lot! 🙁 What the hell, it works solid 60 fps even in Linux (it's capped to 60 fps, so in reality it would run even faster), not mention Windows XP! 😛

Then I thought, ah, the Aero effects, obviously they would affect the performance on machine this old. Disabled Aero, tried again: same results. I tried plenty of older drivers, plus a new set of drivers released a couple of days ago. Nothing changed. It would sometimes reach 60 fps when there was not much to render, but especially the water shader was killing the performance. This was not acceptable, I mean it does not really motivate me to develop something running too slowly, when I know it works much better on this very piece of hardware I've got.. Of course I understand that it will run slower than in XP (on this old PC), since W7 requires more resources to run, but it should not make this big a difference in fps.

After asking about the problem on Windows 7 forums and getting nothing, I decided to admit my defeat.. I guess either the OpenGL drivers just are not what they were before, or this PC is plainly too old for W7. I suspect the first. Of course, OpenGL has always been the ugly step child in Windows world while Direct 3D is receiving the love, so.. 😛 Too bad, really, I was starting to like W7.

I went and dropped back XP, and boom, everything runs fast again. 😄 Ubuntu dual-boot comes a bit later.

However, I might try W7 on the laptop of mine, that is currently running Vista. Vista seems too bulky for that cheap laptop, starting up very slowly etc., so I suspect W7 might help a bit. Indeed, I will probably see how the install goes on the laptop. Stay tuned for my report! 😉

UPDATE: Writing this from the laptop running W7. 🙂 Seems to be working fine, except the smart card reader. Better than Vista, that's for sure.