does anyone have any advice for absolute beginners on this? it sounds a little bit intimidating, will it be c++ and an api on top? will you have to have prior knowledge of many many things beginners dont quite have yet? are their any guides?
Am i ready or am i just going to download something really simple to fiddle with?
Is operation flashpoint the original one open source? how do i find out? (i kicked so much ass on the first one, i could take out an army single handedly, i bet my general-ing skills carry on to real life; just give me an small army and i will get you a banana republic somewhere)
There are a lot of beginner projects in open sources. The overall project might seem really advanced but I would still recommend finding one you like (Even if you dont understand all of it) then contact the dev team and ask them what type of projects a beginner could do in it. Usually they are very welcoming to beginners and will help you find something to do it them. Then eventually you will start gaining the skills to work on the more advanced things in the project.
Generally the dev team is the people who call the shots. They manage all parts of the project. Usually in opensource projects they are the original members that decide how the projects evolves and what features, art, ect gets in the program.
But every project's dev team (Development Team) differs. Some teams involves the lead's of each department, like lead artist, lead programmer, lead game designer, ect. While other teams include everyone that is working on the project.
So what it boils down to is they are the owns that are organizing all the different people working on the project and getting them to work together.
Game engine development is never easy. Even the simpler engines are quite complex. Game engines usually have documentation which lists each structure and describes how each structure is used. I would find a game engine that is simple enough to comprehend and then use the documentation to figure out how it works.
I wouldn't bug the developers over trivial questions like: "Why is this class deriving from that class?" They'll only point you towards the engine documentation.
As for gaining experience, I wouldn't actually build an engine, rather, I would learn the concepts used in engine development. Once you know these concepts, you'll understand why those concepts are used.
Furthermore, all software originates around a design. If you don't know how an engine connects together, you're going to be spinning your wheels until you lose all hope in programming (I've been there). Start out with a simple design that introduces each element of the engine such as animation manager goes here, I/O control goes there, etcetera. Once that's done, begin to expand on each element which will describe how the elements are linked together. If you're not sure about your design or the way you've linked to elements, ask a question.
I don't doubt for a second that one's first engine will fail catastrophically, but you'll learn what made it fail initially. Don't be afraid to tackle intimidating projects as this is how we learn and overcome our fears of working on large projects. Take one small step, steady your self, familiar yourself with what you're doing and what has to be done, do what needs to be done, then take another step.