Tag Archives: iphone

iPhone Game Development Stuff

This entry’s title is pretty awful, but it’s better than the original title I gave it: “Stuff!”

It’s been a while since I’ve just written a generic sort of site entry, but this seemed like a fantastic time to do just that. First, I want to thank everyone for all the awesome responses I got on the site, IRC, Twitter, and other mediums to my last entry. That was actually intended to be a useful piece to serve as advice to people looking to get into the game industry but I got carried away with my personal history as I started writing it and just rode that inspiration. I’ll write up a proper piece on general advice on how to get into the game industry at some point in the future.

I’m still plugging away on my iPhone project on a daily (or near-daily) basis. I’m having a bit of trouble actually getting to work on the game as a result of deficiencies of the engine I’m using. If the engine I’m using doesn’t provide an abundance of tools and scripts for game development then I feel compelled to add in some of the features that I’m certain I will need at some point in my game’s development so, at this point, that endeavor is occupying the entirety of my development time. One of the things which interested me the most about the Oolong Engine was how it appeared to offer an abundance of features while still allowing a lot of room for a developer to customize his/her use of the engine. At this point I’m convinced that while the engine does have a solid feature set, there is nothing that really ties one aspect of the engine together with the rest; for instance, being that it’s an engine for a touch screen-based platform I would have expected somewhat rigorous support for touch-screen input and picking within a 2D/3D scene. But alas, no such thing seems to exist. It does appear to be under heavy development but given the amount of development I do in a given day at work I like the time I spend with my side-projects to be as focused on core game design and game programming as possible.

That said, I do absolutely love not only my MacBook but also OS X and the development environment that the iPhone SDK and xcode provide. While the IDE is nowhere near the level of polish present in Microsoft Visual Studio, it’s still a tremendously useful and functional programming environment. I’m also continually impressed by the capabilities and ease of development for the iPhone/iPod Touch as a platform. It’s been a fascinating change from PC development and my XNA projects (which, C# aside, is a very PC-like platform).

I’m so impressed by the iPhone/iPod Touch as a gaming platform that I’m seriously considering putting some (or all, depending on the success or lack thereof) of the money from my first game towards an Unity 3D and iPhone license. Granted, I have absolutely no idea when my first game will hit the App Store (or even what that game will be), but I can dream. Everything I’ve seen from Unity has me endlessly impressed and I’d absolutely love to get a license for it at some point but it is, right now, a bit out of my price range. Especially given the impulse purchase of the MacBook. If anyone has used Unity for either Mac or the iPhone I’d love to hear some impressions. I also noticed that GarageGames has released a SKU of their Torque Game Engine for the iPhone; the license seems to be more expensive than their past engine releases though, which is kind of confusing. I always thought of GarageGames as offering low-priced alternatives to indies and the price point of iTGE is only $100 less than the indie license of Unity 3D along with its iPhone publishing license. And, from what I’ve seen, Unity seems to be a far more capable and thorough toolset.

Speaking of such things, is anyone doing the Global Game Jam at the end of the month? I’m still figuring out whether I’m going to head to the Detroit chapter of the thing.

Finally, since I don’t believe I’ve thrown out a plug for these guys yet, Idle Thumbs is the best gaming podcast around. It’s surprisingly hard to find gaming podcasts whose speakers have the abilities to move beyond the kind of tired, trite rhetoric you’d get from a typical IGN or Gamespot article without coming off as pretentious or, quite simply, boring. Idle Thumbs manages to do that in a way that I’ve only seen the Games for Windows podcast successfully do back before it ended months ago. Give it a listen.

Yeah, I Kind of Had To

I mentioned in my iPhone Development post that I was working off of a borrowed Mac Mini and was looking to buy a Mac to call my very own. Well:

Having never owned a Mac or a laptop before this is pretty awesome for me. I’m absolutely astounded at how fun it can be to lay down on a couch while still programming and having wireless internet access. It feels great to live like it’s 2001.

That’s really the only reason I posted this. It’s probably posts like this which will prevent my site from ever actually getting a serious audience, but I felt the need to relate how supremely comfortable and lazy laptops allow me to be. It is glorious.

Edit: Except when my cat finds my feet in a blanket and is angry there is already a mechanical being on my lap so he bites at them with all the fury of a scorned tiger.

iPhone Development Fun

I’ve been plugging away on my iPhone project over my vacation and it’s been pretty rad. which I’m actually developing using an iPod Touch but shortening it from iPhone/iPod Touch to just iPhone is so much easier. I do want to record just how absurd application deployment to an iPhone/iPod Touch is, though. Once an individual pays the $99 fee for a development license he/she is given access to the iPhone Development Portal. And in order to get a working xcode project from the iPhone Simulator to an actual device is as follows:

  • 1) Setup the team. For an individual license the only allowed team member is the person who bought the license. The first thing this person will need to do is generate a Certificate Signing Request; this is done through a system application. Once a request for a certificate from a “Certificate Authority” has been made, then a CSR file will be made on the desktop.

    This CSR file needs to submitted to the Development Portal to allow a team leader to approve it. Once that is done, then the portal will allow team members/admins to download their certificates and install them to their machine. Each certificate is composed of a public key (which is available to the team leader) and a private key (which is available only for the team member).

  • 2) The next step is to add a list of up to one hundred possible devices that will be used for testing. This is the most straightforward part of the process. Just add in the device name and its unique device ID.
  • 3) Now an application identifier needs to be created that will serve as a unique identifier for that application and is composed of ten letters/numbers. This key is then followed by a bundle identifier that the developer can create; for instance, mine is ##########.com.trentpolack.kaboom.
  • 4) Then it is necessary to create a provisioning profile which ties all of the aforementioned steps together. Mine is “Trent kaboom,” and allows ##########.com.trentpolack.kaboom to be deployed to either mittens or Stardock’s iPod Touch (which I was using before I bought my own) under the use of my developer license, Trent Polack. Once the form is filled out then a file has to be downloaded to the desktop and added as a provisioning profile to xcode’s device organizer.
  • 5) Moving to xcode, a property list file (Info.plist, typically) needs to be filled out since xcode seems to have issues automating its project name/product name/product bundle through the project settings alone. So various information from the previous steps needs to be manually entered here. The main information that needs to be given is the bundle identifier: com.trentpolack.{$PRODUCT_NAME:identifier}. It seems without that ‘:identifier’ modifier deployment to a device will only work once until that installed application has been deleted; adding it, presumably, gives each deployed executable a unique ID that will allow it to overwrite a previous one.
  • 6) And, finally, a provisioning profile is linked with a given target (executable) through the xcode project settings and serves as a means of signing that executable for use by an attached device. Deployment is impossible without a code-signing profile in place.

