Desire to Learn Coding to Help

Join the team. This area is for people who want to participate in OpenMW's development in one way or another.
Post Reply
NekoSan
Posts: 3
Joined: 04 Aug 2018, 01:37

Desire to Learn Coding to Help

Post by NekoSan »

Hi,

I want to learn how to program so that I can help with the project but I don't know where to start.

I know a little bit of C# but I've never made an application before.
I'd appreciate it if someone can point me in the right direction?
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: Desire to Learn Coding to Help

Post by raevol »

Jumping into the OpenMW codebase is going to be pretty discouraging if you're just starting as a programmer. It's a game engine, and written in C++, and each of those things individually are already close to the most difficult things in their field.

If you want to get into game programming, my personal suggestion is to make it your goal to rewrite tetris in python. This will teach you all the basics you need to understand programming and game engine design. Once you've done that, then you can start tackling C++ and 3d programming.

I know it may be discouraging to hear "go do something else first", and feel free to strike out on your own path if you feel you can handle it, but that is my advice from my own experience. I have experience with C++ and with game engine programming, and even I have not cut my teeth on OpenMW's code yet, because I'm just not up to the challenge. I still have a lot to learn.
unelsson
Posts: 227
Joined: 17 Mar 2018, 14:57

Re: Desire to Learn Coding to Help

Post by unelsson »

I was encouraged by Zini to just bash straight into OpenMW, by taking a small "beginner" task first, to get better in C++ and just to have a startpoint in OpenMW. Before I took any task, I tried to make small changes to the code here and there, doing tests in private builds before taking part in the real project. Tasks have become increasingly challenging since then, and my coding skills are way better than in the beginning. I've had to go through a lot of C++ coding references, googling and reading coding articles, and finally ask a thousand silly questions from experienced OpenMW coders. I also feel I've contributed something useful to the project, but my code always needs fixing, and requires effort from other people, and I guess there is a line between "being useful while being counseled" and "slowing down the project because you need so much help". I do trust though that project managers can also choose not to counsel if they feel it's not worth the effort, and therefore I feel it's my responsibility to try to make counseling as easy as possible while doing the best I can in regards to coding.

I'd advise to get straight into C++, if that is the language you want to learn. Go through C++ tutorials, read OpenMW developer reference, read about "rule of three" (maybe related stuff like rule of zero too) and C++ memory management, and try to see how these have been implemented in OpenMW. Try to make a small change to OpenMW's code in your private builds. And listen to the people here who know more than me. 😅
scout07
Posts: 1
Joined: 04 Apr 2019, 20:18

Re: Desire to Learn Coding to Help

Post by scout07 »

You can start with Python as it is very easy to understand and learn. It is widely used over cross platforms and is pretty powerful with its well known Django framework. You can also try PHP as most of the servers websites are running it. You don't want to learn each and everything rather focus on the platform you want whether its for Mobile app development, Web development, OS. etc.
Post Reply