Category: Computer Science


It has been a great achievement by Mindstorm Studios team; to develop, publish and entertain players around the world so much that an international company has re-published the game.

http://tribune.com.pk/story/359293/killing-it-game-developer-makes-it-big-with-mafia-farm/

Mafia Farm

It’s been ages since I posted my last post; the only reason for my laziness here is due to my full commitment to a new game Mafia Farm. This is the latest game title released by Mindstorm Studios. The game is also released on Android store. Android users can download this game from this link.

This is the fist online social game developed by Mindstorm Studios. Players with Mafia taste can join in and compete with other similar players around the world. The game also has a world-building component which increases the reputation which in turn increases the chances of winning the raids. The defense items lets your world to handle all the attacks in your absence. You can hire mobsters or purchase villains which increases your attack, defense and reputation. It’s great fun.

Spoiler alert: The new update will have leader boards and facebook connect. ;)

Check out it’s trailer:

It’s never too late to brag about your accomplishments; therefore I am bragging here about what I have done. I successfully ported Whacksy Taxi (iPhone) to Whacksy Taxi HD (iPad) and Whacksy Taxi (Android) for Mindstorm Studios.

Following is the game review:

I have officially started Android Game/Application Development. To maintain a simple guide for newbies I am updating this post in parallel to what I am doing for starting development on Android.

First of all, I am developing on MacOS, since I was doing iPhone/iPad application development till yesterday (and hopefully will continue it after couple of days). Following are the steps to get started with Android Development on MacOS:

  • Android Setup in MacOS:
    • First step was quite simple and I knew what I have to do i.e. install an IDE for android development. I came across developer.android.com/sdk and it guided me fully in installing Eclipse and Android SDK. It has about 5 steps and once you are through with those steps, you will have android running on your MacOS device. Cheers!
  • Creating First Project:
    • Creating an android project in Eclipse is a little confusing. I had an experience in creating sample projects in other IDEs and those were very simple (maybe because they all had C++ or variant of C/C++ language). But this time I need to be clear about JAVA application architecture. Therefore need to follow some steps.
    • I started creating a project but got stuck in Package name. The wizard did not move further. So I googled, and came across a nice post at devX titled “Getting Started with Android Development Using Eclipse”. There are steps in creating and running first application in Eclipse. [After 10 minutes] Viola! I got my first application up and running in Android Simulator.
    • Hahahahahaha, some might find this funny. I kept watching at the Android Simulator for about 10 minutes and then clicked on Menu button and then realized that the screen of simulator was locked and is now unlocked; and then I can see the Hello World Application Name on screen. By clicking the return button closes the application. If anyone encounter similar situation, don’t feel ashamed …  you are not alone :D
  • Adding Coco2D in Android project:
    • My main goal is to develop an environment for game development so that I can start porting my iPhone/Cocos2D game in Android/Cocos2D. This is first step for my game development since this seems logically the quickest way to start Android Game Development. Now again, I used my lethal development weapon (i.e. googled for tutorial :P ) and found a blog post titled “Cocos2D Android Hello World Tutorial”.
    • [After 35 minutes] I have successfully created Cocos2D scene and layer in Android. Here is a snapshot of the application.
    • Now, I will start with my actual development. ;)

Happy Android Game/Application Development ;)

More Exploration!

Today I tried to scroll sprites in screen and encountered a lot of issues. I googled a lot and found a couple of different game engines for Android. I shared my RnD as comments to this post. But, I have (kind of) decided to stick with Cocos2D for my first game. Lets see how it turns out.

Besides, I came across a series of Android Development Tutorials by CornboyzAndroid. Their tutorials can be viewed at youtube channel. I am also sharing their videos in my post too. ;)

Ars Technica recently published a three part series on “Why Writing In Games Matters”. It’s an interesting read and certainly makes one think about how their game design can be improved by putting more thought and effort into the story as well as the purty graphics and rendering engine.

Why Writing in Games Matters – Part 1

Why Writing in Games Matters – Part 2

Why Writing in Games Matters – Part 3

[links via InsideMacGames]

 

[Programming] In-App Purchase

I was shared a good link to get the understanding of how one can add in-app purchase model in one’s iPhone/iPad application. I thought it is good to share with everyone. Click here to see the original text.

Happy Coding! ;)

I took my mother for her routine checkup of her foot to CMH (Combined Military Hospital). While the doctor was examining her foot, I was examining his desktop (table, I mean; most people might think his computer’s desktop :P ); where I came across this quote.

To succeed; Stay low and start slow

