★ TouchArcade needs your help. Click here to support us on Patreon.

Development pearls of wisdom

03-10-2012, 09:44 AM
Joined: Apr 2011
Location: Kyoto, Japan
Posts: 281
Development pearls of wisdom

Hi there
For a bit of fun (and perhaps education) I thought we could have a thread where people can post their snippets of wisdom related to game development. Any topic is fine: programming, design, artwork, writing, music, marketing, testing, etc.
I'll go first:

- Always separate update and draw completely.

- Premultiplied alpha is the only way to go.

- Render skyboxes last.

Okay, your turn

Game source code for PC, Mac, Linux and iOS here.
03-10-2012, 03:03 PM

- Instrument/Profile real usage

- Instrument/Profile real usage

- Instrument/Profile real usage

03-10-2012, 08:55 PM
Joined: Feb 2012
Location: San Francisco, CA
Posts: 41
More about process:

(1) Just because you are completing tasks on your "to-do" list and are "really busy" doesn't mean you're actually making a better game. There are times when focusing on the task at hand is good, but take time to step back and evaluate whether what your'e doing is the most important thing you should be doing and whether it will make your game significantly better. If there's something else that could get you further and faster, then do that instead.

(2) Along the same lines, PUT YOUR GAME INTO SOMEBODY'S HANDS! NOW! Don't wait till it's "better" or "more polished" DO IT NOW. You are too close to the game. Just sit back and observe other people play. Don't guide them. Or tell them anything. Just see how they get confused, or when they get frustrated, or tap the wrong things, etc.

(3) Don't wait till the last week to start marketing and telling everyone about your game. Marketing takes time, because you need to build trust and make connections.

(4) Stay healthy and surround yourself with supportive people. Morale always goes down the longer you're in production. You need a partner or someone close to you to lift your spirits. But they should also be honest with you in terms of feedback. Just having your family and friends tell you it's a good game is not going to help you in the long run. Supportive, but honest.

Indie Game Developer
Co-Founder of Loqheart
Developing a Wizard Academy game called Wizards of Prestige
03-11-2012, 12:54 AM
Joined: Feb 2012
Location: Brisbane, Australia.
Posts: 83
There is no such thing as too many concepts. If you're not in love with the end result, keep working on it.
03-11-2012, 04:54 AM
Be careful when selecting which software you are going to use to build the game.

We built Wrestling Manager using xcode and hugely regret that now. We're having to completely rebuild the game to release it on Android and we'd have been in a much better position if we had used something like Unity from day 1.

Don't get me wrong, that's not me saying "Never use x-code". If you have something very small like the Pint app where you turn a pint of beer upside down and the glass empties. Well that's something you can create very fast and recreate very fast if it takes off. I'd say, anything that will take you longer than 1 man month to create, you should look at Unity.

Keep your project very small. If you think it's small, it's NOT small.

I've seen plenty of examples where people have set out to make something cool with really good concepts and after months of hard work they see that it's way bigger than they initially thought it would be so they don't finish it. Pick something really small, make it even smaller and remember that bug fixing/tweaks/finding memory leaks/etc can take unpredictable amounts of time.

If you make it ubersmall, when you've finished that if you decide you want to carry on you can and if you decide you want to release it, you've got something in a finished position. Then you'll get feedback on how to improve it. You'll get to see what the interest level is and more importantly you'll achieve something! As an employer, it's always more impressive to me when someone brings me small completed work, rather than 25% of a huge project that they've slaved over for years.

Treat It Like A Business

You'd be amazed at the amount of funding out there for game developers. They aren't always labelled "MONEY FOR GAME DEVELOPERS", often they fall under business development/job creation pots. Fortunately for you, there's a business centre in your area where a highly educated group of people are paid to give you free advice and more importantly, they are paid to give you the money. I know it sounds madness but it's true.

You can get money for computers, software, jobs, office space, advertising, etc. Now don't get me wrong, you might not get £5k for a new Mac Pro but you will probably be able to get 30% of the fee if you can show that it's for business.

So, book an appointment at your local business centre. If nothing else, you will get a ton of advice and you'll also get a boost in your moral because you're taking your concepts seriously.

