Skip to content. | Skip to navigation

Personal tools



| filed under: ,


While I have been programming for iOS and OS X for over 4 years now, Aligyro is the first app released by MOEDAE LLC. I will be using this blog to review what was learned during the creation of Aligyro and future applications.

Categories which will be covered are:

Which tools were evaluated and why a particular tool was selected for the job. Some examples would be Xcode, Blender and Acorn.
While I have many years of experience with 3D CAD and the modeling associated with 3D CAD, I had absolutely no experience at all with the type of 3D meshes used for OpenGL. Nor did I have any experience with OpenGL. I found much of the documentation assumed a certain level of knowledge I was missing. This blog will try and fill in those missing pieces for absolute beginners.
Objective-C, Cocoa, iOS
I wrote my first Smalltalk application around 1989. This means, 4 years ago, when I started learning Objective-C for the first time, it all looked very familiar and comfortable. However, despite the familiarity of the language, the breadth of the Cocoa frameworks is huge and the number of potential gotcha's even larger. For example, your NSMutableArray may be mutable but a copy isn't unless it is a mutableCopy. There was also much worth documenting learned about automatic reference counting (ARC) and ARC interactions with non-ARC libraries such as Cocos2d & Cocos3D.
Without Cocos2d & Cocos3D, Aligyro would probably not have been possible and would certainly have taken much longer. However, as with most open source software, the documentation there is still plenty of room for improvement from volunteers. This blog will help me document what I have learned which was missing from the documentation or in a form which I didn't quite understand. For example,
In Cocos2D the method call [director enableRetinaDisplay:YES] is only useful at certain points in the lifecycle of the director. What points? If not at the beginning of the director's life. The when? This turned out to be relevant in my case due to using a xib to instantiate a view for the OpenGL view.

And much more.