This quotation was with a picture of Hare and Tortoise getting ready for a race. It immediately popped up in my mind that how true it is. I have seen people in my life who go for some objective with great publicity and very quickly before preparing themselves and most of them get dirt on their faces. There are rare cases but we are not targeting exceptions here. This is one thing, I have learned from my experiences that to achieve any goal, we must stay on low profile and should not open our mouth at anything, neither we should commit any thing without doing any planning or following any strategy. We should be silent in start, gather requirements and stuff; let the other person speak their heart out. And when we have everything, with which we can work something; then there is no stopping. Move gradually towards your goal and keep everyone involved updated with little milestones. We should not brag with great exaggeration about small milestones that we have done a great job so far and need some rest; we will end up losing the race just like the Hare. We should keep our profile low and deliver big & complete thing at the end.

Sometimes, big lessons come from small quotations and old stories. I am having a great time managing and correcting myself where I have or could have gone wrong in my profession; hopefully someone reading this might do so as well.

Happy staying low and starting slow ;)

I know, anyone can see what is the current language he/she is using in his/her mobile. But I am discussing here how can we access this information from an application. I googled around and came across couple of alternatives to get this information. I still don’t know which one is the better solution but still here are those. ;)

NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
NSString* preferredLang = [languages objectAtIndex:0];
NSLog(@”preferredLang: %@”, preferredLang);

Another alternative is:

NSArray* languages = [NSLocale preferredLanguages];
NSString* preferredLang = [languages objectAtIndex:0];
NSLog(@”preferredLang:%@”,preferredLang);

In both cases, you will get a language code of current preferred language of your device. As one can see, we have an array of language codes and technically the first one in the array is the preferred one. But here I thought for a second, that what does these codes represent so I googled again a lot of times and finally found which language code represents which language. The language codes used are following the standard coding convention proposed by ISO 639 (ref: Wikipedia). The list which I got from the arrays above is as follow:

  • en………………….english
  • fr…………………..french
  • de………………….german
  • ja…………………..japanese
  • nl…………………..dutch
  • it……………………italian
  • es…………………..spanish
  • pt…………………..portuguese (Brazil)
  • pt-PT………………portuguese (Portugal)
  • da………………….danish
  • fi……………………finnish
  • nb………………….norwegian
  • sv ………………….swedish
  • ko ………………….korean
  • zh-Hans ………….chinese simplified
  • zh-Hant …………..chinese traditional
  • ru……………………russian
  • pl……………………polish
  • tr……………………turkish
  • uk…………………..ukrainian
  • ar……………………arabic
  • hr…………………..croatian
  • cs…………………..czech
  • el……………………greek
  • he…………………..hebrew
  • ro…………………..romanian/Moldavian
  • sk…………………..slovak
  • th…………………..thai
  • id…………………..indonesian
  • ms………………….malay
Happy language accessing ;)

Hahahahaha, whenever I post anything related to Cocos2D, my post is shared via twitter at www.cocos2d-iphone.org. That’s too kool :)

I came to know about this, when I starting receiving traffic from the said site. In a way, it’s great because my reviews and comments about cocos2d are shared and might be useful for at least someone in the globe (I am pretty sure, that will be me of course….. who will be coming back to see what and how I did anything in Cocos2D :D )

Happy Cocos2D coding ;)

The new version of Cocos2D is simply superb. I did some basic stuff, like making couple of scenes and moving in between them. The latest versions of Cocos2D have updated the library to have a prefix ‘CC’ before each and every class……which has made coding easy as well. I think I must also adopt similar kind of practice to add ‘RH’ before all my classes :p

Well, I can discuss here some transition related stuff, which might be helpful for everyone. When you are replacing/pushing scenes, we can perform some transition on those scenes. There are many types of transition effects provided in Cocos2D. To perform transition on Scene; one has to write this basic line:

[[CCDirector sharedDirector] replaceScene:[CCFadeTRTransition transitionWithDuration:0.5
scene:[StartingMenuScene scene]]];

In the above example, the screen will fade towards TR (top right) of the screen with the duration of 0.5 seconds and another scene (e.g. StartingMenuScene in this case will appear). Simple ;)
Other types of transition effects available are:
  • CCOrientedTransitionScene
  • CCRotoZoomTransition
  • CCJumpZoomTransition
  • CCMoveInLTransition
  • CCMoveInRTransition
  • CCMoveInTTransition
  • CCMoveInBTransition
  • CCSlideInLTransition
  • CCSlideInRTransition
  • CCSlideInTTransition
  • CCSlideInBTransition
  • CCShrinkGrowTransition
  • CCFlipXTransition
  • CCFlipYTransition
  • CCFlipAngularTransition
  • CCZoomFlipXTransition
  • CCZoomFlipYTransition
  • CCZoomFlipAngularTransition
  • CCFadeTransition
  • CCCrossFadeTransition
  • CCTurnOffTilesTransition
  • CCSplitColsTransition
  • CCSplitRowsTransition
  • CCFadeTRTransition
  • CCFadeBLTransition
  • CCFadeUpTransition
  • CCFadeDownTransition

    Happy Transitioning ;)

    Follow

    Get every new post delivered to your Inbox.

    Join 87 other followers