How can I contribute as a programmer?

Discussion about the project in general, organization, website, or any other details that aren't directly about the game.
Message
Author
Onesimus
Krill Swarm
Posts: 10
Joined: Sat Sep 24, 2016 9:58 pm

How can I contribute as a programmer?

#1 Post 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)

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: How can I contribute as a programmer?

#2 Post 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... ;)

Onesimus
Krill Swarm
Posts: 10
Joined: Sat Sep 24, 2016 9:58 pm

Re: How can I contribute as a programmer?

#3 Post by Onesimus »

Thanks! I will read the material at the links you gave and follow up there.

Voyager
Space Krill
Posts: 4
Joined: Sun Apr 16, 2017 4:29 pm

Re: How can I contribute as a programmer?

#4 Post by Voyager »

This is awesome, I hope I can contribute when I learn programming to make this the best game ever! :)

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: How can I contribute as a programmer?

#5 Post 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.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: How can I contribute as a programmer?

#6 Post 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.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: How can I contribute as a programmer?

#7 Post 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.
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Voyager
Space Krill
Posts: 4
Joined: Sun Apr 16, 2017 4:29 pm

Re: How can I contribute as a programmer?

#8 Post by Voyager »

What is the programming language used for FreeOrion so I can start focusing on that one?

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: How can I contribute as a programmer?

#9 Post 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.
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

User avatar
Oberlus
Cosmic Dragon
Posts: 5713
Joined: Mon Apr 10, 2017 4:25 pm

Re: How can I contribute as a programmer?

#10 Post 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.

User avatar
mem359
Dyson Forest
Posts: 214
Joined: Sun Jun 08, 2014 1:18 am

Re: How can I contribute as a programmer?

#11 Post 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.)

defaultuser
Juggernaut
Posts: 854
Joined: Wed Aug 26, 2015 6:15 pm

Re: How can I contribute as a programmer?

#12 Post by defaultuser »

Which development environments are people using on Windows? Do you have Visual Studio solutions as part of the codebase?

dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Re: How can I contribute as a programmer?

#13 Post by dbenage-cx »

Not normally on windows (not had the opportunity since SDK rework), but the MSVC 2015 solution is in msvc2015/.

defaultuser
Juggernaut
Posts: 854
Joined: Wed Aug 26, 2015 6:15 pm

Re: How can I contribute as a programmer?

#14 Post by defaultuser »

What are developers using for the most part?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: How can I contribute as a programmer?

#15 Post by Geoff the Medio »

defaultuser wrote:What are developers using for the most part?
Me: Visual Studio, Komodo Edit, TortoiseGit.

Post Reply