Thursday 10 March 2011

ZOMBIE NINJA COMING SOON TO APPSTORE

Hey guys for a period I was trying to response the reviews of my new game. It is still on review and I really am loosing my patience :)

Game is so enjoyable. It is like fruit Ninja. Basically there is a guy I called him "Teddy Cool" standing at the middle of the screen and there are Zombies trying to reach him. All you need to do is to slice the zombies before they reach him.

It is actually a violance game but so great to play :) I still am playing and having fun with it. I also implement game center leaderboard on it so you can challenge with the world.. Try to do best score and let others talk about you and beat your score..

Here is a video of the game..

Enjoy it...


Video of the game..

Friday 4 March 2011

HOW TO BUILD A GAME WITH COCOS2D BOX2D BEGGINER

Hey Guys,

I know it has been a long tome I am not writing new stuffs here but I was pretty bussy about my new game "Zombie Ninja". It has been a good game and it is in review now. I ll let everyone know when it publishes.

Today I want to talk about game programming by using cocos2d library. If you have some knowledge about game programming for iphone you should probably heard about cocos2d. It is basically a library for you to help building 2d games.

I will share my free game "Crazy Ali"'s source code with you by expaining the stuffs. Actually I could implement this game more optimized but because I want to show you different features of cocos2d I did not try to optimise it.

if you wanna have a quick idea about cocos2d i refer you the manuel of cocos2d. It has pretty cool explaination but if you dont have idea about computer graphics or game programming it may be difficult for you.

So for now I want you to download cocos2d from its website and install it on your computer. The installation has been explained on the website pretty cool so I will not talk about how to install cocos2d.

After you downlad and install cocos2d to your comuter lets start a new project and call it "Crazy Ali". To do that run your xcode select "New Project" after that you may see on the left side "User Templates" tab and under it "coco2d version name" just click on it and select "cocos2d box2d Application" from entire templates. This will automatically create necessary files and references needed for you to build a box2d project.

So what is Box2d?
Box2d is the library for you to handle physics on your games. It is pretty great library to use physics in your game. The main idea of the game that we will implement is going to be about a guy collecting some stuff dropping down from the sky. Yes we could do the dropping animation in basic cocos2d without using box2d but box2d will make it easier to hadle for us.

So after you create your game with the name "Crazy Ali" just click on HelloWorldScene.mm file under classes group there are some stuff in that file that I will explain for you.

In HelloworldScene.mm file you can see the init method. It is the initialize method basically. When this file runs this method will run first. So in init method you may see:

self.isTouchEnabled = YES; // to enable touches for the entire scene

self.isAccelerometerEnabled = YES; // to enable Accelerometer for the entire scene that we will not need. so you may delete it.

CGSize screenSize = [CCDirector sharedDirector].winSize;
CCLOG(@"Screen width %0.2f screen height %0.2f",screenSize.width,screenSize.height);
// to show the sizes of the entire screen on console.

b2Vec2 gravity;
gravity.Set(0.0f, -10.0f);

so this two line may be more important than the previous ones. This two line will set the gravity for your world in the scene. Basically you can see a vector class called b2Vec2. This class is used for metre calculation in box2d. so when we define the gravity we choise this type and we set the gravity to -10f in the next line, when we set a b2Vec2 object we give two parameters which are float, the first one for x axis and the second one is for y axis. so gravity.Set(0.0f, -10.0f) means that we have a vector with zero value of x and -10 value of y, this is the magic number of gravity impulse in real world ;)

bool doSleep = true;

This line is not necessary but to make your game more optimized you can type this line because when the dynamic body objects, which you dont know what they are yet, are simply static in a while the library make them sleep and this can increase the performance of the game. (When you run the project after you did write some code you can see the body objects on screen and if they are moving colors of the objects are pinky but if they are stand statically the colors become green. This shows when they are sleeping and when they are awake.)

world = new b2World(gravity, doSleep);

Here we create our world. Do not thing you are the god!! but in your game you create a world object. so from now on every body object that have physics behavior will be in this world. I will talk about the structure later some more.


world->SetContinuousPhysics(true);

Here we set the physics for our world. Means that "yes my world will have physics.".

m_debugDraw = new GLESDebugDraw( PTM_RATIO );
        world->SetDebugDraw(m_debugDraw);
       
        uint32 flags = 0;
        flags += b2DebugDraw::e_shapeBit;
//        flags += b2DebugDraw::e_jointBit;
//        flags += b2DebugDraw::e_aabbBit;
//        flags += b2DebugDraw::e_pairBit;
//        flags += b2DebugDraw::e_centerOfMassBit;
        m_debugDraw->SetFlags(flags);

