Day 22: CGPaths and Paper Airplanes
With the literally thousands of convenience methods Apple has provided to us within SpriteKit alone, it's really strange to me that there isn't one to create a CGPath from an alpha mask. Gule struggled pretty much all day with creating a path for our monsters to follow, and we re-watched the WWDC videos, which I feel was productive now that we've dabbled a bit with the framework.
So far, the game looks the same as yesterday, but I've added in a new monster/snowman death animation, sound effects, and adorable background music.
Our guest speaker today was Vokal's ScrumMaster, Nick Ross, who explained the basics of Agile development and Scrum in particular, and illustrated the advantage of separating projects out into multiple sprints by giving us 3 rounds of short iterative bursts of time to spend planning, building, and testing paper airplanes. As a group, our first round had both the worst production and the worst test results, and the third round had double the output and 94% of the planes flew at least 10 feet on the first throw.
Some of the core concepts of Agile make a lot of sense to me, and it's weird to think how many corporations still design products and policies without including delegates from each discipline involved in the decision-making processes, or obfuscate the product from the client until launch-time. And by weird I mean terrifying.
After several more hours of code, a bunch of us walked over to the Michigan Ave. Apple Store for the local CocoaHeads meetup, which meets in the not-very-well-kept secret conference room on the 4th floor of the aforementioned Apple Store. We were welcomed with open arms and pretty much everyone familiar with Mobile Makers seemed thrilled by it, which isn't surprising, but is still nice to hear.
The speaker-of-the-night, Vinayak Badrinathan (@VinnyBad), explained all of the magic behind CocoaPods, which really confounded us all when we learned about Parse last Tuesday. I'm realizing now that I left that out of the blog, but here's the entire process for downloading and installing CocoaPods:
type "gem install CocoaPods"
What on earth is gem, why did it come pre-installed, and how does it know where to find CocoaPods? I'm glad you asked.
Well, while CocoaPods is the unofficial objective-C dependency management system, gem is the official Ruby dependency management system. Ruby is another popular programming language, and OSX comes with gem pre-installed as a command-line tool. I'm still not really clear on how it finds CocoaPods, but Max says it's pixies, so it must be pixies.
Next, to add a given "Pod" (or multiple pods) to an xcode project, we merely make a text file in a project directory named "Podfile", and put something like "pod Parse" in it, save, and go back to terminal to type, "pods install." More darn pixies, and then the Parse framework is embedded in your workspace file.
Vinny showed us where to look to see all 3800+ pods available, and also explained how some of the magic is done, but who am I to ruin it?