It’s been a while since I last wrote about the Rust-oids.

Or, for what it’s worth, since I actually did anything on this blog.

Anyway, if you just tuned in: Rust-oids is a simple artificial life playground, written in Rust, simulated by rust_box2d wrapper physics and rendered via gfx-rs. The executable and package is very compact as all the “assets” (geometry, sound, graphics) are procedurally generated, mostly in real-time.

In retrospective, looking from a progress point of view, the project went from looking like this:

to this:

which is not a total disaster in my eyes.

Here are the highlights of what happened in no particular order:

  • suspended the project’s development for a year and then resumed it just less than a year ago, and being on-and-off since
  • implemented audio output using a simple custom sound synth written from scratch and output via Portaudio
  • implemented some interaction, adding a twin-stick-shooter style avatar which can be controlled by a DualShock 4 in gilrs
  • made the subsystems update in parallel by throwing Rayon in the mix
  • added automatic serialization/deserialization of the world state so the simulation can be stopped and resumed
  • added screen sequence capture
  • added Debian .deb packaging
  • improved shaders to give a more “organic” look while keeping the spirit of the original “Tron” style
  • switched development from RustDT in Eclipse because it had been discontinued, to CLion (non-free) and the JetBrains Rust plugin
  • switched back from CLion to Eclipse as soon as the Corrosion plugin was even barely usable, as I couldn’t get myself used to the CLion workflow
  • introduce Clippy in my workflow, which made my Rust code bump up a couple of notches
  • many other little things, which you can look at in detail by having a look at the repository history
  • all while the Minion population was constantly evolving

In the end, I git a bit more gud at Rust - to the point I can actually use it for work-related stuff now. In fact, I would say it’s now my favourite “go-to” language. Chuffed!

Published September 15, 2018