Wednesday, October 21, 2009

Dominoes for Android

I just finished working on my newest app for Android: Dominoes.


Dominoes was one of my favorite games as a kid. I'm from Texas, so we played what was called Straight Dominoes. Apparently it's closely related (if not identical) to the dominoes games Muggins, Fives Up, and All Fives.

The current implementation is two-player vs. a computer opponent. Each player takes turns playing dominoes, and you score when the open endpoints total to a multiple of 5. Here's a demo video:



There were some unique challenges in creating Dominoes for the mobile platform. The biggest challenge by far was the layout. I initially thought I was going to be able to display all played dominoes, but there's just not enough real estate on the screen to do that. Well, there sort of is, but the layout algorithm would have to be incredibly complex. The one I ended up coding was complex enough already.

I struck a compromise between showing some of the played dominoes, but clamping the ends, so that if a played domino goes off the screen, it basically overwrites the domino it was just played on. This doesn't look great, but I think it strikes a decent balance between only showing the endpoints and showing all played dominoes.

As you can see in the video, the user can pull up the Played Dominoes dialog at any time to see which dominoes have been played.

For the most part I wanted to have as much information available on-screen as possible, so that the user wouldn't have to navigate away from the main play screen in order to see:

1) How many dominoes their opponent has left
2) How many dominoes are left to draw
3) Whose turn it is
4) Each player's score


Also, if the player draws more than 7 dominoes, an arrow appears to the right of their hand, allowing them to scroll through their hand. I initially thought I would display all the dominoes in the player's hand at once, but this would simply take up too much space.

Anyway, I'll likely release it this afternoon and we'll see how well it does. Back when I released Spades, I got several requests for a dominoes game. When I wrote one of them back and asked what kind of dominoes, he said "Doesn't matter!" So we'll see what kind of demand there is.

Wednesday, October 14, 2009

Game Development for Android Article on Gamasutra

So about a month ago, the game industry website Gamasutra posted an open call for feature story ideas. I sent them an email saying I'd like to see an article devoted to game development on Android. The feature editor emailed me back and said "Go ahead and write it."

It was posted on Gamasutra yesterday, and Slashdotted today. It's meant to be a high-level, market-centric overview, rather than dealing with the technical intricacies of the platform.

Unfortunately, a number of programmers are not happy with this line from my article:
While iPhone apps are written in Objective C, the Android SDK uses relatively more programmer-friendly Java.
I even put a hedge term in there, but I guess I should have expected a backlash from iPhone developers (even though the article overall is very fair in discussing some of the advantages and disadvantages of each platform/market).

Jeff LaMarche, an author of iPhone development books, says overall he likes the article, but then says:
On the first page, for example, the article says that Android uses the "more developer friendly Java". What the hell does that mean? I've done both Java and Objective-C for a living, and neither one has ever waved to me or gotten me a cup of coffee. They're programming languages.
Well, so is assembly language. I think "programmer-friendly" is a fairly obvious term, and means more than just a lot more people program in Java (although a larger potential support community is a factor in making a language friendly to programmers). The first comment on LaMarche's post points out a few more reasons.

Ultimately, though, the designation is subjective, and the choice of programming language is certainly not a deciding factor for an experienced developer. However, it might be a factor for new, inexperienced programmers.

In any case, it's good to see the article getting some attention. I hope that it generates some interesting discussion and brings some focus to Android as a game development platform.

Wednesday, October 7, 2009

Golf Solitaire Free Passes 10,000 Active Installs

The free version of my Golf Solitaire app just reached a nice benchmark: 10K active installs. The retention rate is between 35-40%, which means about a third of the people who download it keep it on their phone for an extended period of time.

Spades Free actually has more active installs (close to 25,000), but GS seems to be gaining momentum and performing very well. I'm also happy with the conversions from the free to paid version. Sales of GS increased by about 30% from August to September, and so far this month they've gone up even more.

October looks to be a very good month already, and that's even before any new Android phones have been released.

Tuesday, October 6, 2009

ADC2 First Round Judging Complete?

I just opened up my ADC2 judging app to check out the next app, and got this message:


The first round of judging has concluded. Thanks again for all your reviews. Round 2 will commence after a brief scoring and review period, so there will be no apps to review for several days.

