Author Archives: Colin

Converting Game Sound Assets via OS X to Save Space and Memory

Another audio-related mini-post!

I had mentioned on Twitter earlier how I had written a script to convert all the WAV assets in Red Nova from unnecessarily large 32-bit floating point 44 kHz format to a space and memory saving 16-bit integer 22 kHz format. This basically cut the size of the files to less than half, which is pretty fantastic when you’re dealing with a hand-held device with memory constraints like the iPhone. Hell, it will also improve loading times!

Anyway someone asked me to share the script I made, which is a fairly simple Bash script. Just create a file somewhere, call it something like convertwavs.sh, and paste the following into it:

#!/bin/sh
mkdir oldwavs
for f in *.wav
do
   cp $f oldwavs/$f
   afconvert -f WAVE -d LEI16@22050 $f $f
done

Run chmod +x convertwavs.sh from the terminal to make it executable, then change to the folder containing the WAV files you want to convert and run the script like so:

/path/to/convertwavs.sh

It will make a sub-folder called oldwavs and copy the originals there in case anything goes wrong and then convert the files in place. That’s it!

Low-Poly Modelling Screencast!

It’s been a while since I last posted something to Ye Olde Blog, so time to fix that.

A few days ago someone linked to the low-poly work of Kenneth Fejer on Google+ and apart from being awesome it gave me the idea to try and play around with the style. Not only was it low poly work, but the textures had an almost pixel-art appeal to them which I found intriguing.

You see, I’m a programmer most of the time but I do enjoy doing arty things, which some may say is unusual for a programmer, but when you’re making all of this stuff on your own it certainly helps. I don’t think my models are the best by any stretch of the imagination, but they’re certainly passable, but one thing that I’ve always never been satisfied with is my ability to texture them. This is why this pixel-art style appeals to me, because it’s a lot easier (at least for me) to create pixel-art. Continue reading

Quickly Convert Your Game Music to AAC on OSX

This is just a quick post aimed at iOS developers covering the incredibly easy command-line method to convert your music files to AAC format. The reason you might want to do this is because MP3 is encumbered with a patent which covers the distribution of MP3’s commercially, even as part of a game (see here). It should also be noted that Apple’s license for their hardware MP3 decoder does not in any way cover your distribution of MP3’s in your game.

You could convert to OGG Vorbis, which is of course free and clear to distribute as you please, however many devices (including iOS devices) do not support hardware accelerated decoding of OGG Vorbis files so you are losing some of your CPU cycles for your music decoding. Luckily, there is a third option: The Advanced Audio Coding or AAC format, which of course is supported in hardware by all of Apple’s portable devices. There are patents surrounding AAC but none of them restrict the distribution or streaming of files encoded in AAC.

Anyway now that I’ve spent all that time leading up to a single command, here it is…

afconvert -f m4af infile.mp3 outfile.m4a

And that’s it! As far as I’m aware you can use any of the iOS SDK methods for music playback with this new file.

Indie Gamedevs: You’re (Probably) Doing it Wrong

I’ve been meaning to do a post for a little while now about some of the more common mistakes I see a lot of indie devs make when they release on the App Store. I am more than guilty myself of making these and I didn’t want to really say anything until I had actually gotten a more successful release under my belt, as otherwise I’d just be all talk and no walk as they say. I’m sure I’ll keep making mistakes and I don’t claim to have all the answers, but hopefully the answers I have are somewhere in the neighborhood of the right ones.

This post is geared somewhat towards the App Store, which is what I have the most experience in, but I’m sure a lot of this advice could be applied to any game on any platform.

The biggest reason I am posting this is because I see a lot of really fantastic games coming out all the time and many of them get lost in the shuffle because of one or more reasons which I’ll hopefully address below. It hurts me to see so much blood, sweat and tears go into the development of a game only to have it thrown to the wolves and eventually fall into obscurity. That being said, not every game is going to be a success, but for the love of all that is good in the world if you care at all about your game try and give it the launch it deserves.

