A group of friends and I would like to start developing a small indie game for fun. It's something to do over a period of time as a hobby. We're in school, so it's not like we can go to a college or anything, we'd mainly learn off books. I have some VERY BASIC experience in the field of programming. I've been focusing on C++ for quite some time (about 5 months), and am thinking of building a game around the C++ language. My colleagues have no experience whatsoever, and am wondering what you readers believe would be a good place to start. So, my question would be: What are we expecting to create within the next 2 years? (will we get anywhere?) Should we use C++, or a more basic language such as Java (I don't know much about Java but have read it is simpler than C++). Hope we can get somewhere with this and you don't hammer me too hard for asking probably a dumb question to most of you. -Thanks in advance, Aresous. - Thank you for your answers. Helped me out quite a bit and answered my questions. Sorry for not making it too straight forward. I had the feeling the question wasn't really for the site, I just wanted to make sure I was getting information from more experience game developers.
I'd suggest using C# in conjunction with XNA, because in my experience, C# is a better programming language to start off with when you're making a game, because its syntax is kind of more straightforward, and it is a lot like Java, so if you ever want to switch from one to another, it's easy enough, somewhat easier than switching from C++. Also there are tons of XNA tutorials out there, for example Microsoft's official tutorial site.
As for the game part, you and your team should create a Game Design Document, which is like a super detailed description of your game. It should cover not only every basic mechanic and rule of your game, but also describe the expected behavior of every game object. Not only it helps to communicate how the game works (any part of it) to your teammates and potential distributors, but it also allows you to keep everything on paper instead of holding the whole concept in your head. And in the end programming language is a way to describe how things work with basic terms, and so is the Design Document — it's very easy to translate it to code after it's written.
If you're really serious about making a game, decide which platform you're targeting, since it may greatly affect the way it looks and is controlled.
I guess it doesn't necessarily apply to every beginner indie team out there, but I'd say in two years you may very well have a finished game to show off. Most indie teams these days are created in hopes of releasing an ok product that maybe some bigger studio will notice or think of as a good enough excuse to let them in and teach some more about gamedev.
But more ambitious and talented people end up making a great game that everybody loves and buys, so they earn more than enough money to get by, and you probably have heard of them already.
Take your time to decide if you're going to dedicate the next five years to making great games and becoming a popular game studio, or maybe it's just your hobby that you're not willing to turn into your lifetime career.