XaiJu
vrengames
vrengames

patreon


Open Source-ing Lab Rats 2!

There is no new version of LR2 this month, but there is a major development for you all to hear about: Lab Rats 2 is moving to an open sourced model! There are technical details at the end of this post for anyone interested in getting into development, but first let's cover what it actually means for this to be an open source project. I'm aiming this post at someone who isn't familiar with source control, so if you're a programmer don't be surprised if things are a little wrong in order to make them a lot simpler.

In simple terms, going open source means there will be a publicly visible repository for all of the code, writing, and images that Lab Rats 2 uses. Anyone will be able to copy that repository and make modifications to their copy (If you're a programmer making the copy is called "forking", and the copy itself is called a "branch"). This might be done to, for example, fix a bug or add sections of content without risking the "master" version of the repository.

A modified copy (or "branch") can be submitted to be "merged" with the main repository. "Merging" means adding in all of the changes (lines of code added, deleted, modified; new images; new files, deleted files, etc.). If the merge is accepted all of the changes are now part of the public version of the game.

The benefit of this fork-modify-merge approach is three-fold. First, multiple contributors can fork (ie. make a copy of) the project and work on it separately. If all of their changes are on separate parts of the project (which is usually the case) they can all be merged without any issues. Second, I retain control of the "merge" part of the process, giving me the chance to review all of the code submitted and only accept the bits that actually work. Third, you can fork the project without any intention to merge back it, which is very convenient if you're making a mod!

For this first week of "open" development I am keeping the Lab Rats 2 repository private and adding interested contributors to the project. This is primarily to give me a chance to familiarize myself with the tools I have available without risking an embarrassing public cock-up. At the end of the week the project will be made public and anyone will be able to join in on the development goodness!

Here's a quick rundown of the major benefits I'm expecting from the change:

Bug Fixes - Making development open source will allow anyone to submit a centralized bug report. Anyone with the technical know-how can then submit an actual fix for that bug.

Technical Advice - I'm not too proud to admit the Live2D updates have kicked my butt on a technical level. Opening up development will make it much easier to get advice on and fixes for the technical roadblocks I'm currently running into.

Better Modding Support - Mods will be able to fork the main branch, inheriting any future bug fixes or content that is added to it that doesn't conflict with the modded content. Modding-minded contributors will also be able to submit changes that make the core version of Lab Rats 2 easier to mod, which helps out everyone who is working on the game!

There are some things that this move is not changing which are important too!

Content - I am not looking to accept the actual written content of Lab Rats 2 for the near future. Modders can fork the project and add their own written material, but that content will remain separate from the base game. Once the initial learning curve is past I will consider accepting "vanilla compatible" content, ie. extra random events, dialogue, etc. that fit perfectly into the established game.

Merge Control - I am going to maintain full control over what is merged into the base version of the game, meaning every line of code added or changed will be reviewed by me. My goal is to maintain a consistent, readable style throughout all of the LR2 codebase.

Release Schedule - Lab Rats 2 is still going to target a once/month public release. Every month a branch will be forked a week before the end of the month, bug tested, and a built version of it will be released in the usual way as v0.XX.YY

Technical Details

The Lab Rats 2 repo is hosted on gitgud.io, which is a free, open source, online git repository. You can find me as user @VrenGames. I am using Sourcetree as my git client, but you're more than welcome to use whatever git tools you're comfortable with.

For the first week (ie. now until the morning of the 8th) the repository is set to private and I will be inviting individual users. Get in touch with me on gitgud, here on Patreon, or send me an email at vrengames@gmail.com if you're interested in jumping into the project.

Have any questions, concerns, or indiscernible babblings? Leave them in the comments and I'll get to them as soon as I can!

Comments

Yes, once development gets moving along again there will be the standard monthly packaged releases, no technical knowledge required. I'll look into contacting some mod makers and put together a list to highlight them!

Vren

I'm assuming the monthly updated version will have a monthly update link here on patreon still yes? I haven't looked at any mods and am somewhat intimidated by github - would you consider doing a one-time spotlight on prominent existing mods and maybe how to apply them?

Dreamdayer

As soon as gitgud.io stops having a complete server meltdown, I'll make an account and reach out. I'd recommend two things though: 1. Keep the repo private, but open to contributors. You can still let people fork publicly, but your contributors might prefer to stay anonymous. 2. Use git large object storage if gitgud.io has that option. That repo is going to be a big mess quickly otherwise.

Steve Sombdy


More Creators