Don't worry, you'll start seeing those same notifications in the status bar soon enough.


Weird. Initially they said that judging would last at least 2 weeks, but the judging app went live on September 24th, which was 13 days ago. I'm wondering if this has anything to do with Android 1.6 compatibility issues. I can see cutting user judging short out of fairness to those whose apps aren't working under 1.6. But then, why would they resume user voting in a few days if that's the case?

It would be nice to get some official word on this.

There's a Map for That

Verizon apparently debuted this new ad last night during House:



It takes a dig at ATT's 3G coverage. The gloves are apparently coming off in the smartphone wars. This morning, Verizon and Google announced a strategic partnership centered around Android. Verizon plans to announce several new Android devices very soon that will be available through their network.

Looks like it's going to be ATT/Apple vs. Google and nearly every other carrier.

Monday, October 5, 2009

ADC2 and Android 1.6

So T-Mobile started rolling out the newest update to Android (1.6, code-named Donut). I got my update last week. Now normally this would be cool. I'm especially happy about some of the market improvements in 1.6.

The only problem is, voting for the first phase of the Android Developer Challenge II is going on right now, coinciding with the Android update. And developers were told to develop apps compatible with 1.5 for the contest (for most of the development period, the 1.6 SDK wasn't even available).

What this means is that because of the update, some percentage of the apps submitted to the contest will not be compatible with 1.6. I loaded Relativia to my phone with 1.6 and checked it out. Seems to be working fine, even all the map functionality.

But there are a few devs on the discussion groups that are reporting crashes and errors when running their contest apps under 1.6. This is not cool. I don't know of any feedback from Google about this issue so far either. I wouldn't think the number of people working on Android at Google is very large. It sounds like some people were not communicating, though.

User judges have the capability to skip apps they don't want to vote on. The fairest thing for a user to do would be to skip voting on apps that crash. But most users probably aren't aware that problems with the app could be due to OS version compatibility. Google could do a number of things to correct the situation, some which would require a lot of work (like testing apps for compatibility issues), to disable the voting app under 1.6, only allowing it to run under 1.5. They could cut short the user voting and rely on expert judges from the second round. Or they could simply do nothing.

I'd heard that devs complained about the administration of ADC1, but I don't think anything like this happened. Stay tuned...hopefully Google will actually address the matter soon. The issue doesn't seem to be affecting my entry, but I hate to see other devs get screwed over.

Thursday, October 1, 2009

September Recap

September was a good month. Most of it was just like the summer months, but a few really nice things happened to give me a boost going into October.

First, as I mentioned before, Google added a few new categories to the market, including Health. This allowed my infusion calculator to get a little more exposure. I sold 31 copies of InfusionCalc in September, compared to just 11 in August. Not mindshattering, but a nice little boost. That app is now #5 in paid apps in Health.

Many users were complaining about the lack of high score functionality in Golf Solitaire, so I added a leaderboard. That seems to have helped quite a bit, upping the overall rating of both the free and paid versions, and boosting sales a bit. Here are my all-time sales by month for the paid version of Golf Solitaire:


Again, not money to retire on (GS sells for $1.99), but the trend is nice. While the free version has remained fixed at #20 in its category, the paid version has climbed up the 6th highest paid game in Cards & Casino.

The most significant development is that I was accepted to participate in the Google AdSense for Mobile Apps Beta program, so I replaced my AdMob ads with AdSense in Spades Free and Golf Solitaire Free. I also put AdSense ads in PetBook and released it as a free app. I'm not going to give out specific numbers right now, but I will say that I am very happy so far with the results. I may be getting a boost just from the novelty of new ads and new placement. I hope ad revenues don't dwindle down to the $1-2 range like the did with AdMob. It would be nice if they plateaued off to a respectable level.

The news is that Donut (the latest Android build) started rolling out to users' phones last night. It's got some nice improvements to the market (screenshots!), which can only help downloads and sales.

Also, the new phones are coming out. The Motorola Cliq goes on pre-order October 19th and on sale the first week of November. The rumorly-named Motorola Tao is supposed to be announced any day now, and should be available (on Verizon, so the rumors go) by the holidays. I think the HTC Hero, available on Sprint, is also supposed to be available within the next two months. Of course I hope these things sell like hotcakes and lead to a corresponding boost in downloads and sales. We'll see.