Info

This post was originally intended for a Patreon audience.

Rust Rumor

I’m very happy with what I’ve accomplished with Rumor but I am unsatisfied with how many people use it.

Sure, when I talk to people about it they seem interested and the project on github has 40 stars now, but I’ve never been aware of anyone wanting to use it in more than an experimental or gamejam capacity. It would be nice to know someday that my narrative framework powers a published game in some meaningful way.

So, I’ve identified several things I can hopefully improve on to make the library more appealing to first time users who don’t know anything about Rumor. For instance, I can provide better examples. The project’s README gives out a pretty basic example, but it doesn’t really point out any exciting, interesting features that exist right now such as:

  • The narrative code can be built at runtime from any imaginable source (disk, web, grammar generator)
  • Arbitrary narrative code can be injected into the currently running narrative code
  • Ability to save and resume exactly where you left off (including all arbitrarily injected code)
  • You can add and remove choices at runtime, whenever you want

These are all things I can provide examples for and make the API nicer to work with. However, there’s one last thing about Rumor that could help it stand out.

Platform Independence

Rumor as a language is not platform dependent at all. The scripting language is entirely agnostic, uncaring about whether or not you happen to be using Unity or C#, which are the environments it supports right now.

I don’t have a good reason to stay in C#, so I’ve been interested in rewriting Rumor in the Rust programming language. There’s a few reasons I want to do this:

  • The tooling in Rust, which I’ve briefly interacted with while following official Rust tutorials, is the best I’ve ever experienced.
  • There appears to be generous support and documentation for compiling Rust libraries so they can be used in many different languages.
  • There is likely to be less competitors for Rust, and I may have an opportunity to capture some potential users.
  • Rust is a low-level, high-performance language; this means I can build faster, more efficient compilers for Rumor.

There is a significant amount of stuff I could say about each of those points, but I’ll avoid that for now as I start porting Rumor to Rust. Hopefully, this will be a successful endeavor and we’ll have something cool to share soon!