Starterkit: Line-Drawing

On May 27, 2010, in , by Steffen Itterheim

Line-Drawing Game Starterkit

Site License! Unlimited Apps!

Royalty Free! No Attribution!

60 day money-back guarantee!


Only $99!

Secure Online Payments and Credit Card Processing by Plimus

All Starterkit project artwork provided by Arezou Ipakchi Design. Promotional images created by Justin from CartoonSmart.

What it is:

Get a head-start for your Line-Drawing game and save days if not weeks of your time! You’ll get gameplay code modelled after the extremely popular Flight Control game. You’ll learn how to draw lines, detect touches on objects, have objects follow a path – and much, much more! Written by a professional game developer and game industry veteran (me) the source code is annotated with lots of comments explaining my rationale and written with readability in mind.

Contains both iPhone & iPad versions!

The Starterkit compiles to both iPhone and iPad devices natively using the same code. If the iPad Target is selected hi-res iPad images will be used. Image selection is done automatically by loading those images whose filenames have the “-ipad” suffix.

What others are saying:

“Code is quite clearly written and decently documented [...] definitely a fine investment.”
From: Commercial cocos2d Code review from Alex Curylo.

“It was an awesome moment when I found the source for a line draw game of this caliber.”
-Franklin Lyons, SpinFall

“Especially the path and movement system is saving me lots of headaches.”
-Martin Hoffmann

Games made with this Starterkit:

Launch Control


Ferries HD

Feature List:

  • clearly seperated and well-structured GameScene code design with a minimum of dependencies
  • easy to add new objects and extend object parameters
  • assertive coding style to help catch coding errors early on
  • touch object & draw a path for it (whether it’s already following a path or not)
  • path drawing ends when path is drawn over appropriate target location (eg airstrip for airplanes, respecting angle of approach)
  • path drawing ends when arbitrary point limit is exceeded (to avoid slowdowns)
  • path is drawn when dragged with thick transparent line style like Harbor Master, without glitches
  • path is split into equal length pieces no matter how quickly user moves finger
  • objects spawn outside screen, locations can be re-defined and extended
  • objects display incoming warning marker at screen border
  • objects display collision warning when any two of them are getting too close
  • objects follow path to end – then fade out and increase score or continue moving
  • objects always rotate in movement direction
  • objects bounce back at screen borders
  • motivational Labels for successful landings, precached
  • Score and HighScore Labels
  • HighScore saved to disk between play sessions
  • supports both Landscape orientations with autoflip
  • loads correct resource files depending on Target (iPhone or iPad)
  • proper Pause handling for incoming calls, SMS
  • Many generally useful Math Helper functions included
  • Lots of comments explaining rationale and giving tips for improvement
  • Fully documented
  • Uses the professional Xcode Project from my Tutorial (Feature List)
  • includes both iPhone/iPod Touch and iPad versions using seperate Targets, same codebase
  • uses and includes cocos2d v1.0.1
  • compatible with iOS 3.x, 4.x and 5.x
  • compatible with Xcode 3.2 and Xcode 4.x
  • easy setup, just unzip and use – no Xcode project setup required

Questions? Need Help?

Go to the support forum for the Line-Drawing Game Starterkit on Cocos2D Central.

Note: the Line-Drawing Starterkit support forum is a public forum. In case you need to post sections of code from the starterkit I’d appreciate it if you kept them short and to the point.

Legal Disclaimer

Cocos2D is a registered trademark of Ricardo Quesada. Steffen Itterheim, the Learn & Master Cocos2D website and the Line-Drawing Game Starterkit are neither affiliated with nor endorsed by Zynga or Ricardo Quesada.


Try Before Buy!

Demo App for iPhone
Demo App for iPad

Browse the API Documentation

View a Code Sample


Buy Now!

Site License! Unlimited Apps!

Royalty Free! No Attribution!

60 day money-back guarantee!


Only $99!

Secure Online Payments and Credit Card Processing by Plimus


License Agreement

Copyright

Purchase grants you the License to use and modify the source code and assets under the following Terms and Conditions:

You are not allowed to make the source code publicly available. You are not allowed to give or sell the source code to others, modified or not. Licenses are not transferable.

All Licenses are royalty free. You can make as many free or commercial Apps using the source code as you want. You may re-use any existing assets in your App.

If you do contract work and have or want to give the Starterkit source code to your client, your client needs to purchase a Site License as well.

Site License

Each purchase grants you a Site License. The Site license grants you the use of the Starterkit without restrictions at one site.

A site is an office, building or living space rented or owned by the company or individual making the purchase. It allows anyone working on site to use and modify the Starterkit source code.

Large companies operating at several sites need to purchase a site license for each individual location if the Starterkit is to be used at multiple locations. Contact me if you’re such a corporation and you prefer a flat fee license with your own license text to go along with it.

Support

Updates to the Starterkit are done on an as needed basis. I will also keep it up to date and running with the latest stable releases of cocos2d. Updates are distributed via a download link sent to the email address you used for your order. If your email address ever changes please contact me, ideally you should forward me your order confirmation in that case to speed up the change.

Source Code not covered by this License

The licensed Source Code project contains files which are available for free and are governed by different licenses. The Terms & Conditions outlined here do not apply to source code files which do not contain the Copyright notice “Copyright (year) Steffen Itterheim. All rights reserved.”.

Disclaimer

THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Questions? Contact me!

If you have any questions or if you require specific License texts before making a purchase, please contact me.

Article Collection

On May 5, 2010, in , by Steffen Itterheim

The information on this page may be out of date!

I compiled most of this list in 2009 or maybe early 2010 (don’t remember exactly). Do expect some broken links and out of date information. I’m no longer updating or maintaining this page, I leave it here only for reference.

cocos2d for starters

The cocos2d homepage – this should be obvious but since most people land on the google source code repository page for cocos2d iPhone instead of the real homepage www.cocos2d-iphone.org i wanted to post it here. Usually the most noteworthy threads from the forum as well as important blog posts by others are posted on the blog, and of course any new releases and updates to cocos2d.

cocos2d iPhone documentation – a post on the official website explains where you can find what kind of documentation.

Things i wish i knew when i started with cocos2d – Troubleshooting, Tips & Tricks for everyone

Ray Wenderlich (formerly Mythic Entertainment) posted a great tutorial on how to make a simple iPhone game with cocos2d. Take a look around at his website as he keeps writing new tutorialistic articles such as creating buttons in cocos2d and an intro to the box2d physics engine which is also part of cocos2d.

Introduction to 2D game programming with cocos2d iPhone

The cocos2d iPhone programming guide in the cocos2d Wiki.

Introduction to cocos2d iPhone visual effects (aka Visual FX).

Apple’s excellent Objective-C Programming Language reference (PDF)

Open GL ES 1.1 reference – only needed if you intend to do OpenGL programming – you don’t need to know about OpenGL if you’re using cocos2d but it may come in handy sometimes.

As for books, i can NOT recommend iPhone Games Projects by Apress. Repeat: not recommended! It’s a badly written collection of blog posts about the kind of games most game developers would not want to make (chess etc). It does not contain particularly good or reusable examples of code and the choice of projects is questionable to say the least. It has generally very little value for a cocos2d iPhone developer as all examples are either written in Cocoa Touch or plain OpenGL.

cocos2d, Cocoa and Objective-C code fragments

Have a look at my proposed CCDirector drawScene method which redraws the screen anytime you may need to.

Blog Post: efficiently reusing Default.png for landscape mode – Note: Ricardo has since integrated this in Sapus Tongue source code.

Integrating other APIs into a cocos2d application or game

First of all, here’s a tutorial on how to integrate the cocos2d API reference into Xcode.

Integrating Facebook Connect with cocos2d. See also the forum post for the user comments. In addition watch this video about adding Facebook Connect to your Xcode project since the necessary steps aren’t covered in the integration tutorial. And once again, Stackoverflow strikes with an excellent link collection for Facebook Connect iPhone developers.

Integrating AdMob with cocos2d iPhone Applications

