A couple of months back, we came across a small kid playing a video game on a regular TV screen. Though we did not heed to whatever he was doing at first, his persistence and passion forced us to take notice. Looking at him play forced us to rewind a few years of our lives, to a time when we used to play similar games. We were busy cherishing our memories, when we were startled by a noise. The kid had apparently got bugged up by the fact that he was not able to advance to the next level and had punched his controller in disgust. When we enquired about his further plans, there was a sudden gleam in his eyes as he spoke that he would make his own game. This gleam lasted about an hour and then he was back with his video-game. Ironically, that gleam ended up mesmerizing us and here we are presenting you with a post about building your own game, after doing an intensive bit of a research:
We feel that starting is the biggest hurdle for a lot of people because they don’t realize that everything started out as nothing and built upon itself until it became what it was destined to be. When your dream game is sitting in your head and you take that first step towards creating it, it can be very overwhelming to go from a state of imagination to implementation. For someone who has never made a game, something as simple as making a character move can be something that just seem like a huge impossible hurdle and can quickly become a huge discouraging defeat. It doesn’t have to be like this, the key is to start small.
It’s very important to take things one step at a time. If you approach your dream game all at once, chances are you will get frustrated and overwhelmed. If you approach the same dream game one little step at a time, your chances of realizing your vision are exponentially higher.
Breaking your game down into small pieces forces you to analyze and evaluate your ideas on a deeper level. This is essential because you always want to be open to changes, you never want to set yourself into a path that you feel you can in no way deviate from. Deviation from the plan can yield the most interesting parts of a game. It’s a more organic way of developing because you are thinking within the game system and are applying new ideas to ideas that have already formed.No task is too small, no amount of progress is too little. What is important is that you do not get frustrated and you continue to work on your game.
This is the second most common question which could go through your mind. But to be honest we don’t like this question because it is a question we cannot answer. A possible and sensible answer to the question would be with “whatever language you feel the most comfortable with”. We don’t think this answers people’s questions effectively because we feel people are looking for a definite answer or they are just starting out and do not feel comfortable with any language. We at Tech Busters though, will try to elaborate this answer to maybe help you understand how to choose a language that is best for you.
If you are looking for advice on what programming language to start with, you don’t need to concern yourself with “Will Flash run on iOS” or “Does Xbox run Java” . Your foreseeable end game at the starting point is realizing a game, not releasing it or selling it. These questions are important when worrying about shipping a game, but shipping a game is way easier than realizing a game. You can worry about shipping your game later.
Find a language that clicks with you and start coding. In the beginning it is important to have as much instant gratification as possible. You want to be able to get something on the screen quick and build from there. You want to be able to edit what you create and add on to it easily. Instant gratification is key to staying motivated when starting out, you probably don’t want to be learning a new language while making your game. If you try to learn a new language while creating your game, chances are you will spend weeks reading and have nothing to show for it except knowledge that you have not yet been able to apply to your game. That can be pretty discouraging.
Stick to what you know, or go the easiest most comfortable route possible to acquiring skills to start work on your game. So if you know a little Flash, use Flash, if you use C++, use C++, if you only use Java, then use Java. There is no such thing as “the official game development language”. ALWAYS remember that. Minecraft is written in Java, Super Meat Boy is written in C++, Farmville is written in Flash, some other game people play is written in HTML 5, some other game people play was made on Index cards. The point is: It doesn’t matter. Find a way you can make your game comfortably, and make it with that.
However, once you get the ball rolling, you will want to reach out of your comfort zone and learn new things if you want to grow as a game developer. Worry about growing later, in the meantime get your base established and start coding.
If you don't know any languge and are looking for a place to start, We would recommend Flash, Game Maker, Unity or something similar. All those programs make it very easy to get something on the screen quickly and with a very small learning curve. You don't want to start out with something like C++ if you have no experience with any other programming language and are anxious to start creating your game.
There are two books that we would recommend but they are only for C++ development and they are not beginner books at all. They are Effective C++ and More Effective C++. These are more advanced C++ books so if you don’t know C++, do not be like “Oh I need those to make games”. You don’t.
Other than those two, we haven’t read any other books. The way we learn is by reading SDK documentation. It’s not very typical, but that's how we learn.
We do recommend going on line and looking up tutorials for things. The internet is full of example programs, tutorials . There are no tutorials that we recommend, mainly because we haven’t gone through any but we do know the resources online are abundant and varying.
We DO NOT recommend copying and pasting from tutorials to make your game. You aren’t learning anything that way, you are just copying. That goes double for open source programs. They are fine to look at, study, and reference, but they are not a means of making the game for you. You will not become a good and effective programmer by copying and pasting source code into your game unless you fully understand it. Do not cheat yourself this way, take the extra time and understand something before you use it.
We feel when this question is asked, its being asked by people that assume there is a magical tool that makes games for you. Fact of the matter is there are tools that do a bunch of the engine stuff for you. If you aren’t interested in learning a programming language for the purposes of building a game engine look at something like Unity or UDK. There is a cost to this though. You are limited by the
system presented to you with those tools. These tools are full of features that are well built, stable, and amazing, but sometimes they will not do what you want.We tried to use Visual Studio for development, but we could just as easily use Eclipse, Code Warrior, XCode, or Notepad and a compiler. Just like selecting a programming language, it doesn’t matter what you use.
For art and animation, you can use Flash.
There is no secret to staying motivated and there really isn’t advice we can give you to stay motivated on your project.
When you believe in and love what you are working on, it is difficult to stop working on it.
You obsess over it, you want to add to it, you want to make it better, and you really want to see it completed. Believing in what you are working on tends to shine through in the finished game. You are more likely to spend more time on extra polish, add features you think make the game better, just generally go above and beyond and really make the game yours.
This is a question no one should ever be asking when they are first starting out or even if they have a game they are working on already. Your end game should be “I’m going to make a good game”. The path to getting your games on any of these platforms is public knowledge. There is no secret email, there is no magic form you fill out, you don’t need to know anyone in the biz, nobody’s cousin works at one of these places and can get you a secret meeting, nothing like that exists.
It’s very simple to be approved for any of these platforms: all you need is a good game. That’s it. It’s a harsh reality that some people refuse to believe. A good game will gain attention and serious consideration from platform holders based on its own merits with a little help from you. Talk about your game, be excited about it and if your game is good and other people like it your enthusiasm will spread to others.
If your game is not good, you are going to have a very rough time getting it on distribution platforms. Focus on making your game the best it can be, don’t focus on what platforms you can get it on. A good game sells itself way more than exposure on a platform will ever do.
If you work hard, and you think your game is the best thing ever and you still can’t get on any distribution platform don’t take that as a failure and a sign that you should stop making video games. Very few people hit a home run with their first game. People might think your baby is ugly...that's fine though. Keep making games. Be inspired by setbacks and one day if you have the strength to push through it, chances are you will realize your dream.
Just make your game with whatever you can, start small and worry about other things later. Programming languages and software are irrelevant to creating a game so choose what you are comfortable with or what you want to learn but don't take on too much when starting out. Make sure you make enough progress to stay motivated and keep frustration at a minimum. Love your game, talk about it, obsess over it and it'll be hard not to work on it.
- Where do you start on your dream game idea?
It’s very important to take things one step at a time. If you approach your dream game all at once, chances are you will get frustrated and overwhelmed. If you approach the same dream game one little step at a time, your chances of realizing your vision are exponentially higher.
Breaking your game down into small pieces forces you to analyze and evaluate your ideas on a deeper level. This is essential because you always want to be open to changes, you never want to set yourself into a path that you feel you can in no way deviate from. Deviation from the plan can yield the most interesting parts of a game. It’s a more organic way of developing because you are thinking within the game system and are applying new ideas to ideas that have already formed.No task is too small, no amount of progress is too little. What is important is that you do not get frustrated and you continue to work on your game.
- What programming language should you prefer?
This is the second most common question which could go through your mind. But to be honest we don’t like this question because it is a question we cannot answer. A possible and sensible answer to the question would be with “whatever language you feel the most comfortable with”. We don’t think this answers people’s questions effectively because we feel people are looking for a definite answer or they are just starting out and do not feel comfortable with any language. We at Tech Busters though, will try to elaborate this answer to maybe help you understand how to choose a language that is best for you.
If you are looking for advice on what programming language to start with, you don’t need to concern yourself with “Will Flash run on iOS” or “Does Xbox run Java” . Your foreseeable end game at the starting point is realizing a game, not releasing it or selling it. These questions are important when worrying about shipping a game, but shipping a game is way easier than realizing a game. You can worry about shipping your game later.
Find a language that clicks with you and start coding. In the beginning it is important to have as much instant gratification as possible. You want to be able to get something on the screen quick and build from there. You want to be able to edit what you create and add on to it easily. Instant gratification is key to staying motivated when starting out, you probably don’t want to be learning a new language while making your game. If you try to learn a new language while creating your game, chances are you will spend weeks reading and have nothing to show for it except knowledge that you have not yet been able to apply to your game. That can be pretty discouraging.
Stick to what you know, or go the easiest most comfortable route possible to acquiring skills to start work on your game. So if you know a little Flash, use Flash, if you use C++, use C++, if you only use Java, then use Java. There is no such thing as “the official game development language”. ALWAYS remember that. Minecraft is written in Java, Super Meat Boy is written in C++, Farmville is written in Flash, some other game people play is written in HTML 5, some other game people play was made on Index cards. The point is: It doesn’t matter. Find a way you can make your game comfortably, and make it with that.
However, once you get the ball rolling, you will want to reach out of your comfort zone and learn new things if you want to grow as a game developer. Worry about growing later, in the meantime get your base established and start coding.
If you don't know any languge and are looking for a place to start, We would recommend Flash, Game Maker, Unity or something similar. All those programs make it very easy to get something on the screen quickly and with a very small learning curve. You don't want to start out with something like C++ if you have no experience with any other programming language and are anxious to start creating your game.
- What books or tutorials should you prefer?
There are two books that we would recommend but they are only for C++ development and they are not beginner books at all. They are Effective C++ and More Effective C++. These are more advanced C++ books so if you don’t know C++, do not be like “Oh I need those to make games”. You don’t.
Other than those two, we haven’t read any other books. The way we learn is by reading SDK documentation. It’s not very typical, but that's how we learn.
We do recommend going on line and looking up tutorials for things. The internet is full of example programs, tutorials . There are no tutorials that we recommend, mainly because we haven’t gone through any but we do know the resources online are abundant and varying.
We DO NOT recommend copying and pasting from tutorials to make your game. You aren’t learning anything that way, you are just copying. That goes double for open source programs. They are fine to look at, study, and reference, but they are not a means of making the game for you. You will not become a good and effective programmer by copying and pasting source code into your game unless you fully understand it. Do not cheat yourself this way, take the extra time and understand something before you use it.
- What software should you use to create the game?
We feel when this question is asked, its being asked by people that assume there is a magical tool that makes games for you. Fact of the matter is there are tools that do a bunch of the engine stuff for you. If you aren’t interested in learning a programming language for the purposes of building a game engine look at something like Unity or UDK. There is a cost to this though. You are limited by the
system presented to you with those tools. These tools are full of features that are well built, stable, and amazing, but sometimes they will not do what you want.We tried to use Visual Studio for development, but we could just as easily use Eclipse, Code Warrior, XCode, or Notepad and a compiler. Just like selecting a programming language, it doesn’t matter what you use.
For art and animation, you can use Flash.
- How do you stay motivated to finish what you start?
When you believe in and love what you are working on, it is difficult to stop working on it.
You obsess over it, you want to add to it, you want to make it better, and you really want to see it completed. Believing in what you are working on tends to shine through in the finished game. You are more likely to spend more time on extra polish, add features you think make the game better, just generally go above and beyond and really make the game yours.
- How can you get your game on Steam/Xbox/PS3/WiiU/Anything else?
It’s very simple to be approved for any of these platforms: all you need is a good game. That’s it. It’s a harsh reality that some people refuse to believe. A good game will gain attention and serious consideration from platform holders based on its own merits with a little help from you. Talk about your game, be excited about it and if your game is good and other people like it your enthusiasm will spread to others.
If your game is not good, you are going to have a very rough time getting it on distribution platforms. Focus on making your game the best it can be, don’t focus on what platforms you can get it on. A good game sells itself way more than exposure on a platform will ever do.
- What if you finish my game and no one wants it?
If you work hard, and you think your game is the best thing ever and you still can’t get on any distribution platform don’t take that as a failure and a sign that you should stop making video games. Very few people hit a home run with their first game. People might think your baby is ugly...that's fine though. Keep making games. Be inspired by setbacks and one day if you have the strength to push through it, chances are you will realize your dream.
- Conclusion
Just make your game with whatever you can, start small and worry about other things later. Programming languages and software are irrelevant to creating a game so choose what you are comfortable with or what you want to learn but don't take on too much when starting out. Make sure you make enough progress to stay motivated and keep frustration at a minimum. Love your game, talk about it, obsess over it and it'll be hard not to work on it.
And there you go, we have just busted a few myths about making games!!!!!!!
Cortesy: Mr.Tommy Refenes BLOG