[Dev] Potential Starting Quests for New Developers

Quintillus

Restoring Civ3 Content
Moderator
Supporter
Joined
Mar 17, 2007
Messages
8,422
Location
Ohio
Hello New Developers! As of 2022, we now have a list of good first issues! Please feel free to ask about them in this thread, and to make a fork and start working on one. We're still building some documentation around how to get started, but the basics are:
  1. Download Godot Mono, the latest 3.x version (we're on 3.4.2 as of right now, but later ones should work as long as they're < 4.0)
  2. Make a fork of the repo. Make sure it runs in Godot. We suggest using VSCode for actual code editing, or Rider if you have a copy.
  3. You can start making improvements!
  4. Posting in the corresponding Project thread at CFC - the "Carthage" thread for issues in the "Carthage" project, for example - is also helpful for visibility.
  5. Open a pull request when you've fixed something. Smaller PRs are generally preferable to large ones - two small PRs are easier to review than one medium one - and if it's complex, a comment indicating where a reviewer should start in the code changes is helpful.

The rest of this post is its original contents:

---------------------------

A week or so ago, WildWeazel mentioned we have some potential new developers. But it's been a little bit quiet. It has occurred to me that with the state of the project in flux (e.g. we're still figuring out the architecture, the map drawing is ever-improving, the AI does not yet exist), it may be helpful to have a list of low hanging fruit that could help with learning Godot in particular, but which isn't likely to drastically change.

Spoiler Original starting quests :
So, a few thoughts on things that fall into this bucket:

- The menu in the upper-right could be implemented (using PopupOverlay.cs). Even if the only options that work initially are exiting to menu and exiting to OS, it will likely stick around a long time and is a good Godot intro.
- The Rename Unit area could be done. This would involve adding a field to units, some Godot/engine interaction (albeit only a little), and a text field, along the lines of the Build City popup (BuildCityDialog.cs). Probably a little tougher than the first pass on the menu.
- More textures could be added to the Domestic Advisor screen (DomesticAdvisor.cs), such as the beakers/commerce chest/slider icons, green background for the government type. Only the very basics are there.
- The text area for the Domestic Advisor does not yet support multiple lines. That could be sorted out.

There are probably a thousand other options as well, of all sorts of varieties. But these fall into the "break the ice with Godot" category, and have some existing similar functionality that could be used for reference.


Puppeteer/Flintlock, any good ideas for starting quests from your standpoint? I'm just starting to look seriously into the map myself, and while BIQ wrangling seems like a potential non-GUI starting quest, I haven't thought much about where to start there (e.g. which BIQ section?).
 
Last edited:
I think Quintillus, Flintlock, and myself have just been diving in and doing whatever we fancy so far to great effect and surprisingly with little or no stepping on each others' toes. I guess that doesn't scale up well with more developers, probably. WildWeasel seems to be developing a master plan as well as finding more developers, so part of me is looking to him for a greater framework while the rest of me is trying to avoid any structure.

It suddenly occurs to me—and surprises me—that Quintillus, Flintlock and I seem to be subject matter (relative) experts on Civ3 data. Quintillus made the mod-favorite mod editor and thus knows a *lot* about BIQ and the rules, and quite a few other things. Flintlock is reverse-engineering and runtime-patching the actual game executable to fix bugs and add features to the delight of many, and I seem to have mucked around in the SAV files more than anyone else who is still paying attention and might care to open-source the work. (I know plenty of folks understand more about the SAV than I do, but apparently they've moved on from Civ3 and/or don't like working/sharing code in the open.) Oh, and I wrote a bunch of code that maybe 2-3 people have ever poked at before C7.

I have no idea where the new devs are on Civ3 knowledge. I know we're all very new to Godot, and if I seem to have more answers than anyone else it's because I picked it up a few weeks or months before the others, I think a lot and have a lot of ideas, and can't shut up about them a lot of the time. I'm no expert in Godot, but I'm learning.

Sooo, I guess step one is to ask questions and/or express interest in a focus area. Actually, step 0.5 or 1.5 is getting Godot 3.4 and the C7 Prototype and poke at them and tinker.
 
I just went through the Issues, added some more labels, and added some issues based on what I've recently worked on, mainly but not exclusively refactors/improvements to the settler AI.

As part of that, we now have six "good first issue" issues. This link will take you to them, even if the specifics change over time.

I also added a documentation issue to write up a how-to-get-started guide, linked from the main GitHub page (and probably in a pinned thread here, for that matter). I suggest we put the instructions in a GitHub wiki rather than a post here, so that any of the core contributors can access it; a post here risks becoming stale should the author move on and the contents need updating.
 
I just added several more issues, mosly "good first issue" but really any of them could be. They're just miscellaneous things I've noticed and a few obvious next steps for someone getting into Godot. Also documentation and unit tests are always great ways to break the ice, and earn the sincere appreciation of your fellow devs.
 
Top Bottom