Page 1 of 2

How can I contribute as a programmer?

Posted: Sun Sep 25, 2016 2:16 am
by Onesimus
IBM Midrange is my primary skill set, but I have written professionally in C#, and I know java, and swing.

Can I get involved? (Surely there is some area where I can contribute)

Re: How can I contribute as a programmer?

Posted: Sun Sep 25, 2016 2:41 pm
by Vezzra
It's an open source project, of course you can get involved! :D

Here are some links which you should read before starting contributing:
A good starting point is our issue tracker. There you can find bugs that need to be fixed, feature request etc. Pick something simple to start with and get acquainted with FOs code base and provide your patch via a PR. Feature requests, ideas etc. might require a design discussion on this forum first, so starting with simple bugfixes is probably the best idea. Eventually someone will review your patch and probably request some changes. Stay responsive so we can discuss the suggested changes with you. Apply the changes, and if the patch finally meets approvement, it will get merged.

Lather, rinse, repeat.

And, of course, feel free to ask questions. Be patient, it might take some time to grow into the project. If you're persistent enough and stay with us, you'll gradually become one of us... ;)

Re: How can I contribute as a programmer?

Posted: Sun Sep 25, 2016 6:44 pm
by Onesimus
Thanks! I will read the material at the links you gave and follow up there.

Re: How can I contribute as a programmer?

Posted: Tue Apr 18, 2017 2:13 am
by Voyager
This is awesome, I hope I can contribute when I learn programming to make this the best game ever! :)

Re: How can I contribute as a programmer?

Posted: Tue Apr 18, 2017 7:19 am
by adrian_broher
Onesimus wrote:but I have written professionally in C#, and I know java, and swing.
My sincerest condolences.
Surely there is some area where I can contribute
On top to all the things Vezzra already mentioned you're probably best of by starting to scratch your own itch. Do you have a feature you would like see in-game or a certain bug squashed? That's probably the best starting point to get into development for motivation reasons alone. The CONTRIBUTING.md document just very briefly covers how contributions should be delivered to the project to be successfully integrated.

Re: How can I contribute as a programmer?

Posted: Tue Apr 18, 2017 7:22 am
by adrian_broher
Voyager wrote:This is awesome, I hope I can contribute when I learn programming to make this the best game ever! :)
You can start right now with contributions in other fields if you want to. The majority of contributors can already program but we're lacking people in other fields like translations, testing or graphics.

Re: How can I contribute as a programmer?

Posted: Tue Apr 18, 2017 12:52 pm
by MatGB
adrian_broher wrote:
Voyager wrote:This is awesome, I hope I can contribute when I learn programming to make this the best game ever! :)
You can start right now with contributions in other fields if you want to. The majority of contributors can already program but we're lacking people in other fields like translations, testing or graphics.
Plus the content scripting files are deliberately in a very simple to understand bespoke language so that people new to coding can make changes and contribute, creating a new species, ship part, building etc are all good ways to get your head around the project and there are plenty of things we could do with: damage control parts for ships being a popular one.

However, testing the most recent Release Candidate and possibly helping squash any bugs found is the current top priority.

Re: How can I contribute as a programmer?

Posted: Tue Apr 18, 2017 11:10 pm
by Voyager
What is the programming language used for FreeOrion so I can start focusing on that one?

Re: How can I contribute as a programmer?

Posted: Wed Apr 19, 2017 12:50 am
by MatGB
There are three, C++ is the main backend one, Python is used for the AI and Galaxy generation stuff, and FOCS is the simple one made up for the project: if it wasn't for the simplicity of FOCS I wouldn't be here, I basically started by changing the costs of various ships to make the game more balanced, with some copy/paste code snippets to improve a few other factors.

The Wiki has a page about how Effects are written in FOCS here: Effects - FreeOrionWiki

but generally I recommend going into the install folder of your game and finding the 'default' folder, inside that there's 'scripting' with a fairly well laid out directory structure, look at the scripts for your favourite in game things and see how they're written, then create your own.

It's slightly easier to copy the contents of 'default' somewhere else, in game there's a Directories tab in Options, point it at where you've copied your folder and your first changes will be playable. If you get the hang of basic changes, then it's time to learn Git and Github: that's a very transferable skill.

Re: How can I contribute as a programmer?

Posted: Wed Apr 19, 2017 7:31 am
by Oberlus
Hey, that's useful. I had seen all those focs files and didn't know what language was it. I'm already reading the FOCS specification.

Re: How can I contribute as a programmer?

Posted: Mon Apr 24, 2017 8:07 pm
by mem359
Onesimus wrote:Can I get involved? (Surely there is some area where I can contribute)
If you are planning on editing the source code at some point, get acquainted with GitHub.
(If you are already comfortable with it, that puts you ahead of me. :mrgreen: )

MatGB has suggested in another thread:
We do need to have a "how to use git to test stuff" set of instructions for tester/low level scripters/players and I've been meaning to writ it up for ages, perhaps if you get this going OK you could help with it? Experienced coders need to learn Git proper, you and I don't really, but being able to test a PR that just changes scripts is very useful.
As someone else who is still learning about the FO code and GitHub, keep a record of any tips that you think would be helpful to pass on to the next poor victim volunteer. At some point we'll probably start a forum thread.

(There is already a forum thread from when the experienced programmers migrated to GitHub "GitHub migration procedure", but this one would be aimed for inexperienced/new contributors.)

Re: How can I contribute as a programmer?

Posted: Fri Apr 28, 2017 1:18 am
by defaultuser
Which development environments are people using on Windows? Do you have Visual Studio solutions as part of the codebase?

Re: How can I contribute as a programmer?

Posted: Fri Apr 28, 2017 4:36 am
by dbenage-cx
Not normally on windows (not had the opportunity since SDK rework), but the MSVC 2015 solution is in msvc2015/.

Re: How can I contribute as a programmer?

Posted: Fri Apr 28, 2017 5:47 am
by defaultuser
What are developers using for the most part?

Re: How can I contribute as a programmer?

Posted: Fri Apr 28, 2017 7:58 am
by Geoff the Medio
defaultuser wrote:What are developers using for the most part?
Me: Visual Studio, Komodo Edit, TortoiseGit.