hornvale

Crates.iohornvale
lib.rshornvale
version0.1.1
sourcesrc
created_at2022-10-30 20:59:35.800625
updated_at2022-10-30 20:59:35.800625
descriptionHornvale is an experimental, idiosyncratic text adventure game written in Rust.
homepagehttps://ndouglas.github.io/hornvale/
repositoryhttps://github.com/ndouglas/hornvale/
max_upload_size
id701658
size4,395,304
Nate Douglas (ndouglas)

documentation

https://ndouglas.github.io/hornvale/

README

CI codecov

Hornvale

Hornvale📖 is an experimental, idiosyncratic game written in Rust. I was referring to it as a "prose-based roguelike", but now I'm thinking it might be more like "open-world interactive fiction".

I don't know if this is stupid or not. It's a more personal project than I typically throw on GitHub, and I'm making it up as I go.

For more (a lot more) on my approach to the project, check out the book, which is pretty much what's going to serve as documentation.

Major Ideas

The main thing I want to play with, that ties this to the roguelike tradition, is procedural content generation. But I'm also deeply embedded in interactive (and non-interactive) fiction, and MUDs, both of which tend to be intentionally authored experiences. The former is deeply invested in a notion of efficient storytelling, the latter in a more open-world concept with multiple narratives. I'd like to explore this area and figure out what sort of messes I can cause.

This is likely to be an incredible amount of work, and frankly, I don't really have a good history with regard to actually completing personal projects, so feel free to just cruise right by this one. Also, the fact that I've Unlicensed this is probably a good indicator of how much general appeal this project has.

But maybe this will be something that grows over time into something worth looking at.

Prior Incarnation

A previous iteration, purely exploratory, can be found here. It was/is mostly just investigatory, figuring out what was possible, and whether I could bear to do it in Rust.

Hornvale Subprojects

Status: These indicators' meanings are subject to change as I progress.

  • 🔴: I haven't even started.
  • 🟠: I've laid the groundwork, or at least taken some initial steps.
  • 🟡: It's serving some purpose, though far from complete.
  • đŸŸĸ: Working, although I'll never really consider it "feature complete".
  • đŸ”ĩ: A vast radiant beach and cool jeweled moon, etc. Some evenings I just watch the test suites as they run.

FAQ

Why are you generating stellar neighborhoods for an interactive fiction project?

Because I'm an idiot, most likely.

Is this singleplayer or multiplayer?

Singleplayer. A lot of this is informed by MUDs, but their nature (being multiplayer and easy to join) forces some design decisions on MUDs that I don't think I want to follow. For instance, I want to largely avoid grinding. Incredible levels of grinding can be required in MUDs because of Massively Online players, and I don't think that farming XP or skills is the experience I want to create.

Are you really calling this Hornvale? What does that even mean?

I use castle names from George R. R. Martin's A Song of Ice and Fire for project names. Gives me something interesting and at least semi-evocative, but also narrows my choices so I don't spend all damned day bikeshedding the project name.

So "Hornvale" might be a codename, it might be the name of the game for all eternity, I might rename this at some point to Seymour Butts in the Festival of Massacres II: Revenge of the Soulslurpers. No idea. I just don't care. I already spend too much time naming things.

Do you have any code coverage eyecandy?

Uh, yeah, sure. Oddly specific.

Code Coverage Graph

Commit count: 26

cargo fmt