I think that about covers it. Maybe it’s because I’ve been a Windows developer all my life (until a week and a half ago), but the number of steps that needed to be taken and then tweaks that had to be made over the course of getting my first executable properly deploying to my iPod Touch was just absurd. Deploying XNA-built applications to my Xbox 360 was a breeze compared to this. But:

And then there’s my development desktop (check out all of those certificates):

And, finally, the logo for kaboom that I just whipped up:

Working in a completely different development environment has been an absolute blast, though. I’m looking to get my own Mac Mini sometime in the next month or two so I can continue working on this project (and others).

iPhone/iPod Touch Game Development

The iPhone/iPod Touch is a pretty rad little platform. It has vastly more powerful hardware and a far greater ease of development than I would have ever expected going into it. The biggest problem for me at the moment is that I don’t actually have a Mac to call my very own. Someone deemed me responsible enough to borrow a Mac for the course of the Christmas break so I could finally make good on my long-desired and very loud-mouthed wish to see what kind of independent development environment Apple provided to the public for the platforms. Turns out that if someone can stomach a bit of Objective-C and a lack of Microsoft Visual Studio (the latter being the biggest dilemma), Apple seems to have done quite well for themselves. Even if one doesn’t own an iPhone or an iPod Touch, the iPhone SDK ships with an iPhone Simulator which seems to pretty accurately represent the environment (sans the real-world tactile focus). I haven’t had more than two days to really experiment with the setup yet, but thus far I’m impressed and I’d like to hear some thoughts from people who have spent more time with the platform.

Hell, from what I discovered shortly before I left for my brief vacation — where I am so clearly vacationing at this very moment — it seems that even the Objective C requirement may be negligible. It seems to allow for simplistic integration of traditional C/C++ code into the whole mix. I don’t know what kind of exposure any of you readers have with Objective-C but, my god, as far as I’m concerned the less I see of its demonic syntax the better the world will be for it.

The biggest issue I’m facing with the whole iPhone/iPod Touch development experience thus far is that, for obvious reasons, an Intel-based Mac is required for development. I’d love to pick-up a
Mac Book Pro or something at some point but, at least right now, that’s way above my feasible price point for such a thing. If my short time with the Mini proves productive (and it has so far) I might try and pick up one of those on the cheap. Much like the sentimentality I have for Microsoft’s XNA development environment, I think it’s another quality step for independent game developers to have such easy access to a prominent and up-and-coming platforms like the iPhone/Touch (and mobile gaming as a whole).

The iPhone and iPod Touch seem to be an especially viable platform for independent game developers due in large part to the superb App Store accessible through the aforementioned devices and iTunes. In the mere two days I’ve had my iPod Touch I’ve already racked up about sixteen games ranging from free downloads to $0.99 titles all the way up to $9.99 (the maximum value I’ve seen). I’m not sure what kind of success the developers of Fieldrunners, Galcon, Enigmo, and Trism (to name a few) have seen but their titles seem to be very popular on the App Store. Galcon, especially, seems to have had surprising success given the very uniquely-nerd sort of gameplay it represents while being crossed with a more approachable and palatable mobile presentation.

If anything, it would seem that Apple made the accessibility of the App Store to independent developers almost too easy. For every great gem I’ve found hidden in the gaming sections I have seen three or four more titles which seem to present some meager offerings of something that can only barely resemble careful game development or a sound game design choice.

I am looking forward to getting back to my iPod Touch game experiment in a few days. I haven’t had nearly enough time to provide much more than these barest of first impressions so, as I said earlier, I’d love to hear from others. I’ll surely write some more on this topic as I get a bit more reacquainted with OpenGL (the ES persuation). I hope my first small game test, lovingly given its ridiculous working name of Asplodestroids!, will at least see a glean of the light of day before I find myself Mac-less again. It’s also Christmas so feel free to toss a Macbook Pro into my stocking if you’re feeling so inclined.

Because I’m sure that was someone’s first instinct after reading this.