Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Collaborating on an iOS game with an artist living somewhere else / modifying files in an iOS app without rebuilding

a former coworker (artist) and myself (programmer) are currently developing a small game together in our free time. Since he is not at all interested in learning how to use XCode, save making his own builds (I don't blame him, he is a great artist, but with only little understanding for technical stuff), this is how we have been working so far:

  • We share a dropbox folder where we store all the ingame artwork
  • Once enough or important changes have been made, I'd create a build (ad hoc distribution) and send it to him
  • From time to time we'll meet and work together a couple of hours, maybe once a week since we live in different cities

This was ok for most of the time. However now we're busy finetuning the content and game mechanics. In this development stage, our workflow is just to slow and "disconnected". Whenever he is working on the artwork, he'll have to wait for me to make a build to be able to see the changes reflected in the actual context. Since we're not always working at the same time, this sometimes means he'll have to wait for days - not at all satisfying.

So, what I'd like to know..: What would be the best way to allow him to change the content without the need to rebuild the game?

I know the contents of an iOS app bundle cannot be changed once compiled. So here's what I was thinking about so far:

  • move the content to the documents folder during development so that it can be accessed via iTunes (handling propably awkward in light of the amount of files in question)
  • incorporate dropbox into the game, so that the content could be loaded right from our shared folder (extra work needed to implement this, dropbox restricted to 5000 API calls per day while not in production status)
  • load the content from a webserver (even more complicated compared to using the dropbox)

What do you guys think? Are there better and more comfortable ways to achieve smooth collaboration in our case? Am I missing something?

Thanks alot!!

Edit: At the moment, I have no plans whatsoever to teach my artist how to make his own builds. You can seriously consider this to be an option only as long as you don't know him in person. He's a great artist, though.

So this question boils down to:

How do I modify files / get new files into an iPhone app after it has been built - as easily as possible and, again, without rebuilding the app?

This has to work during development only, by the way, so dirty approaches are welcome.

like image 217
Toastor Avatar asked Feb 02 '23 21:02

Toastor


2 Answers

In some of the WWDC 2010 videos, Apple discusses this. They advise loading artwork from the web and applying it to UIKit elements or OpenGL contexts programatically.

This is complicated, but a good method, because then you make NO changes to your binary and then your artists can work freely, upload the art to a server and you're golden.

I suggest a good HTTP library, like ASIHTTPRequest, to make those requests easier.

like image 81
Moshe Avatar answered Feb 05 '23 17:02

Moshe


Go with the Web server/dropbox option. You might be able to do this by subclassing or extending UIImage and using the subclass throughout your app.

like image 24
Nick Moore Avatar answered Feb 05 '23 16:02

Nick Moore