La mejor manera de guardar / cargar datos de juegos de iPhone

Estoy trabajando en un juego de rompecabezas, el motor del juego posee una compleja jerarquía de objetos, desde actores del juego hasta vectores y animaciones de transición. Dependiendo del estado del juego, pueden sumar de 10 a 1000 (en casos extremos). He estado retrasando el momento hasta que tuviera que trabajar para salvar y cargar todo ese desastre, ya que no tengo experiencia en esto, pero ahora está a punto de llegar el momento que temía.

¿Es una buena idea usar NSKeyedArchiver para esto? Su concepto parece poderoso. De esa manera podría reconstruir los estados de los objetos, pero ¿eso incluye los punteros entre los objetos guardados? ¿Y cómo se comporta en cuanto al rendimiento? ¿Tendrá tiempo el sistema para guardar todos estos objetos en el disco al finalizar la aplicación?