These lines are standing for us when we want to debug our game to test it out. With these lines actually you can see the shapes you created in your world. If you do not type these lines and if you do not attach a sprite to your shapes it is IMPOSSIBLE for you to see your shapes on your screen.

We set debug draw first then we set some flags for it. As you can notice some of the lines commented out. These are actually optional. e_shapeBit enumarator is standing for you to see your shapes in the world while you are runnung the game. I reccomend you to delete the comment of the second line e_jointBit. when you comment it out and run the game if you have some joints in your game you can see how they are acting. An yes we will have some joints in "Crazy Ali" game so just turn it on!! ;)

The rest I can easily tell you to erase till the line that is written "[self schedule: @selector(tick:)];"
We will keep building our game by ourselves so we dont need them.

I reccomend you to erase addNewSpriteWithCoords and accelerometer methods as well because we do not need them as well.

It is all for today and in the next post I will let you have some idea about box2d bodies and how to import them to our game. Till that time I reccomend you to have a look the box2d manuel as well.

See you later guys.

Sunday 16 January 2011

The Hungry Koala is on Appstore one of the most enjoyable physics puzzle game.

Hi all,

Wellcome back. I was so busy about putting my game to app store lately and i couldnt make time to write here. I had several problems about ipad screen size and user interface issues about reviews and i fix them. fortuantely The Hungry Koala is on app store.

I want to mention about the game a little. First of all as i wrote in my previous posts I spend 1 month to develop the game. Yes it is not impossible. I did not know anything about iphone programming or game programming. I setup my environment and learn how to code in objective-c and created my game logic for last developed the game in one month.

I made it a simple physics puzzle game very easy to play and enjoyable game. But you know i am pretty new in IOS world so maybe i made some mistakes. I want you apl to post here what you think about the game, how can i make it better and the other stuff.

By the way I created another game called "Crazy Ali" and i will share how I did it in here. I will put the codes in here and give you a detailed tutorial how to do it.

Just play the game "The Hungry Koala" and share your ideas with me. Mean time wait for me to share my experience with you for "Crazy Ali" game.

direct link to game: http://itunes.apple.com/us/app/the-hungry-koala/id412606871?mt=8&ls=1 

game website: http://www.o-jielabs.com

wish you best...

Thursday 30 December 2010

Uploading Your App to App Store

As anyone do, I also have respect to apple world. But today what I have been through was enough to drive me crazy. I finished my Game developing and tried to upload the App Binary to App store. I have encountered several difficulties while uploading the App.

First of all you need to build your code in Xcode for distrubution. I already think that you finished getting provisioning files and other stuffs. before you build your code over xcode you need to arrange the code singing to the appropriate certifcate. BE CAREFULL do not change any settings belong the code singing over the Project settings page. You need to refer directly to Target File Info page. how to do it? on the left side of the x code screen you can find the "Target" tab. under this tab you can find you projects target. right click on it and click "Get Info" on the screen appears you need to select Build tab and find the related field for code singing. For default it must be "don't sign". There you need to change it to the sign you had for distrubution.

I wrote above pharagraph just for some experienced programmers. If you are a newbie I need to tell you that there are many more steps for you to reach until here.

If you know how to build your code for distrubution and get a weird error about invalid id, and this id is not registered for submissions, probably you did this mistake. so clean up th code signing at the project setting screen. you need to do it before you get crazy!!

Second one is about icons. there are 6 different icons in the project for you to arrange. one for Iphone and Ipod touch, one for Ipad and so on. you can see the default icons under "Resources" folder. but after you think you have done it and when you try to upload, if you get an error about ipad size is not appropriate then you need to do what I say right now. If you get this error probably you used cocos2d in your application as library. So there should be a property list under Resources file colled info.plist click on this file and see what is inside.

there you can see a tab called "Icon files". All you need to do is to change the name of this tab to "CFBundleIconFiles" and than save. It should work after this process.

One more thing. If your Iphone Simulator crashes some how that means you need to clean up the memory of simulator. you can do it "Iphone Simulator->Reset Content and Settings". if it does not work go to Application Support folder under your user and find the Iphone simulator folder. you can change the permission of this folder for yourself to use or you can erase this folder completely. If you erase it, better to restart your computer to take Iphone simulator effect.

If you want to try programming for ios and get some weird errors, feel free to ask me. I will do my best to answer you.

Now I have to wait for my Game to be rewieved.

