What is the best way to start from nothing when building your own game? What programming languages do you need to learn, and which platform would it be best to start on?
closed as not constructive by Tetrad♦ Oct 22 '11 at 0:14
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
I would suggest using XNA.
C# is awesome language.
Visual Studio is probably the best IDE. The free version Visual Studio Express is pretty decent too.
XNA wraps all the low level 'dirty' calls with DirectX or OpenGL into awesome classes etc. So it is much easier to understand. Even if you are planning to learn game dev with C++ or something else. I suggest learning XNA or the first few days because of this DirectX/OpenGL abstraction. And then go to C++ and you will be able to understand it easier.
XNA is a very powerful framework. Is used mainly by game dev enthusiasts for indie game development etc. There is plenty games built with XNA out there.
With XNA you can develop games for Windows, Xbox360 and for upcoming Windows Phone 7 at once! All you would need to do is write few additional conditional lines of code for each device. For example:
Unity3D: great architecture, lots of good community support. run it with visual studio and you've got a great, easy to use system, for hitting the ground running.
Just do stuff. don't spend too much time reading, experience trumps everything. Find tutorials where you do stuff and do it. Also, if you get stuck, move on. Just goof around with something else for a while.
Try to reflect on everything you did, and get a big picture grasp of the architecture. If you can't do what was done in a tutorial without watching it, you didn't learn it.
Finally, don't start with writing a big game. You'll hit roadblocks. break everything down to the simplest thing possible and sandbox that.
Sorry for the vague BS, but let me say this again: do something, and be persistent.
Depends on your goal. Are you more interested in programming, art, or design? If all you want to do is make a playable game, take a stack of index cards and make something that you can play on a tabletop, and save yourself years of time that you no longer need to spend learning programming. Seriously, I think physical board and card games are the best place to start if you want to be a game designer, and once you're comfortable with that, THEN you can go back and learn the programming parts if you want.
To start from nothing, from absolute zero to programming games. Good question.
First, disregard your other question, it's irrelevant. The question which language you need to learn and which platform would be best to start on depends entirely on you. Start with a language that makes it easy to learn, definitely don't try C++ as your first language unless you're a programming demigod but just don't know it yet. Highly unlikely.
C++ is the most ugly language to start learning, even though anyone would correctly point out that it's the most widely used language in the game industry - so why not start with that? For exactly the reason that you're not working in the game industry yet. Make it easy on yourself, stay motivated by learning a language that's easy on you.
Instead try a couple beginner's languages and stick with the one you can get the most out of. Look for all-in-one solutions like Game Maker first, where you can transition from icon-based scripting to text-based scripting but you also learn how everything else, sprites, animations, sound, levels, etc fit together.
It's also important to choose a community where you have people who are beginners just like you. In the Game Maker forum for example, you get help for the simplest of questions, besides being provided with great tutorials and a lot of example games.
As for platform, pick the one you use. If you play a lot of Xbox360 you should be familiar with Xbox Live Indie Games, so consider XNA. If you own an iPod Touch or iPhone or Android, maybe try your luck with the Lua-based engine Corona Game Edition. If you prefer PC/Mac pick any of the available game-making programs (like Game Maker) or SDKs that you like. Wikipedia offers a good starting point for your research on video game creation software.
As a general rule of thumb: start simple. Forget whatever idea you have in mind for the game you want to create. Keep that fresh for a later time when you have more experience. Instead start by making clones of classic games like Tetris, Asteroids, Pac-Man, Boulder Dash. Those will keep you occupied for a long time and will help you think like a programmer by analyzing how things work in the original game and discussing possible approaches with peers.
Another advice: to improve your programming skills, work with and talk to people who are just beyond your current skillset. You may often feel like the 5th wheel but you'll gain a lot of traction.
You can pretty much start with any language you want. I'd recommend Java or C++ (just because those are the only ones I've learned). You'll need an IDE (integrated development environment), which includes the editor, compiler, linker, etc. all in one package.
I'd recommend starting on Windows, but if you're experienced with Linux, why not start with that.
If you've never programmed before, try not to get too excited about making graphical games from the get go or you will become disillusioned once you start learning a programming language. There's so much to learn about a language and learning how to use it. You'll begin in a console environment which just means making programs that include only text. No graphics (except ASCII drawings).
Btw, really ask yourself what part of game development you're interested in. I've seen so many people who want to get into game development ask this questions and they think programming is the way to start out but most end up wanting only to do art, sound, or design. Most seem to begin programming only to find out soon that they loathe it.
But if you think it's your thing, I wish you luck and hope you hang in for the long run.