Thursday, April 26, 2012

First App "Where Is It Smart Kids Edition" submitted to App Store

After a few weeks' "intensive" hard work, finally submitted my first app "Where Is It Smart Kids Edition" to App Store for review. (read: sick of working on it after so long, can't wait to get rid of it to start working on something else....)

It's just the "heavily modified" Cocos2dCupInDice project I had before.

The submitted time is around 10pm 26/04/2012 Sydney time. Interested to see how long it takes to get a response or receive result.

Whether it's accepted or rejected, it's a learning experience for me, doesn't really matter. Will post further information here if there's any update. Wish me good luck with my first app!

Some of the things I learned today (during the various attempts to submit) are:

1) The "Application Loader" thing (a very confusing name, should be called "In-App Purchase Helper") is useless unless you are doing in-app purchase. I downloaded and installed it, studied the instruction for a while and wasted some time on it. So if your App is free like mine, just ignore it. The update is done - not through "Application Loader", not throughout "iTunes Connect" site - but from Xcode.

2) Be careful when you upload the icons and screen dump images (as part of the application setup process). The annoying is, after you uploaded and saved, YOU CAN'T CHANGE IT!!!!!

Yes, I thought I just add one screen dump as a test first, and will come back later to add more, then it's locked and I can't add more or change or delete or do anything. Or may be it's because I did something dumb which proceed to the next step that caused it to be in locked mode? Any way, I now only have a very simple screen dump there, from what I read on the Net, looks like you have to upload another version (ver 1.0.0.0.1 ?) then you will be allowed to change the icon or images... very annoying.

So if you are setting up your application, be careful with that.

That's about it, finally can relax a bit for the weekend. Next thing will be to plan/think about which one to work on next.

Remember the "10000 hour rule"? Have faith with what you are doing, keep trying and work hard!

[Update 07/05/2012] I think during your first submission, after you updated the "screenshots"and other stuffs, as long as you don't click the "Ready to upload Binary" button then you probably can keep changing it. Once you clicked on it, you can't change it until your app been approved.

Monday, April 23, 2012

Learning from "Draw Something" - async/turn based way of playing

Was studying the flow of the popular game "Draw Something", and like to call it "Async/Turn based" way of playing(unless any one got a better idea about the name :-P ).

Here's how it works:

1) Player 1 first choose or find a friend/opponent to play with, either by email/facebook/random

2) Player 1 do something (in Draw Something, it's create a drawing) and send the data to player 2

3) Player 2 received the request (prompt to install app if not already installed), do something (in Draw Something, it's guess what player 1 was drawing, if correct, both get coins), then player 2 repeat the same step, do something and send it back to player 1

4) keep repeating 2) and 3), both enjoy the fun and earninging more coins

As either player could be off-line, the app either send notification or email or whatever or just wait for the player to run the app again. And as it's not syhchronised, a player can play with as many other friends/opponents as required at the same time. Just fullfilling each request one at a time.

The interesting part is the process of the app showing the different steps about what the other player is drawing, and how the other player guess what you have drawn. Plus the expectation of getting feedbacks as it's a kind of fun interaction with other players.

Hope you find this kind of game flow interesting and can get inspired to come up with new ideas. It's definitely a lot more complicate than the normal games as you need some sort of back-end Web Services setup. Wonder if any existing framework can do this, OpenFeint? Nextpeer? Any idea?


Monday, April 16, 2012

Any one know how different "Blogger/blogspot" domains work?

While looking at my sitemeter stats, noticed some domains which I never seen before.

First, there's this one looks like from France "http://new2objectivec.blogspot.fr/"

Then this one from India "http://new2objectivec.blogspot.in/"

This one from UK "http://new2objectivec.blogspot.co.uk/"

This one from Germany? "http://new2objectivec.blogspot.de/"

Also, recently, when I entered my domain name as "http://new2objectivec.blogspot.com/", it automatically redirects to Australian version: "http://new2objectivec.blogspot.com.au/"

I guess from Blogger/blogspot point of view, by redirecting traffic to local servers would be faster than all coming to one central site. I know there's this company called Akamai which installs lots of cache servers in different countries and automatically caches the content of it's client's web site to these local cache servers to improve the performance/customer experience. Probably Blogger/blogspot is doing the same thing?

Cocos2dDiceInCup Minor Update

