Hullo! Longtime Freespace SCP fan here.
Good. Good. That is the only type of coder we accept.
A little bit of crazy may also be needed.
I'm developing an interest in programming and have begun learning C++. I'm under the impression that FSO uses Lua but my understanding is that C++ is similar?
FreeSpace 2 Open is written in C with classes. There are parts that are actually C++ but that is mostly new code only, and is the direction that we (seemingly) are going.
The Lua language is similar to C++ in respect to syntax and form, but its use in FSO is much different. The C/C++ is the core part of the engine, which calls out to Lua code snippets to implement the behaviour. For more one what Lua scripting is able to do, see the
output of -output_scripting. For some of the things that have been implemented using Lua take a look at some of the stuff that
Nuke or
Wanderer have posted.
Anyway, I'm just wondering if anyone could throw me a tip on how I could get to a point where I can eventually work on the source code myself?
See the sticky at the top of this forum for information on Subversion (the software that we store our code in) and how to get a copy of the code. Keep in mind that the FS2Open source code is generally a good example of how not to program but nevertheless it is a working (and old) code base that belongs to former commercial game engine (which are notorious for their bad code). Also see my response to the next question.
How did you guys learn to do what you do??
I learned to program C/C++ in College, but that is entirely different than what you see in the actual engine source code. To get to the point of having patches in the engine, I started going though Mantis (a bug tracker) and found a bug that looked like it could be interesting and tried implement a fix for the problem. Some I couldn't figure out, some that I couldn't be bothered to figure out, and yet others that I have had committed to the repository.
If you have any questions for the SCP you can either post them in this forum (or thread if you want to keep them consolidated) or you could visit us on the SCP IRC channel #SCP on irc.epser.net.