Integrating OpenFeint with cocos2d iPhone Applications

Integrating Agon Online into cocos2d iPhone

Combining SIO2 with cocos2d, with source code

SpaceManager – an Objective-C wrapper for Chipmunk

There are already ports for cocos2d iPhone, one focuses to port cocos2d iPhone to Mono .NET using C# and the other cocos2d port is Java-based for Android development.

Generally useful tools & knowledge for cocos2d iPhone developers

How to handle device orientation and how to implement autorotation for a cocos2d app or game.

A list of editors useful for cocos2d development is described on the cocos2d’s homepage blog in two parts: part one and part two. It includes tile editors, Texture Atlas and Bitmap Font generators.

Ernesto’s pseudo-code on Pixel-Perfect collisions. It was hard to find and others seem to have problems finding it as well yet people already know it as “Ernesto’s post”, so it deserves a mention here. In this forum post is one implementation of pixel-perfect collision code and here is another implementation of pixel-perfect collisions. Finally we learn about the intricacies of endianness in pixel data, meaning how pixel data changes depending on the platform (iPhone vs Mac).

Zwoptex Texture Atlas tool for use with cocos2d iPhone (and probably others)

Finding memory leaks using the CLANG static analyzer. Don’t leak memory. That’s terrible. Read how you can run a program that tells you with impressive accuracy where there are memory leaks in your code, at least potential ones. Make sure you also read the comments further down since they contain more command line samples that fix some issues for iPhone OS 3.x among other things.

How to obtain the iPhone crashlogs from your beta-testers and costumers. And then there’s Apple’s manual on how to debug crashdumps. In short: always compile both debug and release builds at the same time, then keep both dSYM files and make sure you can later identify to which version and build they belong to. It’s easiest to use source control here and simply flag or label the version you used to create distributed Ad-Hoc or App Store versions with.

iPhone Apps can be opened via URLs that also allow passing what some might call “command line arguments”. Here are a few websites that document those URLs for various apps: URL schemes for various iPhone Apps, then there’s the handleOpenURL: website and finally AppLookup.com.

Specifically for linking to the App Store you will find Apple’s iTunes Link Maker useful. On Stackoverflow you can learn how to create links to your App that you can send via email. And finally, this Ars Technica article covers all the finer details of creating an App Store link that works for the iPhone’s App Store, including opening the App Store app with a search term – which is the only way to show all the apps of a particular company or developer on the iPhone’s App Store.

8 confusing  Objective-C Warnings and Errors explains some of the more confusing things Xcode (actually: GCC) throws at you and leaves you wondering. After reading this article you’ll know what you’re dealing with the next time it comes up.

Provisioning Profiles Gotchas – we all have one of these issues sooner or later (or frequently).

App Store Rejection reasons – be sure to go through this checklist before submitting your App to iTunes Connect to avoid your App being rejected due to some commonly made mistake or oversight.

How to build an IPA file from Xcode shows you how to setup a build target in Xcode that will output an IPA file. Those are very helpful for Ad-Hoc distribution of your App, as IPA files do not get as easily mangled (leading to errors such as “resources have been modified”), especially on Windows machines. It also makes installing Ad-Hoc builds easier since a simple double-click suffices to open iTunes and install the App. Plus it’ll have a proper icon in iTunes’ Application folder.

How to properly set your App’s iTunes Release Date and the things to watch out for. If you’re about to release an App you must read this otherwise you risk your App not being listed on the “What’s New” list.

How to calculate the App Store size of your iPhone App before approval. It’s not magic nor random, it can actually be calculated to within a rather small margin of error. The good thing is, the error will be that the calculation gives you the maximum size your App could possibly have on the App Store. With experience you’ll learn how good your Apps compress after approval, and that depends highly on the game engine used. Unity is hit especially hard by this, typically Unity apps get added another 4-5 MB to the zipped App you’re uploading, in some cases even more.

