Dom Williams

The Great Closed Source-ning

If you've followed this project at all, you might have marvelled at the infinite free time and energy I had available to pour into it. Especially the excited first devlog outlining my ambitious plans for a game and game engine from the ground up.

In short, I no longer have as much time and resources to put into this project as I once did, and in order to keep it going, I'm making some big changes to how I work on it. Predominantly, I am moving the bulk of the project to closed-source for the time being.

The inertia of open source

It's exciting to publish work you're proud of to GitHub, showing it off as your portfolio. But I've found that this comes with a downside - the pressure to always have the code in a good state, to never push a broken commit or temporary logging like [INFO ] LALA entity is here $x $y $z.

I've found this adds inertia and friction which ultimately kills progress for side projects, because if you only have 1 hour to work on your game after your day job, do you really want to spend that time fixing logging, or the Windows CI build? I'd rather add a fun feature like injured limbs affecting walking speed, so the end result is just doing something else instead.

I used to have way more time such that fixing the CI was a minor if a bit annoying side quest, but nowadays it's more of a total motivation killer.

Project changes

So I'm making the core of the project private for now, so I feel more free to hack away at it and actually make progress towards finishing it. This mainly comprises the simulation, procgen and renderer crates, but there are a few other crates that are standalone and will remain open source, including:

I plan to write technical posts about these two and eventually release them on crates.io.

Repository-wise, I'm going to keep the public crates in the name-needed repository and put an archive of the full project in its current state in a separate repo, because I'm too much of a whore for GitHub stars to leave 95 of them to stagnate on an archived repo.

I also plan to start posting shorter, more regular and less technical devlogs that show progress, the first of which will show a pretty dramatic change in the rendering style.