First of all, I just want to get it out of the way and say that I believe that the “gold rush” on the App Store, if it even existed, is long since over. That’s not to say that there aren’t any opportunities to be successful on the App Store, it’s just that it requires a lot more effort or a lot more luck to achieve that success. To continue the analogy, if what we had before was a gold rush where any crazy old prospector with a goofy hat, a straggly beard and a fart app could dip a pan in a river and come up rich now we have a gold mine where anyone with the right tools can get even more gold out of the cold, cold earth of the App Store.

The primary, and perhaps unfortunate, conclusion I’ve come to when it comes to the secret to success on the App Store I can sum up in two words, but I’ll use four for emphasis, and mild swearing:

Hard God Damned Work.

 

Sure luck still plays a big factor, but you aren’t doing yourself any favors by not taking advantage of the fact that you yourself can (and should!) do everything in your power to give your game the best possible chance at being successful. Yes people often deride the App Store as a “lottery” of sorts, usually in a somewhat dismissive tone because you know, only fools play the lottery, however it is the only lottery I know of where you can stack the odds in your favor.

So without further ado, in no particular order, are some things to help improve your chances on the App Store. But remember, it’s going to be a tough slog and your first game may not be successful but if you don’t give up and learn from your mistakes you’ll be bound to succeed.

If You Build It, Will They Come?

There seems to be an attitude that is prevalent in a lot of people that if they make something amazing it’ll automatically sell like crazy. The fact of the matter is, this is generally not going to happen and statistically speaking your chances of getting noticed at release without any marketing work are so small you might as well put your game on a USB drive and throw it in a dumpster. I don’t know if this attitude has a name or anything, but I want to be clever and scholarly and call it The Field of Dreams Fallacy, it has a nice ring to it don’t you think?

Even if your game really is so awesome that the entire world will be clamoring to get it on release day, you should still take some time and effort to try and get the word out about it beforehand. Many indie devs take advantage of the open development process to help get people interested in their game early, sharing stories about how the game is being developed, showing work in progress screenshots and generally talking about the game. There are many forums out there geared towards showing off your stuff. Take advantage of them!

While there are some who are concerned that someone may steal your game idea, just remember that it’s not necessarily the idea that’s important, but how you execute that idea. Also you may run the risk of being criticized which will hurt, or ignored which might also hurt, but if you’re not out there trying to find a potential audience for your game then it’s going to hurt even more when nobody buys it. Also if you do get feedback/criticism take all of it in and evaluate whether or not it is valid and/or worthwhile to heed. Yes it’s your baby and your creative vision, but it is for that reason very easy to ignore the flaws in something you are emotionally attached to.

Another important thing you can be doing at this stage is attempting to find people in the games journalism space who may be interested in giving you early coverage. These people are often very busy, so don’t become a broken record and annoy the hell out of them, but they do need content for their sites and that content includes news of up and coming games like yours! You may not find someone right away, but don’t worry and don’t give up, you may have to find a less busy site which is in need of new things or a big scoop, just remember these smaller sites and writers may and do go on to become bigger players in the industry so don’t ignore them, they need you as much as you need them.

Also when you do decide to pitch your game to them, just don’t parrot the usual “It’s addictive!” or “A unique twist on <genre>!” (Note: I am guilty of having done this in the past, I am not proud of it) These journos are sick of getting PR like this in their inboxes and even if they overlook your liberal use of hyperbole-filled content-free language it certainly isn’t helping your chances of them actually paying attention to your game. So here your best bet is to be succinct: Tell them why your game is awesome in plain english and make it very easy for them to see either screenshots, or even better, a video of your game in action. The key here is do not waste their time, they get dozens of new game pitches every day so you need to stand out!

At this time it would also be a good idea to start building a list of sites that you think might be a good fit for covering your game, both generic to the gaming platform you’re on or for indie games in general as well as genre specific sites. It would also be a good idea to use a site like Alexa so you can sort these sites by how much traffic they get. Don’t use it to exclude smaller sites, because you need all the coverage you can get, but it is good to know if a site is worth spending more time, effort and resources on or not.

To sum this one up, let’s just say that I spent about half my time working on what I would call marketing aspects of Red Nova during it’s approximately 7 month development period.

Failure to Amaze and Delight