How to set and change the list of supported languages in iTunes: according to this post on Stackoverflow all you need is one localized file. What i do is, under Resources, i add a new .strings File and leave it empty. Then right-click, choose Get Info and on the  General tab click “Make File Localizable”. Then go back to the General tab and click “Add Localization” until you’ve added all languages your App supports. Note that you do not have to reference or otherwise use that file in your code – it just needs to be there. If you look into your App Bundle (right click: Show Package Contents) you’ll notice that new folders like English.lproj, German.lproj etc. exist. Those are scanned by iTunes to create the supported languages list.

How to change an App Icon’s name depending on the iPhone’s language setting. While we’re at it you can also learn how to figure out more quickly if a specific name still fits under the App Icon without being shortened.

My iPhone & iPad Design Templates for OpenOffice Draw

Open Office Draw Templates for designing iPhone & iPad games. They offer you a canvas to create the visual elements of your game and pitch your ideas. I use them to pitch my ideas or create concept drawings of iPhone/iPad apps and games.

You can either use Open Office Draw to draw on them, or just print out the images and draw on it. Both versions have at least one image where the screen background is white, so you can easily draw on it. The iPad version also has a vector graphics representation, so if you worry too much about the completely dark space for printing – turn it into light gray or even transparent with just the border lines shown.

Download the iPhone Design Template for OpenOffice Draw.

Download the iPad Design Template for OpenOffice Draw. For the iPad i took extra-care to scale the images to close to original size, and i also recreated the iPad as vector graphics in almost exact original size.

About

On April 17, 2010, in , by Steffen Itterheim

Learn Cocos2D Game Development

Steffen in bullet points:

The long story, shortened a bit …

At the beginning, I was merely a Cocos2D developer just starting out with this fine game engine. I started working with Cocos2D in May 2009. Despite many years of game development experience, I struggled many times over – there was so much to learn and specifically for Cocos2D there wasn’t much documentation to go on.

Learn & Master Cocos2D Blog

A year later, I was well aware that besides growing in popularity, the basic issues of getting started with Cocos2D essentially stayed the same. Consequently, beginner’s tutorials got rampant visits from aspiring Cocos2D game developers. So I decided to start this Learn & Master Cocos2D website and blog to help you get started and answer pressing questions while trying to earn a living selling source code products like the Line-Drawing Game Starterkit.

Learn iPhone and iPad Cocos2D Game Development Book

Within hours of going live with this website in early May 2010, I was contacted by Jack Nutting, author of Learn Cocoa on the Mac. He got me in contact with Apress and a short but intense proposal period for a Cocos2D book followed. Then I blogged about the book’s progress every week. What followed were five months of writing and learning more about Cocos2D and writing books than I ever imagined. The book was finally completed and released in December 2010: Learn iPhone and iPad Cocos2D Game Development: The Leading Framework for Building 2D Graphical and Interactive Applications.

Cocos2D Central

During the time I wrote the book, this website had to take a backseat, so I did not grow the tutorials and other content as I had initially planned. With the book finished, I knew I was going to do lots of Q&A and it should be done publicly, so that everyone can benefit from it. The result is the Cocos2D Central forum and community website.

Kobold2D: Cocos2D on Steroids

Another result from my extensive work with Cocos2D is Kobold2D. It is designed to make Cocos2D developers more productive and making it easier to get started. I use it for all of my own work.

Kobold2D originated from the idea to build a consistent framework for all of my Cocos2D projects, instead of inadvertently dispersing the reusable code over multiple projects. If you’re serious with Cocos2D development or just getting started you should really check out Kobold2D.

My Leitmotif

I have always been a nutcracker and firefighter in my previous game industry jobs. I have always been sitting between chairs, as I did not fit a proper, established job description. I’m a jack of many trades, master of some. I program, I design, I write, I market, I sell, I help, I teach, I moderate, I network and I do what I think needs to be done. But most of all, I’ve always been helping other developers – that was always present in every job I did, and when I worked with the right people, those were the best times I ever had. Give me a problem and (most of the time) I’ll want to solve it. I’m happy when I can help others grow and excel. That’s my leitmotif, that’s what I’m doing now for Cocos2D developers.

Page 2 of 212