I’m certainly no professional game developer, but I’ve worked on a few small games here and there that were fun to play with my friends. I’d like to share with you some of the things that I’ve learned along the way. Keep in mind that these are directed toward very beginner amateur game developers—not those looking to make money off of their games. I have no experience with the latter!
Tip #1: Use a Language You Love
For small, beginner games, your choice of language truly does not matter. Pick a language that you love to write in (and one that you are very familiar with), so you don’t feel dread whenever you have to actually write code; the language should be a beneficial tool for you to use, not a setback.
Sure, some languages have better game development libraries than others, and you will come to understand what the strengths and benefits of each language are with time. The most important thing for now is just to start coding your game, and picking your favorite language will make it very easy for you to do so.
If you have never programmed before, then I would recommend picking up Python. It’s an excellent language for beginners that will be useful to you no matter how advanced you get. Although not many professional games are written in Python, there is an excellent hobby development community around the language, and the skills that you learn by writing Python are applicable to many different fields in computer science, such as web development and scientific computing. See here for a list of organizations using Python.
Tip #2: Start Small
Starting small is incredibly important when first beginning to develop games. Come up with an idea for a game, and reduce it to its simplest possible form. And when I say simplest possible form, I mean simplest possible form. Literally (not figuratively), reduce the idea to something that cannot be reduced any further. Then, implement that idea. You should have an extremely rudimentary game—but hey! You’ve just made a game.
Once you have your extremely simple game, you can begin to add features to it—that’s is the fun part! You can add as much or as little as you want. The important thing is to make sure that you have a foundation to work with.
This leads me into my next tip…
Tip #3: Finish. No matter what.
Throughout the duration of time that you will be creating your game, it is very likely that you will come up with tons of great, new ideas, all of which seem better than the one that you are currently working on. Set aside a planning period beforehand, but once you start working on your game, do not give into the temptation to completely trash all your work and restart. Sure, some slight redirection of the finer points of the game is fine, but don’t destroy all your hard work in the endless pursuit of the perfect idea. No game idea is perfect; if you do end up restarting, you will simply be caught in an endless cycle of scrapping ideas and rewriting your game.
You should most definitely write down all the ideas that come to you while developing your game, but save them for your next game. Your goal is to finish games—not start them.
Tip #4: Dogfood it!
Dogfooding is a term used to describe when someone uses their own product in real-world situations. Play your own game when you would normally play other games. Take note of any glitches or aspects of the game that are just not fun.
If you’re developing a mobile game, keep it on your homescreen. For a web game, bookmark it. For a desktop game, keep the icon on your desktop. If you, the creator, don’t do these things—if you don’t actually enjoy playing your own game—how can you expect anyone else to?
Tip #5: Ask For Input From Friends*
(*But don’t lisen to everything they say…)
You should absolutely share your game with your friends and ask for their input. Many times, their fresh eyes will be able to spot glitches or imbalances that your tired eyes haven’t. It’s also great fun for everyone when you’re able to share something that you’ve created! You get to play your game that you’ve been working on with with your friend, and your friends get to offer their own input in a real game!
Many times, people love to offer their own input, and see it come to fruition in your game. Like I said before, it’s fun for everyone! …Until it’s not. It is your game, after all, and you should only add suggestions that you truly see the merit in. You are (presumably) creating this game because you have a vision that you want to see realized. It is no one else’s but your own. Welcome constructive criticism, but don’t let anyone muddle your dream.
Tip #6: Just do it!
Most importantly, Just Do It™. Everyone will tell you something different about game dev, and many times this advice will conflict with what others tell you. And the thing is, everyone is just telling you what worked for them. Even this blog post is just telling you what worked for me! You need to find what works for you, and the only way to do that is to power through and make a game yourself.
So, stop reading blog posts! Pick your favorite language, and make a game! (Only if you want to, that is, no pressure or anything…) Start small! You can do it!