I wanna make an iPhone game…now what?

So you have a great idea. You believe that you’re game idea will generate 100,000 downloads. Only problem is you have no idea where to start.

There are literally as many options for creating a game as there are games. To think of all the knowledge required at once is a staggering prospect if you have never created a game before. Even as an experienced coder, a game comes with a steep learning curve: graphics and animation, sound, networking, in app purchases, AI and game logic. It is a lot to swallow at once.

First place to start is to capture your vision. You do not need a UML program or to create use cases and flow charts to map this out. The beauty of being an indie developer is that you can simplify. When I get an idea for an application I actually start with the basic UI elements. I basically take a sketch pad (digital or pencil and paper – I use paper) and create some iPhone sized paper templates. Find some excellent ones here.

If you are new to programming or new to game programming you will probably want to find a third party game engine to import into your iPhone project. Fortunately there are a lot of open source as well as commercial game engines for iPhone / iPad. For my first game (a 2D over head tile map shooter) I chose cocos2d although there are many others (good listsĀ here andĀ here). Why did I choose cocos2d and why would I suggest it to other newbie game developers?

  • You read the license yourself but in a nutshell you can create games with it and sell them, engine included.
  • Community supported. There is a large and growing community of users supporting development using this tool set. I have yet to have a forum post go unanswered for long.
  • Large list of games (including some in the top 50 list) have used it.
  • Very stable and proven.
  • Unlike other engines this one is created in Objective-C and not C++ or C or L, M, N, O, Z#. You will learn Objective-C while you use cocos2d. Big plus in my books.
  • Has everything: physics engines (ok so you’ll need to write SOME C++ if you want physics), OpenAL based sound engine, animation, menus, buttons, screwdriver, hacksaw, chainsaw, rubber mallet, rubber ducky and a crowbar.

The drawbacks are few:

  • Community supported. While I find this is a plus I know some people want someone they can call and yell at. Yelling on the forums is likely to not get you any help so if you are a horse’s ass, you might want to shell out for a commercial product.
  • It is a 2D game engine. While this is technically true, cocos2d is basically a wrapper for OpenGL ES and includes some pretty cool 3D effects but gameplay will be 2D. Again I find this just fine and will look to Unity when / if I am ever to make a 3D game.
  • Um, can’t really thing of anything else…It is pretty sweet. Did I mention it is free?

Because I plan to post about cocos2d we will continue down that road.

So there I was. I had an idea. I had an idea about the game engine I wanted to use. Now…how do I get started? Luckily for you and me there are some very, very good tutorials on how to make games with cocos2d.

  • Probably one of the most prolific tutorial writer’s for cocos2d is Ray Wenderlich. Ray has done some amazing work writing cocos2d tutorials. His tutorials include excellent information on animations, moving sprites, creating tile maps, using CCActions and more. The tutorials are well written and detailed with complete project source code. Ray does a fantastic job at answering questions in the tutorial comments if you have a question. This is the guy who got me started.
  • If video tutorials are more to your liking there is also 71squarded, I have mentioned these guys before. Mike and John are also the creators of ParticleDesigner. Excellent, clear tutorials. The joystick for my current game project was based on this tutorial and some other theory and code of my own design.
  • Geek and Dad. This tutorial brought a lot of things together for me and is a continuation of Ray Wenderlich’s “How To Make a Tile based Game with Cocos2d

If you read and follow through these you will be writing cocos2d games in no time. Don’t forget karma. If you use an Open Source tool please consider a small or large donation to the project. Most of the work is done in people’s spare time. These things have to be funded somehow.

Best of luck and keep coding!

W

About wadevondoom
I am a Web Systems Administrator and recent iPhone / iPad developer. I am currently working on my first game. This is my attempt to document the effort and help other indie hopefuls on their iPhone journey.

3 Responses to I wanna make an iPhone game…now what?

  1. Dad says:

    It’s not LGPL any longer. Was at one point. More of an MIT style license: http://www.cocos2d-iphone.org/wiki/doku.php/license

    • iPhoney says:

      Thanks Dad. I didn’t catch that in the edit.

  2. Coder says:

    Thanks Wadevondoom

    Used all these tutorials(Except 71Squared have used it in other game) and am out with this game.
    http://itunes.apple.com/us/app/angry-panda-christmas-new/id406610809?mt=8

    It Works.
    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.