Dev Notes:
We started working on the "180" idea in late August 2009. This was Ron and I's second title working together and we were interested in attempting a puzzle game in the spirit of Tetris Attack. At the time, we'd coined it with an internal name "Flip Side" and, later, renamed it to "180" after another "Flipside" was released in the app store. To our surprise it also included a very similar flipping gameplay mechanic!
As for notable things during development:
I used BitmapFontAtlas for our menus and text; using child ColorLayers to attach the "pillbox" behind the menu items.
Sound and music was implemented using CDAudioManager to play .wav files. The ascending combo "popping" was accomplished with a single .wav and tweaking the pitch at runtime:
[[[CDAudioManager sharedManager] soundEngine] playSound:SND_CLEAR channelGroupId:CGROUP_GAME pitch:0.9f+count*0.1f pan:0.0f gain:1.f loop:NO];
Most of the animation and logic is handled with a state machine and ugly branching in our step:/game loop function. The combo detection logic is explained in more detail here. The gameboard itself is represented by several static int arrays: occupancy/colors of the front faces, occupany/colors of the back faces, state of the coins (to be matched, to be cleared, currently flipping, currently flying, etc.).
For selecting a random coin and color combination, we used a color table with all the permutations to index into: R/G, R/B, G/R, G/B, B/R, B/G (to prevent "same face" R/R, G/G, B/B selection). I figured this would be more efficient than: "Get a random color A, get another random color B until B !=A."
Our first 180 submission was rejected for adding a dictionary of strings (rather than BOOLs) for UIRequiredDeviceCapabilities. In the subsequent submission, I opted to use an array to avoid the type nonsense. :(
We included LinkShare affiliate links for our in-game upsell and used Apple's code to "automagically" open the appstore rather than redirect through Safari:
http://developer.apple.com/iphone/library/qa/qa2008/qa1629.html
180 and 180 Free both sat in the review queue for a little over a week and finally released this month using Cocos2D v0.8.2, CocosDenshion, and Openfeint 2.4.2.
Thank you,
woebtz
P.S. Coincidentally, Keebler has since also launched a new pretzel cracker line of snacks named, "FlipsideS". I suppose the gameplay mechanic differs, but you can still flip them into your mouth!
::cue x-files music::