Programmer, BSD nerd, lefty snowflake, autistic weirdo.

https://hur.st/

  • 0 Posts
  • 2 Comments
Joined 2 years ago
cake
Cake day: June 2nd, 2023

help-circle
  • 4X game Shadow Empire has interesting proc-gen for its planets — they start out as randomised astronomical specs, including star type, orbital distance and inclination, mass, composition, those feed into how the landscape is generated, what life develops (if any), and from there it runs through a simulated history of colonization and collapse.

    Detective ImSim Shadows of Doubt generates small cities filled with hundreds of citizens with relationships, histories, jobs, and routines.

    Space life sim Sol Trader starts with a proc-gen history phase to set up the people and organisations in the world.

    Space sim Elite: Dangerous, and its prequels, make extensive use of proc-gen to create their galaxy-size galaxies. It was quite something to see Elite II fit so much in an executable that’s less than half the size of the front page of this website.

    Pioneer is an open-source space sim deeply inspired by Elite 2/3. Its system generator looks very similar to what I remember of that article.

    Space Engine isn’t really a game, but deserves honourable mention for not just generating a galaxy-size galaxy, but a (nearly) universe-size universe.


  • Compactor is my Windows filesystem compression tool, good for clawing back space wasted by poorly-compressed games without having to faff about with the command line. I have a full rewrite in the pipeline that I’m procrastinating on.

    ioztat is basically what zfs iostat would be if it existed — an iostat for ZFS datasets, rather than ZFS vdevs. It was born out of a script from Reddit’s /r/zfs and in a slightly obsessive period I rewrote and expanded it into a pretty capable tool I’m quite proud of.

    If you have any experience packaging software for your favourite Linux distribution — well, I’m a FreeBSD user, so please knock yourself out. I’m begging you.

    num_threads is a tiny foundational Rust crate, most notably used by time in order to determine if it’s safe to make certain syscalls. I have implementations for Open, Net, and DragonFlyBSD that I’ve been procrastinating on merging, because blessing unsafe code for platforms I don’t use is scary. Moral support is welcomed.