Another relatively common problem a lot of indies seem to encounter is they release a game that is technically good but is either visually and/or aurally dull, an uninspired genre clone, interesting but frustrating to play, or any other combination of reasons that prevent users from becoming interested in and eventually falling in love with your game. Or at least falling in like with your game, anyway.

Basically, the more interesting your game or some aspect of your game is, the easier time you will have getting players, and more importantly, the lovely games journos mentioned previously talking about your game. You can address this in two different ways: polish and features.

As emphasized in a recent blog post by Noel Llopis, polish is a very important aspect of making a game. I won’t try and repeat everything he said here but the upshot is extra time spent polishing your game is always time well spent. Little things like the right sound effects, visual effects, extra animation, more explosions and so on can take a good game and make it truly great. It really is amazing how much more complete a very simple game can feel if you go that extra mile. It’s all about psychology, and people definitely notice these things.

Another way you can help differentiate your game from the competition is by concentrating on features that make it unique or better than most of your competition. These features don’t necessarily need to be complicated to implement but every novel or interesting thing your game does that the other games don’t increases your chances of getting noticed. Take some time to think about this and go that extra mile, trust me it will be worth it in the end.

Finally, always take time to make your game pleasant or at least not frustrating to play. If your game is annoying to play because the player is frustrated by the controls, then they are not going to enjoy the game at all. I learned this lesson well with the constantly fiddly controls for Chromodyne and hope I have managed to serve my penance with my improvement of the rather poor state of action touch controls with Red Nova. In the end, it turned out that I could promote this improvement as a feature, which ultimately helped earn the game a lot of good press.

A Launch Day is a Terrible Thing to Waste

This is probably the biggest and most common mistake indie iOS developers make, and that is the failure to recognize how important it is to take advantage of the control they have over the release date of their game. I realize the desire to put your game on sale immediately after you get the notification that your app is “Ready For Sale” is a strong one, I have felt it myself. DON’T DO IT! Keep that release date set to some point in the future and pick a day for your release date, change the release date in iTC to that date and stick to it. The idea here is to try and maximize the amount of buzz surrounding your game over a short period of time to generate a spike in sales, hopefully getting you into the charts.

If you have been doing everything right, by now you have gotten some game reviewers at least somewhat interested in your game. If not, especially if this is your first release, don’t panic too much, but you will have your work cut out for you. You see at this point you have 50 promo codes you can give out for your game even though it isn’t available for sale. The idea here is to get those codes into the hands of reviewers so they can write up a review and hopefully if things go well, have it ready for the release day. You can use the list of sites I mentioned you should make earlier to figure out who best to give promo codes to. If you have already gotten coverage earlier in the development cycle, it’s a good bet to give those sites promo codes for sure.

Use this time to create a press release as well. There are a number of press release services online that can get news of your game to a huge number of news services that cover different aspects of the games industry and you’d be wise to take advantage of them. You never know who might pick up the news. Also much like your pre-release pitches, keep the hyperbole and marketing-speak to a minimum. The easier you make it for someone who has to pour through dozens if not hundreds of press releases a day to see that your game is interesting and awesome the better.

Another thing you might want to consider, as a small and relatively unknown indie game developer, is the actual day you release your game on. For some reason it has become “common knowledge” in the iOS world that the best day to release your game is on Thursday. I’m not sure how this got started but for a number of reasons it’s actually now the worst day for a small and relatively unknown indie game developer to release their game. This is because practically everyone is now releasing their games on Thursday, from the crazy old prospector with his fart app to all of the big publishers and everyone in between. This means that it is going to be that much harder to get attention for your game seeing as it’s basically going toe-to-toe with the game release equivalent of the God King. I don’t know if any other particular day is better, but the rest of the week is quieter and you stand a better chance of getting more coverage from more sites because they need content every day of the week, not just Thursday.

One last piece of advice here, that I of course learned the hard way, is it’s probably a bad idea to launch close to the Christmas holiday if you don’t have a huge name for yourself or a lot of pre-release buzz surrounding your game. There is going to be a massive amount of noise from new releases and massive amounts of sales and even though there are going to be a lot of new device owners looking for games, chances are they probably won’t be buying yours.

Conclusion

