Archive

Archive for the ‘Development’ Category

The Sad State of the Android Market..

February 15th, 2011 18 comments

Warning: this post is mostly a rant, with a bit exaggerated (but not much!) title to boot..

I’ve been meaning to write this one for a couple of months now, but never really found the time and actually got around to do it. So here goes. I started noticing a lot of games on the Android Market with familiar looking icons, and after closer inspection, it’s clear that most of the graphics have been stolen from Jewels. I have not downloaded the games, but I would hazard a guess that the sounds are also taken from Jewels for most of these clones.

Do a quick search for “Jewels” on the Android Market. What do you find? I counted 8 (that’s right, eight!) games that have graphics stolen from my game. Six (6) of those eight games have one of my Jewels graphics as icon image. One clone is the worst offender. It has stolen the graphics, the icon (yes, the actual Jewels-icon a couple of versions back) and get this… even the freaking app description is copied from my game! The best part — and the gist of this entire posting — the game is named Jewels.

Now let’s be realistic: “jewels” is a common word. (All those eight games have the word in their title; most probably there other clones with stolen assets with other names.) It’s not like I invented the word. But why on Earth does Android Market allow two apps (two games, both in the Casual-category) to share the exactly same name? Why? Especially when the copycat app clearly has stolen almost everything from the original app. I mean what the hell? Why couldn’t they check for the app name and prevent duplicate named apps from the Market? I can see them allowing same named apps for different categories, but I don’t understand the current policy at all. (Perhaps that other Jewels has some whitespace characters in its name, I don’t know, but frankly I see no reason why names like “Jewels_“, where _ is a space, should be allowed.)

The Market is also riddled with app spammers, developers (in the lowest possible meaning of the word) that pump out dozens of sub-standard apps and spam them in with different developer accounts. This is of course a whole different issue, and one that doesn’t really matter to me, but it lowers the quality of the marketplace on the whole. I feel that Google should do some cleaning up on the Market, get rid of all the crap — and of the spammed apps using stolen assets (the most obvious cases, at least).

All this “steal assets from a popular game, and name it similarly” is of course to get a share of the attention those popular games receive. I guess I should be flattered that people bother to steal those graphics? :P Nevertheless, I’m sure that more popular apps have it worse than I do: look at all those wanna-be Angry Birds -games on the Market. Just sad…

***

As you can see, I’m not thrilled with the Android Market as it is now, and I shall carefully consider whether to bring my future games to the platform at all. Apple has things far better on the App Store; the control is much tighter, but at least it keeps some of the crap out. And they don’t allow two apps with the same name, something that became clear to me with iJewels. Not to mention I’ve come to like the iOS-platform much more than Android, but that’s a different story..

This stealing assets thing is also one of the reasons why I still haven’t (and never will, it seems) added the music from iJewels to the Android-Jewels. It would be stolen the instant I hit the big ol’ Publish-button on the Market. :(

Categories: Development, Games Tags: , , ,

iJewels submitted for review!

September 17th, 2010 No comments

Finally: I have finished the first version of Jewels for iPhone a.k.a iJewels and submitted it to the App Store for review today. Now I’m eagerly waiting on results, hopefully the game will be accepted first time through. Exciting times! :) The game will be free with ads and with the option of removing ads through an In-App-Purchase.

Naturally I will be announcing right here when the game finally gets to the App Store. Stay tuned!

PS. If you’re wondering what’s with the “iJewels” name: the reason is that there was already an app called “JEWELS” at the App Store. I had to pick another name so I went with “iJewels.” :P “Jewels for iPhone” etc. would not probably have been sufficient.

iPhone 4 testers wanted

August 13th, 2010 6 comments

Do you have a brand new iPhone 4? I’m looking for a couple of people to help testing Jewels for iPhone on the actual iPhone 4 device. I have been working on to make sure that Jewels works also in the iPhone 4 resolution (and yes, I have crisp, pixel perfect high resolution graphics included, as well! ;) ) and while I can test in the simulator just fine, I’m interested in how the game performs on the real device. I think it should run about 50-60 fps (hopefully the max), but it is possible that the high res graphics bring it down, which means more optimizing work for myself.. :P

Unfortunately, I think the testers will need to be in the iPhone Developer Program to be able to install the game on their devices. (Correct me if I’m wrong!) But it doesn’t hurt to ask, right? So, any iPhone devs willing to test it for me? Drop me a comment if you’re interested. If not, I could try to find people on some dev forums. I do have my own iPhone 4 ordered as well, but I’m unsure if I get it before the game is finished.. :)

UPDATE: I did get my own phone, so there is no need for this anymore. :) It worked quite well, I had to optimize text rendering though. Now it works pretty much 60 fps all the time. The optimizations also benefit older devices (except 3GS, which was running at 60 fps already) so it was time well spent. :)

Categories: Development, Games Tags: , ,

Turned out I lied…

July 14th, 2010 14 comments

..about making the final post about Jewels. Sorry!

I wanted announce that I’ve managed to start working on bringing Jewels to the iDevices (at least for iPhone + iPod touch), even with the taking-care-of-the-baby-business! :D I’ve only recently started writing it from the grounds up in C++ with some Objective-C (or actually Objective-C++). (If anybody remembers, the original PC-Jewels is written in C#/XNA, while the Android-version is naturally in Java.)

This time I’ll be using OpenGL ES (which, in retrospect, I should have used for the Android-version as well), so iPhone gamers will be getting the smoothest Jewels experience yet! I might even throw in some extra eye candy, just for the heck of it! ;)

I’ve registered to the iPhone developer program, so I can test on the real devices, which is great. I’m aiming on making the game run perfectly on iPhone 3GS (and newer devices) hardware while still keeping it working fairly well on the older HW (like iPhone 3G). These are of course still only estimates, but something of a goal nevertheless. I’m liking the iPhone SDK so far, and even Objective-C isn’t as scary as it looked like before! :) But as I said, the majority of the code will be in C++. This actually makes a full circle: I had been using C++ for years before I made a switch to Java, and now I’m back in C++ along with learning Objective-C as well! Neat how things turn out.

As to why I’m doing Jewels again (for the third time!), instead of doing something else. Well, it has become a pattern of some sorts for me; while learning a new platform / language / API, I’ve ported Jewels over. The original was simply because I wanted to try coding with XNA. Android-version sprung out from the desire of learning to write for Android. It was a better game as well. And now it is iPhone. I’m learning new stuff and I firmly believe that this will be (again) the best Jewels yet! :)

Oh, I also noticed (only a few days ago) that there is already a game named JEWELS at the App Store! Just my luck. :P Any ideas for the name? I think I’ll have to go with iJewels or something like that, which I really didn’t want to do, but I guess there is no option but to change the name… :P

So there you have it. Hopefully iJewels (still don’t like that!) will gather some following on the iDevices — now I don’t expect it to be a mass hit like on Android, the competition is much tougher, but then again there is nothing to lose in doing the port (or rewrite, actually). I’m gaining some valuable code to reuse in future iPhone projects, even if the game was a flop. :)

Jewels for Android released!

November 5th, 2009 25 comments

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. :(