A pearl of wisdom, in a vast sea of writings…
I was digging through some messages this morning, trying to keep as up to date with my various Google Groups and Betas as I could, and ran across a post by the author of if {…} then {…} and dug through the blog, and found a handful of good readings. The most notable of them is the ‘Loading Screen Example‘ which is useful in general, and with Cocos2D specifically.
I read through the example code, and learned a new trick … that little spinning ‘gear’ that Apple has made so popular for the ‘twiddle your thumbs for a while’ moments in life … is easily accessible with iPhone development, just by using the
PunkArts releases Chinese Obama.
PunkArts.com, one of my newest ventures in iPhone Development, has just released it’s first “Chinese Obama” episode to the world. This video is the first in a series of episodes, each episode is embedded into their latest apps available on the App Store soon.
The ‘Ask’ series of apps, which contains these embedded Chinese Obama videos, are an amusing way to get a quick laugh … whether you love them, or hate them, Barack Obama, Sarah Palin and George W. Bush will answer all of life’s questions. You ask, they answer, really it’s that simple.
Check them out over at PunkArts.com
Performing an Ad-Hoc Distribution Build with Unity iPhone
To make an Ad Hoc distribution build to send out to your beta testers, you first have to create the Mobile Provision Profile on the Program Portal. Once you’ve created this profile, downloaded and installed it according to Apple’s directions, your ready to begin.
Launch Unity iPhone and open the project you wish to build. Make sure that under Edit->Project Settings->Player the iPhone Bundle Identifier matches the App ID identifier in your profile (if your profile is something like SAD723.*, you may enter any “com.yourdomain.AppName” combination). Now, set your stripping level and Script Call Optimizations as necessary.
Goto File->Build Settings, setup your build as you normally would for Desktop or Web distribution. Select ‘Compress Textures’ and ‘Strip Debug Symbols’ (these are really not needed on the device, and only useful if you know what your doing). Select the ‘Build’ option, not the ‘Build & Run’ option.
Once your XCode Project is available to select in Finder, replace the Icon.png with the icon you wish to use for your application. The icon must be a 57×57 PNG image. Optionally, you can select the appropriate Default.png by changing the name of one of the predefined splash images (required for iPhone Basic) or, alternatively using your own (iPhone Advaced required for custom splash).
Once you have done this, go ahead and open the XCode Project. Under Project->Edit Project Settings, select the appropriate “iPhone Distribution: Company Name” code signing certificate under “Coding Signing Identity”. Double click in the “Code Signing Entitlements” just above that and enter the value “Entitlements.plist”.
Now, close the project settings and right click on the project in the left pane. Select Add->New File. Under “Code Signing” select “Entitlements”. Name the file “Entitlements.plist” (the same as you entered above). Once the file is created, open the file with the Property List Editor and uncheck the “get-tasks-allow” option.
Now make sure that the drop-down on the top-left of the project window says “Device – 2.1 | Release”.
You are now ready to build, so let’s do that now by selecting Build->Build. Do -not- “Build and Go”.
Once your project is built, drill-down into the Products folder of your XCode Project and right click on the “.app” file that is there. It should be named the same as the last part of your Bundle Identifier (“com.yourcompany.YourAppName” – ie; “YourAppName”). Right click this file and say “Reveal in Finder”. Drag the “.app” file onto your desktop, and copy over the “.mobileprovision” file you downloaded to create this build. Select both, and right click and tell Finder to compress them.
You may now distribute this archive to your beta testers for review.
Taking advantage of NSLog
I've recently started developing with the iPhone SDK, and have always utilized console output for debug output. However, with XCode, the Console is constantly being littered with messages about garbage collection.
-
Xcode(19838,0xb0103000) malloc: free_garbage: garbage ptr = 0x208ca10, has non-zero refcount = 1
Because of this, my Console is almost useless and I have to add extra stuff to my output messages to find them easier (ie; appending 5-10 asterix's). After eventually becoming fed up with this, I started looking around and found this great blog post. The author of 0xced wrote an XCode plugin that basically tells it to 'shut up'. Works great, and my Console is now usable. Thanks again to
Cocos2D – Enabling iPhone Game Development in Hours
About a month ago I purchased an iPod Touch and began experimenting with iPhone SDK and exploring various user interfaces and applications released in the App Store. I haven't really spent all that much time in the last month experimenting as my day job has been keeping me quite busy, as well as a few other ventures I'm working on in the evenings. With that said, I read one or two 'intro to objective-c' articles which were fairly basic and assumed prior programming knowledge. Getting a general grasp of Objective-C in a few hours, I followed a couple of 'Hello World' style tutorials for building 'your first iphone app'.
All of these left me puzzled and quizzical in the end, wondering ... how I did it. I know 'how' I did it, but I didn't understand 'how I did it', if that makes any sense at all. Objective-C is quite an odd language, for a person with my background at least ... C, C++, Python, Perl, Basic, Visual Basic, C#, JavaScript, ActionScript, etc, etc... to name a few. Objective-C is very similiar to all of these, however, it's use of brackets just confuses me and makes my eyes roll into the back of my head.
I researched a little, and found a handful of Game Engines that support the iPhone Platform, such as Unity 3D, Torque Game Engine, Torque Game Builder, Shiva and Oolong. I own a Torque Game Engine license, as well as a Torque Game Builder and Unity license as well. I have experience with these engines, and thought they would be the best way to get started with iPhone Game Development. Sadly, the cost of the licenses for iPhone support are quite high. Well beyond the reach of a simple indie game developer who has yet to make a penny out of his hobby.
I ran into the Cocos2D library, and found that it also has support for the iPhone Platform. A ported version of the Cocos2D project to Objective-C, named Cocos2D-iphone seemed a likely choice for a quick start. I did a little digging around, read some documentation (what little there was), reviewed some samples and watched a couple of Videos from the Cocos2D project to get a general grasp of how the library works.
This morning, I started around 10am and by 5pm had an almost feature complete 'working model' of a Space Invaders clone. Written entirely in Objective-C, using Cocos2D-iphone.
Now, I must say ... it took quite a bit of digging to find the things I needed, and most of the information I needed to know ... was retrieved from undocumented sample code. Good thing I can read code, eh?
I am hoping to finish up my Space Invaders clone, and release it to the App Store in the near future. I only had the day to work on the project, and was quite impressed with how much I achieved in such little time. Cocos2D-iphone definitely gets two thumbs up from me. It's the perfect library for my next project as well (the space invaders clone is not an official project, it was just a quick way to learn Cocos2D-iphone and Objective-C).
Slug Bug by AxoStudios Released!
Slug Bug, one of the hottest new games in the iTunes App Store was recently released. Slug Bug is a classic retro remake of Frogger, and was executed in such a clean way, it just makes you want to pull out the Atari and hop your frog across that treacherous road.
The creators of Slug Bug took some creative freedom from the classic Frogger and replaced the frog with a cute lady bug. The artwork is done quite well, and sticks to the classic '8-bit' feel. To move around, all you have to do is slide your finger in the direction you want the lady bug to move and ... it moves. The games simple, can be played with a single finger, and has Easy, Medium and Hard complexity levels for those gamers who like to be challenged, or just want to have a quick bit of silly fun while waiting in line at the grocery store.
I installed Slug Bug on my iPod Touch and then had to step out for an appointment, while in the lobby waiting... Slug Bug kept me entertained.
Slug Bug was developed by AxoStudios, a division of Axosoft. Axosoft has been a leader in Project Management and Bug Tracking software for quite some time, and it would seem they are now attempting to tackle the mobile gaming arena. If they continue releasing games of Slug Bug's quality and entertainment value, they will undoubtedly become leaders in mobile gaming as well.
Below, you can see the Slug Bug Title Screen, and one of the Slug Bug levels in action.




