Skip to content

Archive

Tag: Links

So what makes me feel like scripting XCode?

  • Not being able to sort group items alphabetically (or maybe I just don’t know)
  • Adding assets manually. Although to be fair, the problem is more likely that my asset exporter generates many junk files I do not want to add (don’t ask)
  • Objective C Properties. Having said that, is a macro worse than a script, and more importantly, does it even matter?
  • Turning project groups into folders (or maybe I just don’t know how)
  • Typing signatures whenever I need to implement a protocol…
  • Project files are hard to understand, even harder to modify.
  • … (1)

We can script XCode using either applescript or python

I can’t kick myself to read any of this today.

(1) Didn’t think of anything else, but feels right.

Open GL specs  are maintained by the Khronos group.

There’s a couple of tutorials out there that stand out a little

  • OpenGL-ES tutorials at Zeus-CMD.com – A collection of 25 well written OpenGL-ES tutorials. While the sources won’t run on the iPhone (seems to target Windows Mobile), the tutorials expose very little platform specific code and can easily be uselkd in conjunction with basic OpenGLES examples.
  • Lessons From Molecules - This article from Sunset Lake Software contains many useful insights into OpenGL ES for iPhone.

Also check ManiacDev’s 18 OpenGL ES Resources.

I have simple mappings between actions and animations and I will probably duplicate this for sound (sure, not all actions may have a sound, but the general idea is there).

A maybe useful resource explaining how to play sounds the easy way: This link from iCodeBlog – unfortunately the ’system sounds’ approach doesn’t allow playing more than one sound simultaneously or even tuning volume(!)

AVAudioPlayer :)

AVAudioPlayer (apple docs link). Not hard to use; documented; allows simultaneous sound playback, volume control and other features. Link to the iPhone Programming Guide AVAudioPlayer introduction.

OK, I’ve been looking for an example that simply demonstrates how to use this. Check the Metronome example from iPhone dev connection (do Find > Find in Project with ‘AVAudioPlayer’). An immediate concern – how to convert a file path to a URL:

NSURL *soundURL = [NSURL fileURLWithPath:[mainBundle pathForResource:@"sound" ofType:@"caf"]];

Getting files from the main bundle is exactly what I want in this case because files imported into XCode projects end up inside the so called main bundle.

Expected issues:

  • Converting files to .caf. – sure apple does provide a converter, but that’ll take a bit of time to look into. Leave for later as other formats are supported and using them might just be OK.
  • Memory issues – initializing AVAudioPlayer with a URL doesn’t really tell me how sound gets loaded / unloaded.
  • Performance issues – again, initializing from a URL could mean that I experience delays playing back sound.

Now the next part is putting the code together and integrating with my proto-framework.

Open AL?

Later, I might want to upgrade to OpenAL, but like realtime 3D, this maybe more appropriate for a second game. After all, I want to cover basic ground (fun, gameplay, story…) before I worry about even moderately complex technology. I had a quick look at the OpenAL programming guide and the apple example, It would probably take a good week for an experienced programmer to get to grips with this thing (although a good tutorial would probably help). No time for doing this now (admittingly, I’m not thrilled by the prospect either).

The apple dev center feels like a foggy, non linear nebula of documents – not really convenient either to get a comprehensive overview of how stuff works, or to come back to something I viewed before.
Here’s a few pointers to the most useful resources I found - Hope this helps you too.
If you’re completely new to the game, you’ll need to setup for iPhone development. Read my article for getting Started in 24 hours or less.

Application Programming - covers generalities, UI and event handling, graphics and IO.

  • View Controller Programming Guide – explains how to use view controllers in the CocoaTouch MVC paradigm. Explains how to manage tabbed panes and navigation bars to create multi-page displays of information.
  • Core data frameworks and device services -  somehow,
    Getting started with data Management provides links to various data frameworks, as well as how to handle touch events, geo-location, the accelerometer and device orientation.
  • Coding How-Tos - Covers much useful stuff with a hands on approach, unfortunately, sample code isn’t always provided.

Networking - Getting Started With Networking & Internet links various
(low level/compatible/object etc…) APIs for networking.

  • Networking for Peer to Peer Gaming - The GameKit programming guide introduces P2P networking over bluetooth and voice chat.

Application Management

The following pointers relate to the process involved in getting your application to be distributed on the app store.

Non-Apple resources

There is definitely a few blogs and other websites out there definitely worth reading:

Disclaimer

NONE of the above links is pointing at content created by the author of this blog. The content pointed at belongs to it’s respective owners. This article is not endorsed by Apple or iCodeBlog or whomever else.