Development pearls of wisdom

Discussion in 'Public Game Developers Forum' started by Charybdis, Mar 10, 2012.

  1. Charybdis

    Charybdis Well-Known Member

    Apr 2, 2011
    281
    1
    0
    Programmer
    Kyoto, Japan
    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 :)
     
  2. TouchDeveloper

    TouchDeveloper Active Member

    Feb 19, 2012
    27
    0
    0
    - RTFM

    - Instrument/Profile real usage

    - Instrument/Profile real usage

    - Instrument/Profile real usage
     
  3. david_loqheart

    david_loqheart Active Member

    Feb 3, 2012
    41
    0
    0
    Founder of Loqheart: Game Development
    San Francisco, CA
    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.
     
  4. LiamAtDevour

    LiamAtDevour Well-Known Member

    Feb 1, 2012
    83
    0
    0
    Co-founder/Programmer at Devour Games
    Brisbane, Australia.
    There is no such thing as too many concepts. If you're not in love with the end result, keep working on it.
     
  5. Serious Parody

    Serious Parody Well-Known Member

    Aug 18, 2011
    77
    0
    0
    I Make Wrestling Manager
    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.
     
  6. DemonJim

    DemonJim Well-Known Member

    Nov 19, 2010
    416
    5
    18
    App Developer
    UK
    Design:
    • 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.
    Programming:
    • 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. //!)
    Graphics:
    • 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! ;))
    Audio:
    • 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!

    Testing:
    • 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.
     
  7. Serious Parody

    Serious Parody Well-Known Member

    Aug 18, 2011
    77
    0
    0
    I Make Wrestling Manager
    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.


    https://testflightapp.com/
     
  8. David Phan

    David Phan Well-Known Member

    Feb 27, 2012
    74
    0
    0
    President & Producer
    Vancouver
    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.

    http://www.develop-online.net/blog/318/Mobile-Game-Design-101


     
  9. nicolasgb

    nicolasgb Well-Known Member

    Feb 4, 2012
    148
    0
    0
    Co-founder at HereWeGames : http://www.facebook.co
    Paris, France
    #9 nicolasgb, Mar 11, 2012
    Last edited: Mar 13, 2012
    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.

    *
     
  10. antireality

    antireality Member

    Mar 11, 2011
    19
    0
    0
    graphics driver monkey
    Kingston Upon Thames, UK
    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.
     
  11. FunInfusedGames

    FunInfusedGames Well-Known Member

    Sep 7, 2011
    70
    0
    0
    Game Developer
    Madison, WI
    Playtest playtest playtest.

    You really should playtest your games with other people, ideally while you watch. They'll do things you don't expect and find things fun or not fun that you may not. When it's your game, you're predisposed to enjoy / approve it. You need to find out what people with no vested interest think.
     
  12. Woodesh

    Woodesh Active Member

    May 19, 2011
    39
    0
    0
    This :
    think of something simple and stick to it, your biggest enemy is you.
    its better to make 5 progressively better tiny sh"t games over 12 months than one sh"t game over 12 months.
    expierence is learning, nobody made a sucess on their first game.

    if you have time watch this, interesting talk with creator of super meat boy.

     
  13. TheGreatWhiteApe

    TheGreatWhiteApe Well-Known Member

    Dec 13, 2011
    114
    0
    0
    Games Designer, animator, writer
    Melbourne, Australia
    Stats and analytics

    Add something like Flurry to your games or apps. Flurry is a free system that lets you get stats on users, usage etc., so you can see where people are having trouble, what device they were on etc.,

    Also great if you ever end up looking to sell your apps, prospective buyer will want to see as many stats as they can get on performace.

    App annie is also an awesome system for receiving daily stats via email, and tracking global success and app store positions and customer reviews.
     
  14. glaze

    glaze Member

    Nov 17, 2011
    13
    0
    0
    iOS game programmer
    Finland
    • Use static analysis tools such as the one included in Xcode or Cppcheck.
    • Use Clang.
    • In some devices, GLSL variable ivec4 must be declared highp.
    • Render order recommended by Imgtec: opaque/alpha test/alpha blend.
    • Use Instruments to find CPU/GPU bottlenecks.
    • Don't use GL calls directly in the game code. Abstract them, so porting is easier.
    • Remove unneeded stuff from .pngs with pngcrush or a similar tool.
    • Consider using some other language than Objective-C for easier porting.
    • Test your game with and without audio. Provide visual feedback for important events.
     
  15. schplurg

    schplurg Well-Known Member

    Not true ;) Good overall advice though. I will say though that it is a lot tougher than it was 2 years ago. Look at all the big names in the top spots now.

    I have a lot of dev "rules" I go by. My latest one is "Good Enough Isn't". If I catch myself saying, "Bah, that's good enough", I ask myself, could it be great instead? On the other hand some things are best left "good enough".

    Have fun. I laugh every day testing the new Daredevil Dave. Not every game is funny, and not every app is fun, but make what you can of it. Think of all the other crappy jobs out there you could be doing!

    Know when to say "when". I catch myself adding new things all the time. I see a lot of potential new features, but if I added them all I would never finish the game. Save some new features for updates maybe.

    Don't let anybody or anything bring you down, or discourage you. Try not to live in a fantasy world of expectations either, but if you know you have a good idea, go with it!
     
  16. thedollarhunter

    thedollarhunter Well-Known Member

    Sep 23, 2011
    80
    0
    0
    London
    Wise words indeed, what a great thread.

     
  17. sifter

    sifter Member

    Mar 20, 2012
    5
    0
    0
    Head of App Development, Dennis Publishing
    London, Inkland
    Great thread. I'd add:

    * Don't insist on a particular method, just insist on doing it right
    - (not me, can't remember where I heard it, it's on a whiteboard at work now!)

    * "Consider a user talking about your app saying, “it can do this, it can do that”. Now compare that to them saying that with your creation “I can do this, I can do that”. The difference is syntactically small but incredibly important."
    - This article.

    * "Great design is all the work you don’t ask the people who use your products to do."
    - This thread on Quora. Particularly good when thinking about loading screens, journey into the game itself.

    Hope those help you like they've helped me :)
     

Share This Page