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. :D 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.  :P
  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! :P

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.. :P Too bad, really, I was starting to like W7.

I went and dropped back XP, and boom, everything runs fast again. :D 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.

Marriage news!

Just wanted to report this: Annemari and myself finally got married a couple of days back, 7th of August to be exact. :) Phew, lot's of preparation for a single day, but it was all worth it. Everything went well and I'm happy. Seemed like our guests enjoyed as well. ^^

In other news..

I haven't progressed on the game project, but I have played games. I finished Saints Row 2, it was a blast. Currently I'm playing InFAMOUS, which I bought recently. Great game! Thinking of buying Red Faction: Guerrilla next. So many great games, so little time.. :P

This brand new site goes live!

See anything different? ;)

Ok, so I finally got around getting a proper hosting and a domain for my MHGames site, and here we are, at the sparkling new! Yay! :D I actually wanted .net-domain, but alas it was already taken (like was .com, .org was my third choice).. :( Oh well. :P

So what's new? Here is a list of things I've been doing the past 1,5 weeks:

  • I chose to use WordPress, with the intention of combining my existing site with my separate blog. This worked out nicely, I was able to import all my blog postings from Blogger without too much hassle! Great work WP-team. :) I can highly recommend WP for any blogging purposes, and even beyond that.
  • I did a custom theme for this site, basically from scratch. Had some difficulties making it scalable, but it works. I've tested it in Firefox 3.5, Chrome, IE 7 & 8, Safari, Konqueror and the latest Opera. All of those worked fine, phew. :) The theme is valid XHTML and CSS, so I can always blame the browser if something doesn't work! ;) Needless to say, I'm happy with the results on how this theme turned out.
  • Finally I crafted the old MHGames-content over to this new site.

Now that this site contains both my development blog and my games, direct all your gaming needs to this address, so to speak. I will eventually get rid of the old site, so remember to update your bookmarks, if any!

That is all this time, enjoy the new site and do drop a comment on what you like or don't like. :) I hope to resume developing my game project now that this site is alive, stay tuned.