The upshot of all this advice is that you have more control over the path to success that your game can take than you think. Yes luck is a massive factor in how successful a game is, but you should still do everything in your power to give your game the best possible environment for that success.

Most important of all: don’t give up, learn from your mistakes, learn from other people’s mistakes, and eventually you will get rewarded for your patience and hard god damn work.

A Post With Numbers In

Update (April 6, 2011): Hit 4,000 sales last month, and well on the way to 5k! :)

I haven’t made a real substantial blog post in a while but with my trip to GDC rapidly approaching and Red Nova being featured by Apple in “What We’re Playing” as well as a fairly significant milestone in sales of the game I figured it may be interesting to some to post some numbers, and talk a little about where Celsius Game Studios Inc. (oh yeah, I also got incorporated!) is headed in the near future.

First of all, the bit you’re probably here for: The Numbers™. Many developers are hesitant to discuss specific sales figures, either for fear of being seen as unsuccessful or because their sales are directly tied to their income, which I suppose is why these sorts of things are still generally interesting. I feel that Red Nova has been relatively successful so far and because sales of the game do not directly tie into my own income I think I can safely say that the sales of Red Nova are… *dramatic pause*… larger than a breadbox and smaller than an exotic super-car.

Okay, in all seriousness, and this is pretty exciting for me: as of this weekend Red Nova handily sailed past 3,000 sales. All over a period of just over 2 months.

While some of you may be looking at that and saying “big deal, Angry Birds sells that many copies in, like, thirty seconds” understand that the average iPhone app will see approximately 100-200 downloads over its entire lifetime. Sales-wise, Red Nova is already in the top 7% of games on the App Store! While I’m not popping any champagne corks just yet, considering that with no money spent on advertising, relatively poor circumstances surrounding the launch over the holidays and the fact that up until recently I was pretty much unknown as a game developer, I think I’m doing quite well for myself.

As I mentioned in an earlier blog post, Red Nova still hasn’t hit its stride, and I don’t expect it to right away. Ultimately my plan all along was to release the game in episodic “chunks” to help make it easier to develop the game and grow its audience at the same time, especially seeing as, at least in the short term, I’m still limited in the time I can spend working on it. Also early sales help support the development of future episodes not unlike how Minecraft‘s sales model works, where the people buying the game now are getting an already good game for a low(-low!) price as well as a bunch of new content for free. So, I’d just like to take a moment to thank everyone that has already gotten the game so far for helping me realize my dream of becoming a game developer!

That being said over the next few months I’m planning on expanding Celsius beyond just myself, continuing development on new episodes and feature updates for Red Nova and, closer to the end of the year, beginning work on an exciting new game project I (cryptically!) hinted at a few weeks ago on Twitter which I think will be pretty damn awesome, and when I’m ready to talk about it in more detail I hope you’ll agree with me 😉

So, here’s to the future… it may still be up-hill, but it’s looking bright!

Red Nova and the 2010 Best App Ever Awards

Red Nova IconSomehow, amazingly, Red Nova has been nominated for a number of categories in the 2010 Best App Ever Awards, including Best Overall App. This is fantastic, and I am beyond pleased that so many people seem to feel my little game is worthy enough to rub shoulders with what are frankly some giant names in iOS gaming and apps. I don’t know how well I’ll do overall, but to even have made it this far makes me feel like I’ve achieved something great already.

That being said, instead of spamming all the categories you should consider voting for Red Nova in across Twitter/Facebook/Whatever, I decided to put all the links here for your consideration. If you do end up voting for Red Nova thank you!

Red Nova: The Week That Was

Red Nova IconDespite my tendency to not frequently post to the blog here as much as I’d like, I figured I should probably post something about the launch of Red Nova seeing as it’s been out for a whole week. This isn’t exactly a post-mortem, but it’ll be nice to talk about how the launch went.

Cutting to the chase, the launch exceeded my expectations with the game racking up a number of impressive reviews from a bunch of review sites including TouchArcade, 148Apps and AppSpy (which I shall present at the end of the post). Sales for the first few days were also suitably impressive but due to a number of big-name launches on Thursday (expected) and EA lowering the price on over 60 of their games to $0.99 (unexpected!) enough noise was created to effectively put a damper on things. I knew I could probably weather Thursday’s big launch announcements because not all of those games would be at the same price point, but I’m fairly certain between pushing other apps down the ranks along with Red Nova and the $0.99 price point the EA sale had a negative effect on the launch.