Also, Universities often have "Prototype Grants". This is money put to one side to help businesses create jobs for students. You might find that they will allow you to use their computers which have licenses for expensive tools like Maya, etc.


University/School Is Your Best Time To Do Anything

I appreciate that you aren't all going to be in university or school but let's say you're on a programming course in uni. You are surrounded by a bunch of programmers, artists, sound engineers, marketers, project managers and target customers. You have access to computers with expensive software on, you have unbelievable resources at university and you'll never have this same opportunity again.

DON'T JUST USE YOUR FRIENDS. Chances are, if you're on a computer course, you aren't close friends with someone on the business course. So network. Ask your teachers who are the good students to work with. Tell the teacher what you are trying to achieve and the teachers will help you get the right people.

Good luck.
03-11-2012, 06:44 AM
  • Keep it simple - no unnecessary features. Less can be more.
  • A poorly designed feature is worse than no feature at all.
  • Have an interactive tutorial - no matter how obvious it appears to be to you it won't be obvious to everyone.
  • Code it 'properly' from the start. Don't put in quick hacks to get something done, but if you do, flag it clearly and know it needs special attention, particularly when it comes to avoiding and tracking down bugs.
  • Comment your code:
    • Don't think you will save time by not commenting a lot of it "because it's obvious what it does". It won't be as obvious in six months time.
    • Maintain comments - wrong comments are worse than none at all. If making a quick code change to test something flag the comment as wrong (e.g. //!)
  • If you're not much of an artist do one of the following:
    • get someone to help / do all the art
    • make the style of the game match your abilities (i.e.: do a doodle game! )
  • Don't underestimate the importance of having good audio - the right sound effects are vital.
  • Allow the player to disable sounds and any in-game music.
  • Respect iPod background playback by allowing it during your game. This should be a technical requirement!

  • Have a 'no bugs' policy. Test throughout development and fix bugs as soon as you find them.
  • When you fix a bug or implement a new feature test everything again. There are often knock-on effects you couldn't possibly guess, and this way you know the cause even if the symptom appears to be unrelated.

Apps: Lead Wars (TA Thread) | Super Grav (TA Thread) | 3D Spinner (TA Thread)
DemonStudios Ltd | Indie Game Dev
Follow: Facebook | Twitter
03-11-2012, 08:45 AM
Oh and look up Test Flight.

It's a fantastic tool that lets you beta test apps. It's free to use, allows you to get all kinds of info back from your users including their save file data and direct conversational feedback too.

03-11-2012, 02:13 PM
Will Luton of www.develop-online.net recently posted an excellent article on Mobile Game Design 101 that I found particularly useful because it was semi-directed at console developers making the shift over to mobile games. As our team is currently going through this experience and we hope to share our learnings throughout development, ship and post release.


Will Luton provides advice on how you can avoid some common development mistakes

This month Iím writing about mobile design, for two entirely selfish reasons.

Firstly, to prove that I am a creative and not just some money-hungry suit (which the regular reader may think).

Secondly, I want to help a specific type of start-up: The talent that comes out of a shuttered console studio.

These new teams make the development community a more exciting place to be. Welcome, my friends.

However, sometimes, teams come out laden with ego and peacocking around the press, huffing and puffing words about Ďconsole pedigreeí that translate as: Ďamateur hour is over, move aside shit munchersí.

This will not win you friends. But, more importantly, these teams release rubbish games.

Wanting to help, I called my buddy Andrew Smith of Spilt Milk Studio, and we came up with a big list of design mistakes weíve made and the ones we see others making constantly.


The thinking is like this: core gaming is inherently better than casual and you can transfer new casual players to the joys of core with some half-way house or by dressing one up as the other. Donít do it.

Forget casual, forget core, but instead focus on the restrictions and the new opportunities in mobile. The way things always were are not the future.


Players play mobile games in very short blasts and they pay very little money for them. Think minutes and minutes for 69p (or nothing at all), not hours and hours for £40.

Players arenít invested from the start, so they will ditch, negative rate and move on in an instant. Choose one simple core mechanic and make it great from the first minute.


Making a simple game is easy. Making a simple game that is fun beyond the first hour is tough.

Either your base mechanic throws up continued nuance, complexity or dexterity requirements, or you build lots of content which produces it.

If you decide to go down the content route, make sure you present it in such a manner that shows an obvious route through the game, clear goals and where there is replay opportunity. Study how the hits have accomplished it.

Players will not search for your content, so sign post everything youíve made for them. Especially if they canít get access to it yet.


Flick, tap, tilt; not click, push, yank. Touch screen is not better or worse than a controller, itís just different way of doing things. D-pads on touch screens are square pegs in round holes.

Plus, donít forget the rest of the toolbox: Location, microphones, cameras, gyroscopes, compasses, proximity sensors, multi-touch, bluetooth and multiple screens.

Ask yourself: Is there another way to do this better? The answer is yes, even if you donít know how yet.


Self-publishing on mobile is a dream, yet the freedom can blind you. The constraints and advantages of having a publisher needs to be in your mind.

Make something that would be hard, but not impossible to get funded. Your investment is low and your risk is less, so your game should reflect it. It needs something exciting but not excluding.

Replicate publisher reviews by using the public. The public give the most honest feedback because they donít owe you shit. Run a closed Beta before launch and listen to Ė but not bend to Ė every comment.

If you stay in a vacuum you will end up releasing crap.


Even more honest than the voice of the public is the actions of the public. Analytics is a big topic; half art, half science.

Every single design choice you make can be validated or otherwise with the data you gather.

You donít need a sequel, react with an update. Keep improving and giving more until your game is dead or a hit.


Putting a Facebook or Twitter share link next to a top score is not making your game viral. People do not share arbitrary numbers with their friends.People share the cool, the incredible, the weird and funny, in both the real world and online.


In the two days in which I have taken to write this piece, two console studios have shuttered and others have trimmed staff in the UK alone. As sad as this i��s, itís forcing a huge, brilliant change.

Mobile Ė and social too Ė is a new world and it requires new thinking. You can probably find exceptions to all of the truisms Iíve written here, so what I hope you will take away is a set of thinking.

Forget forcing similarities in order to apply your advantage. The real benefit is found in looking for what is different, what has changed ��and what you donít know. There you can flourish and go on to make great mobile games.

If you think the trials of making console games equips you for mobile, history will repeat itself.
03-11-2012, 03:11 PM
Joined: Feb 2012
Location: Paris, France
Posts: 148
A few production principles I live by:

* All of the mega-hits in our industry kept their feature sets narrow and the polish deep.
Erik Bethke

* A good movie has 3 great moments, and none that suck.
Tarrnie Williams (on Company of Heroes mission design)

* Plans are worthless. Planning is essential.
Dwight D. Eisenhower (On Super Mario level design //joking)

* Hope for the best, plan for the worst

* Fun 1 time, fun 1000 times

* It's not the idea, it's the execution

* Low risk, low reward. High risk, high reward. Both are fine, but know where you stand.


I make games.
Twitter: NicolasG_B

Last edited by nicolasgb; 03-13-2012 at 06:00 AM. Reason: added 2
03-12-2012, 05:42 AM
Joined: Mar 2011
Location: Kingston Upon Thames, UK
Posts: 19
Originally Posted by Charybdis View Post
- Render skyboxes last.
Surely this isn't so relevant on powerVR as it's a deferred renderer and it won't make a difference? That said, it's probably good practice if you are porting elsewhere.

*Don't lock surfaces unless you really have to
*Render blended stuff last
*Turn off any render states you don't need
*Rendering bigger batches of geometry perform better

But we've all read the imgtec documentation, so we know that, right?

and my opinion on the subject of design is:

*Imagine you are the bloke on the bus/tube when playing. Yes that sensitive motion mechanic may seem cool and shouting at your character through the mic to encourage him to run faster might seem cool, but for the person getting bounced around on public transport the former isn't going to work, and they are going to feel too self-concious for the latter. Likewise they are probably only going for a couple of stops so let them jump in, and back out of the game as quickly as possible to fill in what may only be 2-3 minutes of time available. Feeling like you lost a valuable bit of playtime watching an intro sequence, loading bar or cut scene isn't cool.