So, you've always had a passion for games. Now you have a few CS or art classes under your belt and you're serious about getting into the indie game development scene. But what's the next step? Allow me to recommend a game jam.
What's a Game Jam? Every jam is a little different, but in general, it's an opportunity for a diverse set of game developers to come together in one place and make game prototypes during a 24-48 hour time window. Most jams cater to all skill levels. In most cases, teams of 4-6 members are randomly chosen at the start of the jam in a way that insures that each team has at least one experienced programmer and one artist.
In most cases, you can choose the development environment you want to work with (Flash, C#, Unity, C++, Java,...) and game ideas are constrained by a theme that's usually announced the day of the competition to prevent participants from planning too much in advance. While some jams will give awards for the favorite games, you shouldn't think of a jam as a competition. It's an environment where everyone wants everyone else to succeed.
In short, if you want to participate, there's no need to do any advance planning. In fact, it's discouraged. Just show up with a computer and get ready to have some fun.
Can you really build a game in 24-48 hours? There are dozens of game jams every year, collectively producing thousands of prototypes. If you get a motivated team, you'd be shocked at what you can do in such a short time. Here are a couple example games I worked on during the 2009 and 2010 Global Game Jams.
M.O.N.K. (Multiplicitous Observable Navigational Killerator) is a 2-person 1-keyboard Flash game made at the 2010 Global Game Jam.
Coopetition is a fully 3D game with dynamic lighting and shadows built in C# and XNA for the 2009 Global Game Jam.
With such strict time constraints, there may be times when a game engine just doesn't come together during the alloted time. But of the ~20 teams that I've seen in the past, everyone always at least had something to show at the end of the weekend. And if you do fail, it can still be a valuable learning experience. It's far better to learn a harsh lesson about team dynamics or game engine construction during a 48-hour jam than it is to learn the same tragic lesson after six months of development.
Where do I sign up? There are several game jams that are just around the corner.
If you know of others, drop me a line and I'll add them to the list.