Skip Navigation

Ramblings from the team at zinc Roe

Metal Fish Eggs

Archive for 2009

AVAudioPlayer Memory Leak

While coding the sound for Arctic Shuffle 2, I ran into a non-obvious memory (to me, anyway) memory leak related to the AVAudioPlayer that took forever to track down. Here was my original code, which leaks if an error occurs in the initWithData:error: method: – (AVAudioPlayer *)audioPlayerWithContentsOfFile:(NSString *)path { NSData *data = [NSData dataWithContentsOfFile:path]; return [...]

Read the full post10 Comments

Artifacts in small textures on the iPhone

For the next version of Arctic Shuffle, we’re using Open GL to speed things up. One problem we’re run into along the way is strange artifacts in textures smaller than 64 pixels by 64 pixels. After a lot of head scratching, an obscure forum post saved the day. It turns out there’s a bug in [...]

Read the full post1 Comment

Units in Box2D

There were some good questions during my presentation last night and via email this morning about units in Box2D. @jasonkrogh asked what kind of units Box2D uses. Here’s the relevant bit about units from the Box2D manual: Box2D works with floating point numbers, so some tolerances have to be used to make Box2D perform well. [...]

Read the full postLeave a Comment

iPhone and Box2D

For the next version of Arctic Shuffle, we’re using an open source 2D physics engine called Box2D to improve the gameplay. There seems to be a lot of interest in Box2D for the iPhone, but I haven’t found a great overview anywhere, so I’ve put together a presentation for tonight’s Toronto iPhone Developer Meetup. Here [...]

Read the full post11 Comments

Project Organization and Coding Conventions for iPhone Games

Now that we’re knee deep in iPhone game development, we’re working with a number of different outside developers. Since everyone involved is pretty new to Objective-C, XCode and iPhone development, project organization and coding conventions in our projects have been all over the map. To improve the quality of our projects and make them easier [...]

Read the full post2 Comments

How To Add Box2D To An iPhone XCode Project

Using Box2D is a great way to add physics to a 2D iPhone game. Since Box2D is written in C++ rather than Objective-C, adding it to your XCode project and getting it to build cleanly can be a bit tricky. If you just want to get aquainted with Box2D, there is an sample XCode project [...]

Read the full post13 Comments

Storybuilder – A History

This is a little story about a storybuilder and a project that came and went and came back again. Way back when the universe was young and zinc Roe was operating out of a bachelor apartment we created this thing called flashcan. It was a simple tool that let users drag and drop artwork onto [...]

Read the full postLeave a Comment

How to check iPhone texture memory usage with Instruments

When developing iPhone games, one of the biggest performance optimizations you can make is to use OpenGL ES for rendering (instead of CoreGraphics or UIKit). For a 2D game like Arctic Shuffle, this means loading all of the animation into Open GL as textures, and drawing them onto simple rectangular shapes. There are two caveats [...]

Read the full post14 Comments

Arctic Shuffle Feedback

Since we launched Arctic Shuffle we’ve been keeping a running list of feature ideas for future versions. Ideas have come from our own experience playing (useful), talking and watching friends and colleagues play (more useful), iTunes reviews (mostly useless), reviews on app review sites (mixed bag), and emails from users (all over the map). When [...]

Read the full postLeave a Comment

Museums and the Web

Looking forward to attending Museums and the Web conference this year. Last year was the first time I attended and I really enjoyed all the lively discussions around how museums and galleries can take advantage of new media to educate and promote. Far more interesting was discussion of how these institutions can learn from their [...]

Read the full postLeave a Comment