Gamasutra: The Art & Business of Making Gamesspacer
arrowPress Releases
July 30, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
30 Tips For Newbie Game Programmers
by Emrah Ozer on 11/12/12 09:35:00 pm

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 
  1. Start with a small game
  2. Finish your first game.
  3. If you're developing your first game and you've no idea about game development. Start with tetris / a basic platform game or an arcanoid game.
  4. Always get  feedback about your game. Start this process immediately after the first prototype is finished. Test your game with a brutally honest group of people who never played your game before.
  5. Prototype as frequent as you can.
  6. Don't be afraid of chuck out your prototype. It's not a big deal, only a few days of job.
  7. Don't get the critics personal. Getting a feedback like "your game is perfect. I loved it !" does't help you at all. "The control isn't comfortable, levels are getting too hard in a short time"  helps you much more. Beware that users aren't criticizing you, they're criticizing your game.
  8. If you're developing your own game -please I beg you- don't make a clone game. Nobody needs a another bubble game. Clone game development causes you to not to learn the game design iteration process.
  9. Avoid using game engines before having the knowledge of "what is a game engine?", "what is the benefit of using game engine?". Don't start with programs like unity, corona, game maker before knowing what happens in a game loop.
  10. Find team mates. They'll motivate you and most importantly being responsable to a teammate is much more motivating then being responsable on yourself.
  11. Find a mentor but don't ask questions to your mentor as a reflex. First research the problem, if you're stuck then ask for a keyword. Don't underestimate the power of google.
  12. If you think you got a good idea, go for it. Nearly all of the successful indie game's have core mechanics which can be developed in 1-2 weeks. If they weren't continue development they wouldn't be successful.
  13. Don't underestimate the game sector (especially mobile). All of your future consumers have a really high expectation. Publishing an unfinished game will unsatisfy your customers and will lower your reputation and your developing motivation. Instead of an unfinished big game, publish a finished small game.
  14. Try to develop utility tools. Maybe it takes more time to develop a tool than writing it in a non-elite / long way but developing tools increases your motivation and makes you a better programmer.
  15. I love the quote of Martin Golding: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
  16. If you think something wrong with your code. Delete it and write it again.
  17. Don't try to write reusable code. Try to write readable, extendible, flexible code. Every game you develop will make you a better developer so most of the time all the classes you wrote previously, will be rewritten in a better way.
  18. Search for an implementation or ready to use library before starting development of an algoritm. It doesn't matter you use it or not. If you decided to write your own implementation, at least checking legacy codes will show you what you should and shouldn't do.
  19. Learn how to search on google. Seriously, I mean it. Internet is a big junk if you don't know the right keywords.
  20. Be close to people who understands what you're doing and appreciates your work. Having conversation with these kind of people is the most instructive and improving sessions.
  21. Networking is very important. Attend as many meetings, conferances, seminars as you can do. My closest friends are people whom I met in these kind of events.
  22. If you feel sufficient attend to Game Jams. These activities are very important for networking, finding future team mates and also it is good for reminding yourself 48 hour is a damn long time.
  23. Before starting developing a game have conversation with your developer friends. Tell them the algorithm that you're about to write or the alternatives in your mind and have a brain storm. This may gain you so much time and it may prevent you taking the wrong rode.
  24. If you find your self in a dead end have a break. If it is possible, sleep. Your brain keeps trying to solve the problem. When you wake it's highly possible to shout "eureka".
  25. When starting to a new language my learning way is: Find a nice book about -> Read most of it ( you'll forget everything but you'll have the keywords) -> Read some example code and analyze them -> Pick a goal and start writing-> If you get stuck look at the example codes -> If you cant find google the problem  -> If you can't find related web sites you don't have the right keywords, ask a friend of yours who knows the language -> Search for the new keyword -> Write until next problem :)
  26. Don't flatter your ego by looking your knowledge. Always keep looking the world and remind yourself how little your knowledge is.
  27. Don't make random search. There are lots of things to learn so learn step by step.
  28. Learn according to your projects' needs. You'll forget all of the things that you didn't practice. As conficius says  “I hear, and I forget. I see, and I remember. I do, and I understand”.
  29. Don't afraid of saying "I don't know this, can you tell me". Don't be slave of your ego.
  30. My last advice is... Don't afraid of solution. If it is a hard algorithm it won't be easier any time soon so don't give up. If there is not an implementation of solution in your development language, there is a big possibility that it is written in another language. Try analyzing that solution. In every game you develop it's highly possible to getting stuck in such algoritms.

Related Jobs

InnoGames GmbH
InnoGames GmbH — Hamburg, Germany
[07.30.14]

Software Developer Analytics / Big Data (m/f)
InnoGames GmbH
InnoGames GmbH — Hamburg, Germany
[07.30.14]

Backend Developer Marketing / CRM (m/f)
InnoGames GmbH
InnoGames GmbH — Hamburg, Germany
[07.30.14]

Mobile Developer iOS (m/f)
InnoGames GmbH
InnoGames GmbH — Hamburg, Germany
[07.30.14]

Software Developer Flash (m/f)






Comments


Jonathan Jennings
profile image
Good article Emrah as I improve and grow as a programmer the more i understand and appreciate how important step 1 and 2 were to getting me to this point. learning how to program is a far more emotional or intimate task then i think people realize requiring your mind , interpretation of logic, and even establishing a sequence , or listed priority of thoughts is crucial . For people looking in it always seems like the scariest factors behind programming are the mathematics , or learning syntax, but i think the most important part of becoming a good programmer and moreso a good game programmer is taking a plunge into the fire. Failing, bashing your head against the wall, learning why your logical process was wrong, trying again , failing better, then eventually succeeding.

i have been thinking about what good advice i would give beginning programmers and the importance of making your own game is absolutely the priority . the knowledge, comfort with coding, understanding of how to organize a logical structure and more can't be understated.


none
 
Comment: