Nokia App Store: what is happening there?

A long time ago, I created a very simple puzzle game for the J2ME platform. I did this for my own enjoyment and sense of accomplishment. I named the game SameSame after the "Same Game” family of games.

Of course, at that time I didn’t knew I would publish this game and other people would actually download and play it, otherwise I had picked a better name…

 

screen00

SameSame, running on a 2005 Sony Ericsson.

Initially, I put SameSame on my blog and got around 20,000 downloads. Nowadays, the game is available on three “app stores”. The latest download statistics are shown below. Seeing those, notice that

    1. The game was made available first on GetJar, then Nokia and about a year later on Appia.
    2. Appia initially published the game without my permission. After some angry letters they removed the pirated version and I uploaded a legitimate version. The Appia numbers do not include these initial “pirate” downloads (IIRC they were around 40,000)
    3. These number neither include downloads from Chinese pirate sites (yes, they pirate free games too).
    4. Around 45% of all Nokia downloads were made in the first month. In contrast Appia (and GetJar to a lesser extent) show constant stream of downloads.
    5. Getting SameSame published was easiest on GetJar (just upload the file) and hardest on the Nokia Store. I actually had to pay Nokia to get my free game published with them Ledsen
    6. Nokia had by far the best support. Thank you guys!
    7. GetJar had by a large margin the worst support. They also refused to remove some malware I found in their store. The malware (which send expensive international SMS) is still there, two years after I reported it.

downloads

SameSame downloads per January 2013.

 

Okay, now to my question: What is wrong with the Nokia numbers? These guys are supposed to have a much larger install base than the rest. Have carriers have removed Nokia Stores and replaced it with Appia in some countries? Maybe someone at Nokia have an answer to this?

 

A friendly remainder to SameSame players around the world…

I am very happy that people are still playing SameSame. And to show you my appreciation I have added the global scoreboard and a lot of new levels lately.

I am however a little annoyed by the amount of SPAM on the scoreboard. Please do not use an URL as your player-id. If you do that, your score will be removed. The server has a function to detect and remove all such spam, it can even blacklist your IP. If I see more spam, I will have to turn on the anti-spam function.

Thank you in advance,
AV

Too easy?

Some months ago, SameSame reached 250.000 players. Talking to some players, I noticed that many are stuck on same level or levels.

One of the more popular ones seems to be the 21st level in the “Cooler” theme. The reason so many people have problem with this particular level is simple: there are many obvious “solutions” which much later turn out to be dead ends. In fact, as you can see in the video below, the best way to clear this level is to choose the least obvious cells in each move :)

The geek corner
For those who care about the geeky details: some levels are generated by an artificial intelligence that simulates this exact behavior by maximizing branching factor and search depth divided by the number of solutions. I might write an article about that one day ;)

Solution to “Cooler” level 21:

Have fun ;)

SameSame on Appia, “involuntary”…

The project with nine lives

This project seems to live its own life. I am fully busy with other more interesting things but get always interrupted by a bug or a feature request or some other thing related to SameSame. Just the other day I got a support mail from someone who had downloaded SameSame from myxer.com which is a German app store:

The app has been download 40.000 times in less than three weeks and have a user rating of 4.1 / 5 :)

So what is the problem?

Well, I have never uploaded this app to appia.com [which myxer gets its apps from]. Note also that tube42 is never mentioned on this page, furthermore the version is set to 1.0, while the latest version is 0.8.

It turns out that someone had uploaded SameSame v0.6 to appia, renamed it to 1.0, removed my name and stripped some important JAD attributes from the file in the process. Thanks a lot buddy!

SameSame on Appia, but not really by choice

I contacted Appia, who removed the app the same day. To avoid further problems I asked for [demanded really] a developer account so I could upload the legitimate version. If everything works out as planned, you should see SameSame on appia on all app stores connected to it in a week or so.

SameSame update: global scoreboard with Cloud Computing

I am kind of surprised that people still download and play SameSame, when they can play Angry Birds and Galaxy on Fire for free. In any case, my game just reached 100.000 downloads (!!) and to thank everyone who have downloaded this game, I have added two new functions:

  • Player database – you can now create a new account and replay all challenges etc.
  • Global scoreboard – compare your score to other people around the world
Player database Global scoreboard

 

Pretty much seconds after getjar made the new version available people started submitting scores :)

 

How it works

From the main menu, go to “Statistics” and click pass the High Score and Achievements screens to get to Global Score. Your phone will send your name, your identity (just a randomly generated string, not any personal information) and your best scores to the server. The server stores this information in a database and then sends back the current high score list.

