January 30th, 2009
It’s been a while since my last post, but that’s because I’ve been busy on my latest title – Pegs In Space. You can check it out over at www.jseuss.com. It’s a puzzle/physics game.
Anyhow, what better reason than to share some things I’ve learnt along the way starting with …
Scope
Before writing any application you need to set a goal that is both realistic and achievable. And this seems to be more important for games than any other genre. For some reason, people who like playing games, think that equates to liking/being good at writing games. If you’ve never written a game before it’s probably no surprise that you shouldn’t try to write an epic FPS with realistic gameplay and story line. But a lot of people fall into the trap of underestimating the effort to produce a simple turn based strategy, or even more common, some sort of RPG.
If you’re completely new to the scene, try something a little easier. Graphics and artwork will either cost you money or time (or both) so pick a game that’s both easy to draw and easy to write. Many solitaire games are very simple and will give you an idea of how to process and transition between game states (I’ll talk about this later). It’ll also allow you to play with visual effects without the need for high responsiveness.
From there you can create board type games with a computer opponent, introducing AI, then perhaps branch into games with levels where object management comes into play. The choice is yours really. But remember to keep adding to your past experiences and release every app you build.
But to get back to the point, keep your apps simple, with only a few features that are new to you and stick to the plan. Release your app and start another rather than adding ‘one more thing’ until you have a big messy pile of code.
Next post I’ll be talking about different ways to approach reuse so each app is much easier than the last.
Posted in Design, Development, Game Programming, iPhone | No Comments »
January 1st, 2009
If you are using Audio Services to play sound effects, then you’re going to have problems if you’re also updating your program state at a high frame rate.
Although incredibly simple to use, the Audio Services should really only be used for one off alerts or sounds, and never as the sound effect backend of a game or similar.
Like most Apple APIs, they use the technique of lazy loading. That is, don’t bother doing anything like setting up audio buffers etc until you actually call the API into action for the first time. This is useful for faster loading apps, and a smaller average memory footprint.
But the downside to this is that the first time you try to play a sound, the Audio Services will be initialized and your app will pause for tenths of a second. After this, however, all will be fine.
A better way to go is to use OpenAL to handle audio playback. It is much more flexible, and allows you to call the initialize function when your application loads, to avoid delays when you actually want sound to be played.
The best place to start with this is to look at the Apple ‘Crash Landing’ example. It includes a ‘SoundEngine’ module that can pretty much just be copied into your applications for use. Remember to include the OpenAL framework though.
Posted in Audio, Audio Services, Development, Game Programming, OpenAL, iPhone, iPhone SDK, iPod Touch | 2 Comments »
December 17th, 2008
Perhaps it’s just me, but does anyone else think that the new feedback question asked in iPhone OS 2.2 when an app is deleted is a bad idea?
If you’re not familiar with the new feature, it is just a simple pop up that appears when you delete an app from your phone and asks you to rate it out of five stars, or just say no-thanks.
When analyzing data in any field from scientific analysis to reviews that others have made, you should always be on the lookout for confounding factors. And what’s more confounding than skewing your data to be mostly from people who have deleted an app they paid money for?
I’m sure the system works moderately well for free apps. There’s less to loose if you delete a free app – you can always download it again (if it’s still free..). And there are reasons why you wouldn’t want hundreds of free apps cluttering up your phone. But if you’ve paid for the app then it’s a different story. You’re either cleaning up your phone and it’s at the bottom of the ‘want-to-keep’ pile, or you just plain don’t like it and want it gone. It’s just far easier (and economical) to keep an app if you like it.
So where does that leave us? Now we have many reviews from people who don’t like your app or think it’s the worst one on their phone. Personally I’ve noticed a decline in all my ratings with an influx of non-comment reviews.
An obvious way around this would be to ask to rate after the nth running of the app. It would be a nuisance but far less biased towards people who don’t like the app.
Has anyone else seen this phenomenon? Any other solutions?
Posted in App Store, Reviews, iPhone, iPod Touch, iTunes, iTunes Connect | 1 Comment »