Hacker News new | ask | show | jobs
by sushisource 1261 days ago
DF's codebase is honestly the closed-source code I'm most interested in seeing.

My expectation is it's just an absolute mess, but I'm so curious.

3 comments

This is an interview with Tarn Adams about the DF codebase: https://stackoverflow.blog/2021/12/31/700000-lines-of-code-2...
Great read, thanks!
Well they did manage to get this new much improved UI for the Steam version, in reasonable time. Seems it's much better than I feared.
Especially since it's developed without Git or any sort of version control...
I fail to see how "real" version control would significantly alter this project. He's a solo developer, so the history is likely going to be a linear series of commits. That's not to say that there are not quality of life gains to be made, but dated backups of the repository would be fine.
It’s not that version control is the only viable option, just that not using it suggests he’s not doing many other things.

As you say there’s quality of life improvements to be had. If he’s not aware of them I suspect he’s reinventing the wheel in new and interesting ways.

Tagging changes with messages is a huge plus. Seeing when each line changed instead is another. Being able to group changes into bundles/commits is another.

Even on solo projects with linear history some sort of version control is valuable.

The devil is in the details. Being able to see a comment history alongside file level changes is very powerful over time. Version control is priceless.
I would still use version control since it's literally a zero cost addition and can help with things like bisecting issues. Sometimes I do mini self code reviews via "git add -p" anyways too. Plus it's easier to copy the files/folders from one spot to another without losing any files to data corruption or forgetting to copy a file.
Well, they certainly didn't need distributed version control, but I'm sure there was some sort of version control used, even if it was daily backups, or just copies upon copies of files.