Please note that your rank in the scoreboard depends on (a) your best score, (b)  your achievements rank and (c) the number of challenges you have completed.

 

And the technical stuff…

There are many sites on the internet that provide "social gaming" API:s to game developers. The most well-known is probably OpenFeint, which provides much more that just scoreboards.

Unfortunately, none of these services are available for J2ME phones. So I decided to create my own scoreboard from scratch, including the server-side. I initially looked at a PHP solution on my own site, but then I decided to give the Google  "Cloud" a try: the Google App Engine, is a free Cloud Computing service that supports Java and Python environments. You can test your code locally (the SDK includes a simple web server and all the database stuff) before submitting it to the Google servers. On the servers, Google provides all kind of logs and statistics. And for small apps like this one, Google provides everything from servers to support at no cost

 

This thing has been around for a while and I had already developed a few apps for it. The whole server side code was programmed in Java and took just a few hours to do. All database programming is done in JDO which means that you just create a POJO class and the JDO database takes care of everything else. To give you an example, consider the following class which I use to log all your requests:

import javax.jdo.annotations.*;
import com.google.appengine.api.datastore.*;

@PersistenceCapable
public class LogEntry
{
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long key;

    @Persistent
    public String uri, query, . . . ;
}

Inserting an object into the database is pretty easy:

    PersistenceManagerFactory _manager = 
          JDOHelper.getPersistenceManagerFactory("transactions-optional");
    PersistenceManager pm = _manager.getPersistenceManager(); 
    
    LogEntry e = ....;
    pm.makePersistent(e);

 

Getting your object is just slightly more complicated. Google have a lot of documents and tutorials on the subject.

 

If you are interested in Cloud Computing and Google App Engine, I suggest you get the following books:

  • Programming Google App Engine, O’Reilly.
  • Beginning Java Google App Engine, Apress,
  • Using Google App Engine, O’Reilly .
  • Developing with Google App Engine, Apress.

The cloud services are free, so just go to this place and log in with your gmail account to start playing with the clouds :)

Are Symbian and J2ME really dieing?

Check out the daily download statistics for my not-so-great apps on getjar:



(click for a larger image)

So what do you guys think? Are Symbian and J2ME really dieing? Should we all start using Android??

Speaking of J2ME apps…

On a not completely unrelated note: I just added “challenge mode” to version 0.5 of SameSame, which should be available on getjar on Monday.

If you can create new “levels” for the challenge mode, please send them to me so I can include them in the next version of the game :)

SameSame: a color-logic puzzle

SameSame is a variant of the puzzle "Same Game" is simple yet challenging and actually very fun game.



  • You can download the game from getjar.com or Nokia Ovi Store or from Appia via
    Opera or myxer.

  • The global scoreboard is found here
  • The development page is found here.
  • To leave a comment or report a bug, please leave a comment in this thread.

Common problems

… and their solutions:

  • Cannot solve a level? All levels (yes, ALL LEVELS) are solvable. If you can’t solve them you are either not bright enough :) or not trying hard enough.
  • Level 21-cooler too hard? Here is the solution :)
  • Game progress is not saved? First of all, get the LATEST version of the game from Nokia or getjar (Nokia very much preferred if you have their phone). Also, don’t exit the game by “killing” it. Exit by choosing “Exit” from the start menu (i.e. the first page in the game).

Introducing a new (?) game and beta testing at getjar.com

The puzzle “Same Game” is simple yet challenging and actually very fun game. Since I couldn’t find a good free one for my phone [1], I wrote (as usual) my own version of the game which I in a moment of temporary confusion named “Same Same”:

 

SameSame_SonyEricsson_JP8_240x320_12 SameSame_SonyEricsson_JP8_240x320_2 SameSame_SonyEricsson_JP8_240x320_4

The game is currently under development, but I have created a fully working beta version that you can play with. I have tested this beta on a few handsets (Nokia 5800 & SE C510 among others.) and it seems to work rather well.

 

We need beta testers!

I usually upload beta files to this site for your pleasure. However, this time I decided to try a different approach., Namely the getjar.com beta testing service, which works like this:

 

  1. To participate in the testing program, you need to register on this page.
  2. Now, please find and install the game “SameSame” (getjar ID = 37497)
  3. Play around with the game a few days and then kindly let me know what you feel about it
  4. While you are at it, try some other beta software at getjar, some are really good.

At the moment, there are very few beta testers on getjar. So I really hope that some of you joins the site as beta testers and help us developers to produce better software (after all, we are doing this for free in our limited free time and a little help from you would be very appreciated). This would also be very positive for J2ME community in general.

 

 

Notes:

[1] Well, there is of course SameGame2 which have been download ~ 700.000 times…