In the below graphs, green represents Arcade, red Action and blue All Games.

iPhone US Chart

US iPhone Chart: This is a graph of both excitement and disappointment

Backed by a number of positive reviews the game shot up the charts, even briefly hitting 156 (or so) in the Top 200 iPhone Games on the US App Store. It hit 44 in Arcade and very nearly hit 50 in Action games as well. I even suspect if this wasn’t such a volatile time on the App Store those rankings would have probably been a bit stickier, and with hindsight being 20/20 there are definitely some downsides to launching during the holidays. However it’s entirely possible that had I not launched when I did things may have played out differently in other unpredictable ways and I can’t exactly take the launch back, so there’s no sense wasting time wondering what could have been. Also, the holidays aren’t even over yet, Red Nova is moving around in quite a few iPad charts, is seeing some good movement in Germany and Japan on the iPhone, and I may have an ace or two left up my sleeve so who knows what could happen in a week’s time 😉

iPad US Chart

US iPad Chart: The term "rollercoaster" comes to mind here

All that being said, I knew the risks of launching this time of the year and even if you could potentially call the sale an unfair move, business is business and I’d rather focus on all the positive things that came out of the launch instead of things I can not change. This is definitely a beginning, and a pretty damn good one at that.

Special thanks, as always, to Dave Frampton for the ever-awesome (and free) MajicRank.

Red Nova Review Roundup

Red Nova received a number of reviews in the first week. Most of which were overwhelmingly positive, and even the more negative reviews hit a lot of the good points so I think in this respect I’m off to a great start. I think my favorite part is how most of the sites caught on to the different things I was trying to bring to the table with the game’s unique control scheme that I designed for the ground up to be less frustrating (though by its nature less intuitive) than what we’ve seen in action games on iOS thus far.

TouchArcade – I’d call this one overwhelmingly positive. I couldn’t have hoped for a better review. “It has an interesting premise, one of the smartest control schemes I’ve seen, Game Center integration for high score bragging rights, and above all else it’s just a blast to play.”

AppSpy – Can’t go wrong with “almost flawless”. Also I believe this is my first video review ever, which was pretty exciting. “Red Nova may only be limited to the single gameplay mode, but its execution is almost flawless and perfectly suited for all iDevices.”

148Apps – A mostly positive review but Ben definitely put the game under the microscope. I don’t think that’s a bad thing as the only way to improve is to know where your flaws are. “From the superb control scheme to all of the small enhancements mentioned earlier in the review it is clear that Red Nova is, indeed, a very professional product.”

Slide to Play – Slide to Play gave the game a 2/4, which is not awful, but I have it on good authority it was very nearly a 3. A goal to strive for with future Episodes I think! “Red Nova has some interesting ideas, but they don’t always work out the way they should.”

Simple-Reviews – Definitely can’t go wrong with a 4.5/5. “Red Nova is a must have game for anyone who loves space shooter type games!”

Oaggle – Definitely seemed to really dig the game! “It’s well worth the $0.99, and I’d even say that it is a must have.”

Wifivoltage – Short but sweet review. “I’m not into making big gaming reviews, all I know is that I only bother to do some when I find something I really like and well… I did this one so, go get it!”

Meet – A pretty big Japanese website that gave the game a 3.5/5. I had trouble translating it but it seems that they had some trouble getting the shields to work correctly but otherwise they appear to like it! I suspect the control difficulty could be chalked up to the language barrier, but that’s only speculation at this point.

Touch my Apps – Not exactly a review, but Touch my Apps included Red Nova in a list of “10+ New App Store Games To Watch” which is pretty awesome, I’d say!

Chromodyne: A Successful Failure

