Hello, so I'm currently a software engineering student and was hoping someone could offer some advice on getting involved in an open source game project, or at least help figure out what I'll need to learn before I get involved. I think I have a pretty solid background in Java and C++ and OOP, but I'd really like to find a project to work on to use my skills because I think it would be great experience. I also have some experience with Android application development and Unity, primarily writing scripts, part that sucks is finding decent assets to work with and the fact that a lot of it is done for you.
Sorry if this is too vague of a question, I'm open to any criticisms, but anyone have any suggestions on where to go from here in order to get involved with one of these projects? It seems like they all have different expectations, and I don't have all that much like hands-on experience.
Where to begin?
Too bad you didn't ask this a few days ago or you could have tried to hook up with a group at Global Game Jam.
You may want to google around for jams or similarly structured competitions.
I found this in the first few results from "game jam":
There are ten kinds of people in this world: those who understand binary and those who don't.
You can check the Classifieds -> Hobbyist Projects here at GameDev. You might find a team that wants a junior programmer.
You're probably better off on your own though. Lots of times there's the "idea guy" who says he needs programmers and artists. He has the next Big Idea TM that's going to make tons of money after you and the artist do all the work for free of course. Point is, there's not much to learn from in an environment like that.
If you decide to go your own route, start with small projects and work your way up. Here's a great article telling you which games you should build first and why:
http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976
Since you're learning C++, you might try the Unreal Engine. Or if you want to start learning C#, you could stick with Unity.
- Eck
EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG
Never heard of those Gamejams before, that's really cool. I think once I'm more experienced it will definitely be something worth looking into.
Eck, that article is excellent advice, thanks! That's just what I was looking for. Just trying to find something to work on, and that is a great starting point. If I would have found that article first I probably wouldn't have made this post, so I apologize for that.
Open source projects mostly live in github, bit-bucket, and other project hosting sites. (Learn to use a version control system!) Another way is to through a search engine.
Find a topic that you like, eg "city simulation", or "rpg", or "turn based strategy", or "fps", or any other topic. Look for open source projects (you should find several, in general), download the code, try to run it, perhaps browse the code somewhat, or browse their open bugs. Browse the commit history. Find an irc channel or a forum, and start reading&writing.
If it all feels nice and interesting, try to fix a bug, or add a small feature. Pretty much all of them can always use someone looking at the code and investigating bugs or adding new features. If you want to learn coding, try to find a project that does code reviewing. Someone else will read your suggested change or fix, and give you feedback. It's very confronting at first, your code getting critized in public, but you learn a lot!
In my experience, the feedback always improves the result, even if you don't see it at the time.