See you soon.

Wednesday 29 December 2010

HUNGRY KOALA 2

I finished developing game and today I put the back ground music. I want to thank to my friend Kokturk Aksungur for his help about background music. It has been pretty cute music and I really like it. I want to share a small video about the game.



The game idea is so simple. There is a bucket that a Koala holds and an eucalyptus ball that you need to put into the bucket. There are boards and you can destroy the boards by tapping on them and also there is heavy ball that linked to ropes, you can destroy that ball to by tapping on it. Ropes are so simple to be cut. just slice your finger over the rope that you want to cut. But you need to be carefull because every piece of rope has some density and it effects the behavior of the system according to physics where you cut th rope from.

There are stars around the screen and to make your score higher you need to try to collect the stars before you get the ball into the bucket. actually I have put an instruction page into the game and if you have any query you can refer to this page.

Just enjoy your time. collect the stars and feed the Koala!!! endless fun...

Tuesday 28 December 2010

HUNGRY KOALA

The game's development I was working on has just been finished. I solved the last bugs I found while I was testing the game . The game is pretty cool I am now waiting for Itunes connect to get on work again. They are in christmas holiday.

While I developed the game I learnt many things and am now ready to develop some other games.


If I talk about game, I can say the process was really good. I spend almost one month to learn how to code by using objective-c, how to use a mac-os system and some tools that helped me to create the game.

I wanna put some screen shots of the game here and try to get your comments.

This is the main screen of the game:


 Here is the stage selection scene:


Here is the scene when you pass a level. stars you collected will be shown in here:


Here is a screen shot from the game. the purpose is to get the eucalyptus ball into the bucket that Hungry Koala holds for you:

This is the level selection menu scene:



After I provide you the screen shots I can tell you the details of the game. basicy it is a physics-based Puzzle game and there is a bucket that koala holds. All you need to do is to get the eucalyptus ball into that bucket to feed this Hunrgy Koala and collect the stars. make your own solutions and collect as many as stars while you finishing the game. 

It is an enjoyable game. I really tried to make the levels to let you play well and try to solve something. the game development is already finished I am waiting for the Itunes connect as I told. As soon as possible I get my contracts from Itunes I will publish the game and there will be updated versions about the game.

In the next topic of my blog I will present you a video about the game and try to explain some problems I encounter while I was working on game. Probably I will also give some advices where to start for I phone game development.

Keep following...

Sunday 26 December 2010

The Best Seller Iphone Games

ANGRY BIRDS 

  

"The survival of the Angry Birds is at stake. Dish out revenge on the green pigs who stole the Birds’ eggs. Use the unique destructive powers of the Angry Birds to lay waste to the pigs’ fortified castles. Angry Birds features hours of gameplay, challenging physics-based castle demolition, and lots of replay value. Each of the 210 levels requires logic, skill, and brute force to crush the enemy."

     Here we go. One of the best seller games on App store. when it realized on App store nobody could predict what a massive succes it will have. In 8 months it reached about 5 million sales mark. It was just a simple 2D physics puzzler's. I met this game when I was in a work travel in China and enjoyed playing this game. One of my friends was playing it and I got really curious about the game because it was colorful, cute and succesful game. It was the second game effected me after "Plantz vs zombies". Anyway I found a small article about this game and saw a little discuss about the game made by the game's comanie's CEO Mikael Hed. I want to share this with you and make u notice there is nothing impossible.

"GP: What is it exactly about Angry Birds that appeals to so many people across the world?

MH: We originally made it for the iPhone, and we wanted to make a game that uses the touch screen. One of the criteria was that it had to be expandable so we could bring it to the iPhone and other platforms. There's this old wisdom: It has to be easy to pick up and play but hard to master. The "easy to learn" part was really important to us. When you see one screenshot of the game you know what you have to do. Angry Birds is simple, but it still has depth. It has to be so much fun that players want to return to the game over and over again. Angry Birds achieved precisely that.
We get a lot of fan mail. One of our 23 people on staff just answers fan mail, and that's all he does. Once in a while we get something that's really special and we send it around. We like to interact with our fans -- it's really rewarding. A mother of a five-year-old boy sent us some scans, saying that her son had drawn a level for the game, and we actually put the level in the game via an update. Kids often send in drawings of the characters. There's one kid who actually built a castle for the pigs and it's on YouTube where he has this live Angry Birds game."

You should try playing this game. very enjoyable and challenging game.  

