Where we talk about the infrastructure of a game development studio.

To collaborate on the shipyard, the team uses various tools. These are usually open source alternatives to services such as Github, which is free but steals your IP (intellectual property), or Jira, which does not steal your IP but costs a bunch.

Here is the full list of alternatives, as we’re using them so far:

Virtual Private Server —> Yunohost

Yunohost is essentially a tweaked version of Debian Linux that runs service applications.

We didn’t want to spend your patreon money on a VPS when we have so many used laptops that could run the server instead. So after much efforts and help from the team, we now have a working Yunohost server with regular backups on fully offline drives.

Okay that sounds way fancier than it looks though. I’m here to de-mystify technology. Behold, Niwl Game’s super advanced home server. Why is it vertical like this? Because this is on my dinner table for now. It hardly gets any more indie than this.

The team had an interesting conversation about Yunohost, that perhaps it’s not realistic for every end user to self-host, but that server enthusiasts could mutualize and host 5-10 organizations at a time.

In a larger context you could dezoom and say “isn’t that the point of a VPS and serverless?” but there’s always a server somewhere, and we’d rather be friends with the admins of that server.

You can learn more about the Yunhohost project here: https://yunohost.org/

Every other app that we use and talk about in this list can be installed and managed via Yunohost.

Github / Gitlab —> Forgejo

Forgejo is a self-hosted app for source control. When multiple people work on a project involving art assets and code, there needs to be ways to roll back changes that are “game breaking” (result in a bug, crash, or failed test in QA). We also need to be able to merge multiple contributor’s work even if they worked asynchronously.

This choice is probably more due to some of our team’s aversion towards data scrapping happening on github. Hosting the source control software ourselves was the only way to avoid giving away our power. It may seem trivial, but I am so much more motivated to grow a repository if it doesn’t feed a data leviathan.

Usually programmers seem to like interacting with git trough the CLI, but our less technical contributors (hi, that’s me, Honora) prefer something with a GUI. I was already familiar with Plastic SCM and perforce, so the open source git client gitnuro was the right fit. https://gitnuro.com

Letting everyone interact with the same tools in a myriad of ways is quite cool and sci-fi.

Fandom wiki —> Bookstacks

Players should not have to rely on a third party site with ads in order to learn about the content of the game. I was gobsmacked to find out even companies as large as [redacted] had so much trouble making a wiki, or even an internal wiki.

The wiki will be our “building in the open” and grow over time. (a bit barebones for now).

https://niwlcoop.ynh.fr/shipyard_wiki/books

Jira —> Taiga

Jira is infamous for being slow, expensive, but also for being powerful. “yes the interface is horrible, but look at all the apps we can connect to this”. Here we have a free open source hostable alternative called Taiga.

Taiga’s interface is somewhat better than Jira, and sending commands to other apps via the API when you move a card to “ready for test” could launch a godot engine automated QA test for that particular build or asset.

Google drive —> Nextcloud

This one is really a matter of cost. The free tier of google drive (15GB) has not increased in over 10 years. We knew we’d use 30-50 GB or more with art assets, tools and documentation.

Installing nextcloud once we had Yunhost running took a grand total of 5 minutes, and we have as much cloud storage as needed, with no surprise pricing changes (if anything, a mini solar panel could be enough to run the server).

Discord —> Matrix / elements

And eventually we’re ready to switch whenever enshittification gets to Discord (it’s too good to be true right now).

We hope you enjoyed this dev log which was a bit more on the technical side of game development. As many games studios are currently considering various tools, we hope to be one of many data points on how we can recover agency in game dev. We’re not the first and we’re definitely not the last to make the choice of self hosting.

Don’t hesitate to leave a comment if you have any questions or thoughts about open source software infrastructure for games.

And don’t worry if systems administration isn’t your thing, our next dev-log will be just art 😌


Posted

in