by drummyfish » 16 Nov 2019, 16:58
i used to contribute to OpenMW -- it was my first and one of the most valuable experiences regarding contributions. I've mostly written graphics code like water shaders, weather effects, but also fixed bugs and implemented minor features in other areas, and later also created extra features like 360 degree screenshots. At the time I started I was a complete noob with git, version control and big codebases, but there was this great maintainer -- I think he called himself scrawl -- who had patience with me, gave me great tips and feedback, encouraged me and let me learn everything, and I am very grateful to him for that. Sadly after MS acquired GitHub there was this big debate on the forums about whether the project should move and about the overall philosophy, and he left the project after that (even though OpenMW actually moved to GitLab eventually). I have also left later because of a few things (e.g. I started to hate C++, OpenMW requires proprietary data etc.), but it was really the best experience I could wish for.
Aside from this I made some minor contributions to things like OpenRW, maybe even 0 A.D. (can't recall now if they merged my stuff).
I also tried, with a few guys, to start a similar engine reimplementation for the game Mafia, called OpenMF, and we actually got some stuff working, rendering and colliding, and the project was also trending on GH for a while. There I tried to be the project leader for a while, and I think I did some things right, but I still lacked a lot of experience, the nerves, and it's an incredibly difficult position overall -- I wouldn't want to be a leader again. The project also died later, but it was another good experience.
I think everyone should try this, you simply learn so much. I am only working on my own small stuff now because I have adopted a different philosophy and have different goals, and it's actually to a great extent thanks to all I've learned in he big projects.