This game gave me some idea about the game I was going to develop for Iphone. I noticed that people like simple puzzle games lets you control everything by touching and sliding your finger over screen. This has been my first tip. I do not need to create 3D and complex game at first.
CUT THE ROPE



"A mysterious package has arrived, and the creature inside has only one request…CANDY! Help get the candy to Om Nom, the adorable monster, in this highly innovative and addictive puzzle game. Combining outstanding physics, devilishly tricky levels, and bright colorful visuals, Cut the Rope is one of the most original and fun-filled games on the App Store."

When I was digging around to get some idea to develop a game I met "Cut The Rope" it was an easy and cute game. Graphics were almost perfect and I loved the rope component in the game. Great physics was implemented to game and the performance was good. This game also gave me so much idea about the game I was planning to develop.   

I had no free time one day. I had some tasks to do but I wanted to know which games were best sellers game on apple world and I made a quick search. I downloaded that game - Wish I wouldnt that time - suddenly I stock on the game and couldnt leave it. I played whole the levels in 1 hour and finished the game. Then I noticed that I need to implement this kind of puzzle game. It knocks the people to iphone. I spend my valuable time bu I did not regret.

NEED FOR SPEED



" **HAPPY HOLIDAYS from EA! NOW DRIVE AS COP OR RACER!** Featuring TWICE THE GAMEPLAY and TWICE THE FUN. PLUS, more customizable features. You wanted it. You got it! Now outrun the law in supercars like the Pagani Zonda – or stop racers cold in high-speed police interceptors like the Lamborghini Reventon. Plus, you can challenge a friend to a head-to-head Cop vs. Racer showdown via local WiFi or Bluetooth. Made to maximize the Retina Display, the eye-popping visual quality will put your senses into overdrive!"

Everyone knows this game. Everone is a fan of this game. But to be clear it was really hard for me to play this game on Iphone. Maybe on Ipad it would be better. But anyway it has the name and everything else to be a great game. Graphics, performance, fun... But it was out of my development scope to check information about my game. 
TETRIS



"Now celebrating over 100-million paid downloads on mobile! Discover why millions of players around the world have made the TETRIS® game one of the biggest blockbusters in mobile gaming history.

ENDLESS HOURS OF FUN
Enjoy Classic Marathon mode, slide, rotate & drop your tetriminos into place with touchscreen controls.
"

No doubt... The best Puzzle game for all times. I remember the first time I had a tetris. It was one of my happiest moments in my life. Still I am enjoying to play this game and I can easily say noone can say any negative word for this game.
NINJA FRUIT



"Fruit Ninja is a juicy action game enjoyed by millions of players around the world, with squishy, splatty and satisfying fruit carnage! Become the ultimate bringer of sweet, tasty destruction with every slash."

Perfect.. one word and it is perfect.. This game actually saved my life. when ever I get bored this game helped me out too much. Any one who plays this game can see what abilities an Iphone have. perfect touching mechanism and perfect graphics.. endless fun. 

First time I saw this game.. Yes I remember.. My girlfriend was playing it. She use to keep showing me the high scores she had. I still couldnt reach the scores she had but I am trying.
thank you Fruit Ninja.. 

DOODLE JUMP



"In Doodle Jump, you guide Doodle the Doodler—using some of the most subtle and accurate tilt controls in existence—on a springy journey up, up, up a sheet of graph paper, picking up jet packs, avoiding black holes, and blasting baddies with nose balls along the way.

Laugh with delight as Doodle™ blows past other players' actual score markers scribbled in the margins. And be warned: this game is insanely addictive."


One of my best friends' one of best games. I loved the graphics and the idea but I couldnt get much time to play this game seriously. Of course I played but I need to play it more carefully. It seems like a simple game but the idea is perfect. 

PLANTS VS. ZOMBIES




"A mob of fun-loving zombies is about to invade your home. Use your arsenal of 49 zombie-zapping plants — peashooters, wall-nuts, cherry bombs and more — to mulchify 26 types of zombies before they break down your door."

Plants vs. Zombies. My first game but still one of my favourite games. When I got my iphone this was the first game I played on it. So it has many memories on me. it is a very enjoyable game and very colorful. Everything on it is pretty discussed before developing and the graphics are so cool. If I make a list of the games this game will be at top. 

So I collected information from these games before I develop my own game and got some cool ideas. I now finished developing the game. I am trying to put it on App Store. But because of christmas Itunes connect is closed. So I have time to get my items ready before I put my game on App Store.

The next title will be about my game and I can share a small video maybe to show how my game works.

I will keep informing my friends and people who are interested in game world and my game from here.