I’ve been thinking for a while about writing up a postmortem of my first crack at making a Real Game, Chromodyne, for a while now. The worry is, of course, that someone may look at this as some sort of horrific waste of time and tell me I’m mad for trying to break into the App Store when… oh my god it has how many apps? However in all honesty, despite the less than stellar sales leading to what one might declare a failure on the App Store, for a number of other reasons, I feel Chromodyne has been incredibly successful and I wouldn’t have it any other way (well, except maybe the whole not selling well part).

What the hell are you talking about?

What I mean when I say “successful” I mean that on the whole, even considering the time I spent working on it only to have it sell a few hundred copies so far, I still learned a lot of valuable lessons, met a lot of awesome other developers, and it helped prove to me that I had what it takes to develop an entire video game from start to finish and to kick myself in the ass and finally decide that I should follow my dream of becoming a game developer.

What went wrong?

There were a few key things that I feel went wrong that, hindsight being 20/20, I would have done differently. Here they are in no particular order:

  • Not enough exposure – I didn’t enter into this whole App Store dealio completely blind to the fact that in order to become successful people need to know about your app. I definitely made a decent stab at it, but my relative newness to the whole scene plus working a full-time job at the time hampered my ability to really get the word out.
  • Poor branding – I fretted a long while over trying to give the game a neat and catchy title, as you should try to do, however I really didn’t think this whole “Chromodyne” thing through. After trying to explain the game to others in person, it’s definitely a clumsy name when spoken and makes it difficult for that whole “word of mouth” thing to work when people don’t know how to spell it to look it up online. Also, in retrospect, the icon could probably have used a bit more work to make it pop more on device and on the app store.
  • Fiddly controls – One problem you can not ignore in game design is how your players interact with the game. If the player is constantly fighting with the controls they will never truly get to enjoy the game and you run the risk of them abandoning it for something else. In the case of Chromodyne, I was well aware of the issues with the controls and tried to minimize their impact as much as possible, but by the very nature of the game field layout it meant that the inner-most rings were difficult to touch accurately. As well, I felt that with practice people would become better at the game and that’s what many of the reviews revealed. However, as the cliche goes, the first impression is the best impression.
  • Choosing an over-represented genre – Approximately 105% (or so) of the games on the App Store are match-3 games. Even though one cynical critic (the only bad web review I received, I might add) accused me of trying to jump on the App Store Gold Rush Bandwagon(tm) the reason I decided to try my hand at a match-3 game for my first game was because I felt it would be much easier for me to complete a game with a smaller scope in a reasonable amount of time. Speaking from experience, I have a tendency to come up with grand designs which would take a large team a couple of years to complete, so I had to learn to work within my own ability to actually make something.

What went right?

  • Learned a lot about game development – If anything I took away from this whole experience, it was a lot of experience about the game development process, including learning things about the iOS platform, the App Store, and various new programming techniques that helped make it a lot easier when I started work on my second game, Red Nova.
  • Made something I’m proud of – Despite all I’ve said about Chromodyne so far, it’s my creation and I’m really happy that I made it. It may not be perfect, but it has gotten some good reviews and on balance it may not be the best game in the world but it’s still pretty darn good. As well, I think the thing I’m most proud of are the story and characters I created for the game and maybe some day in the future Gary and Zarlax will ride again :)
  • I’m following my dream – As I’ve mentioned in an earlier post, I’ve struggled over the years trying to figure out what direction I was going to take in my life. Games and game development have definitely been a passion of mine, and it’s something that I’ve always wanted to do professionally, but ultimately I had to make Chromodyne first to prove to myself that I had the ability. So Chromodyne was the catalyst of this at times scary but entirely exciting new path I’ve taken in my life. Also, it helped to show the people at the Genesis Centre, the startup incubator I’ve been accepted into, that I have what it takes to, as they say, do this thang.
  • Met a lot of amazing people – Through all of this I’ve met and connected with some really great people in the game development community on the internet at large and it’s really helping me feel like I’m a part of the industry now, however small my part is at the moment.

What’s next?

