Pressed for time, but hopefully I can give succinct answers that are helpful.
Is it perfectly viable for somebody studying Software Development in college to eventually go into the games industry?
If you're going to be an indie, your degree is irrelevant. If you're going into AAA, it's kind of an "act of god" situation to get into there, anyhow. The best way to get into AAA seems
to be to start as an indie and finish some project, and then get some attention that way. Or you could try to get hired as a heads-down programmer (aka, no design input) at one of those places directly, but I have no idea how that works. It never appealed to me, as I think AAA game development is largely a frightening prospect and I'd rather go back to business software than doing that.
I'm studying Software Development (I'm actually in my third year) and although I do enjoy what I'm doing sometimes I feel very disinterested with the thought of eventually making software for insurance companies or claims companies. It just doesn't feel like me.
I know how you feel, but I also think you could be surprised. I did it for 8 years, and the thing is that software development in and of itself is rewarding if you really love it. There are interesting problems to solve, and you solve them, and in some respects that's almost like playing
a game whether you're making games or business software or what have you. In other words, software development of any sufficient complexity scratches that puzzle-solving area of our brains no matter what the actual content is.
What you really want to avoid is getting stuck in a job where the programming is really easy, entry-level stuff that never changes. That's what would suck the life out of me, at least.
There are options to move over to a specified Games Development course. I haven't though partially for reasons I'd rather not discuss and partially because I was once told by a Games developer in secondary school (they had a bunch of career people come in you could talk to) that it would be a good idea to start with Software Development and eventually branch out once you get a "safety net". (Can't remember exactly how he put it) He wasn't particularly nice if I remember right, about games development he was a bit like "Abandon all hope ye who enter here".
He was probably trying to do you a favor. The AAA industry is a frightening prospect to me and a lot of people. I mean, it really, really
sucks. It chews people up and spits them out by the time they are 30. I don't think it's a good life goal, unless you get lucky and find one of the really good AAA companies that isn't like that (and they do exist, but they are rarer). On the other hand, indie game development really rocks, if you can get it off the ground; but it puts all the burden on you and is very stressful in its own way.
I agree that having a safety net is a good idea. I learned to be a game developer in my spare time while working on a business degree and working as the head of a small business programming team. I developed my first games in my spare time over a span of 2003 to 2009, and then finally came out with my first game in 2009. I had spent 1990 through about 2000 working on mods and level design and so forth for other games, though. You have to be pretty self-motivated to make it as an indie, but if that's what you want to do then absolutely go for it.
I had actually intended to go for the Games Development course but couldn't because my Mathematics grade wasn't high enough.
I doubt mine would have been either. I've gotten a lot better at math since university.
It does often feel like all software/games developers were playing with motherboards as soon as they came out of the womb. It wasn't like that for me, through childhood/teenage years I was pretty happy but I don't think I ever really understood passion or a desire for much of anything except reading books or playing video games.
A lot of practicing software developers couldn't tell your a motherboard from a GPU, in my experience. I worked as a systems admin for a number of years, and good software developers are often frighteningly clueless about hardware, operating systems, and other things that are... you know... kind of important to the code on which they are stacking their stuff.
How do you formulate your ideas? Do they just pop up out of the blue and you start writing/typing down random bits of info and start sticking them together (and talk them through with your co-developers) or do you sit down with your co-developers for brain storming sessions. How do you know when your idea is a good one? How do you know when an idea is just better off dropped because it's going nowhere?
Those are kind of hard questions to answer, honestly. It's kind of asking "define creativity, please," and I'm not sure anyone has ever managed that, ever, in the history of mankind. That sounds flippant, but I don't mean it that way. I remember asking my mom "how do people invent stuff?" when I was a kid, and she had no idea what to tell me. And pretty much every creative professional (novelist, cartoonist, etc) that I've ever read has complained about the "where do you get your ideas/inspiration" question. Because there's just no good way to answer it that anybody can figure out.
But I'll give it a shot, at least:
1. There's always lots of ideas floating around in my head. Some just pop in there. Most are born out of seeing some other game and what it does almost
right. Quite often I read a description about a game, think it sounds awesome, play it, and am disappointed to find out it was not what I thought. So I earmark the "what I thought this was going to be" idea as a possible future idea.
2. At any given time, some ideas seem more attractive than others. Don't ask me why. It's just mood, what you've been working on lately, what seems easy versus hard, what is most concretely defined in your head at the time. A vague idea that seems awesome usually turns out to look pretty generic when you get right down to it. A specific idea usually doesn't encompass a whole game, but it's a solid starting point for something that can become fun.
3. Games always suck at first. Always
. They are not fun, not even a little bit, until at least 40% of the way through the project. This is why nobody lets you play 40% finished projects. It's also why most people say "start with the gameplay." And most of the time they are right. With AVWW we started with the worldbuilding and art, because that was what was more unique and challenging, and the gameplay was so heavily dependent on that. That's not something to emulate unless you've already done a few games, though. And you may recall it was rough going to a while there with AVWW for us at the start of beta, because we'd built an awesome engine but our gameplay simply wasn't fun enough yet.
4. One great idea isn't good enough. A great game (or novel, or movie, etc) is the intersection of multiple great ideas. Look at your favorite games and think about the individual components that were great on their own, and how they combined to make something even greater for the final product, and you'll see what I mean.
5. Deconstruct games as you play them. Good/great games in particular. Think about why the designers did it the way they did. There's always a reason. Or, with bad games, look at them and think about why they don't
work. That's helpful too, and usually doesn't take as long. Read Gamasutra and similar sites for lots of postmortems on games and other things of that nature. Playing a lot of games is one thing, but the critical thinking about them is the point where you really can become a designer.
6. Your best ideas won't come until partway into the project, unless the project is really simple. If it's that original idea, you won't be able to think of it in advance, unless you're way smarter than myself and most game designers. Start with something that is unique, sure, but in the process of fixing all the problems with that first idea (which there will be plenty of), at some point you hope to strike conceptual gold. With AI War, the whole concept of how the AI worked and the AIP and the asymmetrical nature of the AI didn't occur to me until 4+ months into the project. But I had solid RTS mechanics before that, and had prototyped a number of interesting ideas.
7. You might not recognize your best ideas, so be sure to recognize that. I had thought that AI Progress was kind of a hackish okay mechanic, nothing that revolutionary. Then the press got a hold of it and hailed it as the next big thing in RTS games, and loved how bold and new it was, etc. Color me surprised, it wasn't a part of the game I'd been focused on as being exceptional before that.
How do you decide what tools and development environments you will use? I'm working on a project in college with someone at the moment and this was something we really struggled with. (and arguably are still struggling with somewhat) The visual and idea research we did really well (according to our supervisor) but then when asked about tools, languages, IDEs it all became very vague and we had trouble deciding on much of anything aside from really basic things.
Go with a tool that doesn't let you shoot yourself in the foot easily. In other words, a strongly typed language. Go with a language that runs as fast as possible for your purposes (aka, JIT compiled is a good idea compared to scripting), but at the same time that isn't a chore to work in constantly (aka, C++ takes a bloody long time to do anything in). I think that C# is wonderful, but Java is also pretty good and there are a lot of other options as well. Even objective C meets most of the goals.
For an IDE, make sure you're comfortable with it and that it's helping you rather than getting in your way. Intellisense isn't just for noobs, it makes you type faster and more correctly.
How did you get together with whoever you're working with now. How do you make contacts? (another person, a team etc) Were you hired by the group/company or did you meet someone by chance or did you email some guy and say "hey let's make a game!" Did you show them a 100 page document detailing your ideas and why you think you should join forces and make epic games. Did you lock them in your basement? (ok not that last one)
I did everything alone for the first 6 years. Then when I had a mostly completed game, I asked my sister if she knew any good composers (since she was studying music at the time). She introduced me to Pablo, and he turned out to be amazing. Lucky me, but not particularly anything that I did special. Just luck.
The others on the staff I met through the course of my work, after AI War 1.0 was already out and growing in popularity. Keith and Josh were both fans I hired from the forums. Erik was a journalist who interviewed me and we later got talking about PR. Lars was actually another game designer that I knew back in the 1999-2002 period when we were both designing levels and content for other games. When I went indie, I wanted to make a game with him, as we'd been friends for years (though we'd never met).
My process is not one that can easily be emulated, though, as it involved a lot of the right people falling into my lap. I kept my eyes open, at any rate, after I'd already made a success out of myself as a one-man studio.
I think I just want to hear thoughts on these questions, because they're not really that clear to me.
The biggest thing to remember is that there's not one way to do it. Every indie's story is unique, just like their games. What you really have to do is look at your talents and resources, and figure out what you, personally, are capable of. Then do that thing. Then bootstrap from there to the next level, if you get success early in. There are certain kinds of games that I know I would be crap at making, even if I might enjoy playing them quite a bit, and the key thing is that I know my own strengths and weaknesses and don't try to make those games.
Hope that helps!