I made some minor update to the "Cocos2dDiceInCup" game, mainly updating the images to proper Cup and Dice (instead of the ugly "rock" and "seeker" previously). Otherwise everything remain the same, still under MIT license. And I promise I will be "very happy" to see if any one copied my code this time, just if you can kindly let me know or provide a link back to this blog. Thanks!

Updated Link for Cocos2dDiceInCupVer1.1.zip

Wednesday, April 11, 2012

Have you started using Source Control in XCode 4?

I always know the importance of Source Control. But I always got hundreds of excuses for doing it tomorrow, or put it down in the bottom of the to do list. Until I accidentally deleted a full working project today.....

Lucky I saved it back from Trash, but the shock still gave me high blood pressure for at least an hour or two.....

It could take a while to setup and understand the concept if you never done it before, so would suggest you to try it with a small project first. Make sure you are clear with all the required steps first before putting your major stuffs in there.

Have a look at this Apple document, and try to do some search on the net.

Good luck and hope you won't be so un-careful as me, but I surely learned the lesson in the hard way...

The 10000 hour rule

Saw this post by Jeff Vogel talking about "The 10000 hour rule" and felt quite touched. If you search on the net and you will find lots of info about that too.

I have copied the quote from Ira Glass below, hope you enjoy it as I do. You got to have faith with what you are doing. Although your 1st X Apps/Games won't be the best seller or Top 25, the experience is helping you to get closer to that. Just keep working on it, do a lot of work and never give up!

Monday, April 9, 2012

Don't rotate or scale your touchable Sprite in Cocos2D,

Got stuck with a bug for almost 2 weeks.

What happened was, I tried to rotate and scale down some sprites. Problem is, I found that all the touchable Sprites which used to work perfectly before the rotate and scale down won't respond to touches that were around top or bottom 15-20% area of the Sprite. That is, users now have to tap at the middle of the Sprite - which is very very very annoying.

After all sort of troubleshooting, I finally worked out it's because of the Sprites I am using. Unfortunately, been a developer who's not very good with designing and graphic :-(, plus a bit lazy (sometimes). To avoid the hassle of redrawing all the Sprites, I simply used the built-in Cocos2D function to rotate and scale down all the Sprites and that is where all the problem began. Looks like if you rotate or scale down your Sprites, somehow Cocos2D won't respond to touches on the top/bottom 15-20% of the Sprite. My test shows if I supplied extra set of properly rotated/scaled images, then everything works as expected - mystery solved! But what a pain as I now need another set of Sprite! ^%#%#@#$@%

Only if Cocos2D is smart enough to adjust all the touch function properly according to the scale/rotation been made to the Sprites, is this qualified to file it as a new bug, or is it a "known feature"?

Well the good news is, for those Sprites that are not touchable, you can still rotate/scale them as required.

Thursday, April 5, 2012

Patch your Mac ASAP!

There's this news about 600K+ Mac been infected with "Flashback trojan" (some reports: here, here and here), make sure you patch your Mac ASAP following this instruction from Apple!

According to the instruction, it's "Java 1.6.0_29" that's having lots of problems and should upgrade to "1.6.0_31". And to check what version of Java runtime you have installed in your Mac, you have to run "java -version".

I tried it on my MacBook and this is what I got:

MacBook-Pro:$ java -version
No Java runtime present, requesting install.
MacBook-Pro:$

Ha ha, I didn't even have it installed...So looks like my Mac is safe from this specific trojan?

[Update]
Just learned that it's because my MacBook comes with Lion and Lion doesn't install Java by default. But I found Safari still have "Enable Java" ticked by default, and have to go to "Preference -> Security" to disable it. But if you are running Snow Leopard that would be a different story.

Wednesday, April 4, 2012

6thMega site down?

Looks like the whole web site for 6thMega is down at the moment. The godaddy info says it's expired 23/3/2012, hope they can get it restored soon. Also checked 6thMega's twitter account , but it hasn't been updated since March 2011. Wonder what happened to them, any one heard of anything about them?


As I mentioned in this tutorial, 6thMega published the source code of their PuffPuff game to the public. But now that their site is down, people can't get the code any more, and I already received a few email requests asking for help to get a copy of the code.

As it's now sort of open source, though the copyright still belongs to 6thMega, should be ok for me to provide a link to help others to download the code, right? Will try to workout something from home tonight...

[Update]
I have uploaded the copy of PuffPuff V1.1 I downloaded last November to this link. Please note that the copyright still belongs to 6thMega, and this is just a temporarily work around while the 6thMega site is unavailable. Please let me know if you have problem with the link or any other issue with this sharing. Thanks.