After six months in development, I’m on the verge of submitting my new game Red Nova to the App Store, and from all I’ve learned and all I’ve worked towards I’m confident it will be more successful than Chromodyne. How successful, I have no idea, but hopefully enough that it will allow me to keep working on adding updates to Red Nova and to start making other even more complicated games in the future. That being said, I’m currently working on getting into a position where I’ll be able to hire a 3D artist early in the new year. In addition to taking Celsius Game Studios from “one guy hacking on games in his living room” status into “if you squint hard enough, it looks like a real company” territory, it’ll help me focus solely on game design and development and allow for the creation of a larger variety of and even better looking art assets than I can eke out with my meagre art ability.

Finally, in celebration of Chromodyne being on the App Store for a little over a year (since October!) I am going to, tongue firmly in cheek, declare Chromodyne and Chromodyne HD Celsius Game Studios Not-Quite-Greatest-Hits and drop the price permanently to $0.99. You can learn more about them at the game’s page.

A More Robust Game Center Availability Check

I just wanted to share the small addition I made to the isGameCenterAvailable() function Apple provides for checking to see if Game Center is available/supported by a particular device.

The reason this is necessary is because the iPhone 3G supports iOS 4.1+ however it does not support Game Center, therefore the Apple-provided isGameCenterAvailable() will say GC is supported, when it is in fact, not.

Enjoy!

Edit: Some people have questioned why I should do this, especially when Apple themselves recommend against it. This is because the current Game Center login dialog as presented in-game when calling authenticateWithCompletionHandler has absolutely no information as to the purpose of the login. While most people will rightfully assume it’s for Game Center, there are still a number of reports of users getting angry at developers thinking that they are trying to steal their login information. So the idea here is to use this code in conjunction with a friendly dialog explaining the impending Game Center login and how awesome it is, thus reducing the potential for user confusion. The reason you want to check for the 3G is so you don’t present your “I’m about to log in to Game Center” dialog and then… not log in to Game Center.

If the situation with the dialog improves, or the 3G is ever graced with Game Center support, it is easy enough to update your game to take out the check for the device.

#import <GameKit/GameKit.h>
#import <sys/utsname.h>
 
bool isGameCenterAvailable()
{
	// Check for presence of GKLocalPlayer API.
	Class gcClass = (NSClassFromString(@"GKLocalPlayer"));
	// The device must be running running iOS 4.1 or later.
	NSString *reqSysVer = @"4.1";
	NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
	bool osVersionSupported = ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending);
 
	if(gcClass && osVersionSupported)
	{
		struct utsname systemInfo;
		uname(&systemInfo);
		//iPhone 3G can run iOS 4.1 but does not support Game Center
		if(strcmp(systemInfo.machine, "iPhone1,2") == 0)
		{
			return false;
		}else{
			return true;
		}
	}else{
		return false;
	}
}

Red Nova Beta Testing

Edit: Just wanted to say thank you for such an amazing response and beta testing is now nearing completion! Thanks for your interest, and hopefully Red Nova will be out soon!

I have a few more device slots that I’m able to set aside for beta testing of Red Nova, so I’m wondering if there’s anyone else out there who wants to help me make the game as awesome as I possibly can.

I can’t offer much in compensation right now except for a “Beta Tester” credit in the credits for the game and the satisfaction that you’ll gain in knowing you helped me make sure Red Nova doesn’t cause people’s iPhones to explode violently when adjusting the in-game volume (I promise I’ll try really hard not to explode your iPhone, violently or otherwise, during the beta). Also, you get to be among the first people ever to play Red Nova which I think, despite my obvious bias, is pretty damn cool.

Anyway, that being said what I’m looking for is both feedback on the game itself as well as help in finding any bugs in the code.

If you’re interested you can email me at colin[at]celsiusgs.com (after replacing the [at] with the appropriate symbol :)) or @reply me on Twitter with whatever devices you have and when I’m done compiling the list of potential beta testers I’ll get back to you if I’m able to add you to the beta or not!

As for the beta itself, I’m planning on making a pre-beta build available sometime this week for those that are interested in trying out the gameplay. I’m still in the polishing stage, so there are some rough edges and things that are just plain missing. I’m pretty excited though and I really want to share the game with others to see if they feel the same way.

The plan after that is to seed the first full beta in a week or two, once everyone has had a chance to play around with the pre-beta build and I’ve had a chance to take a grinding wheel to the rest of the code 😉