Lessons from creating my first text adventure

entropicthoughts.com

77 points by kqr 4 days ago


chrismorgan - a day ago

Just tried playing the game, and found my very first actual breakage due to blocking custom fonts in over five years of using the web like this.

It just puts up a “NetworkError: A network error occurred.” error and doesn’t start.

The reason is this:

  await document.fonts.load(`14px ${font_family}`)
Since this isn’t actually necessary for page functionality, it would be better wrapped in a try { … } catch {}, or just with .catch(() => {}) appended.

My bizarre workaround is a user stylesheet to remove the offending font:

  :root {
      --glkote-mono-family: monospace;
  }
Honestly, I’m a little surprised it took five years to find something that actually broke completely from this.
thrtythreeforty - 2 days ago

I'm so glad someone finally echo'd how I felt trying and failing to learn Inform 7. It was very much "there is a syntax. We are not going to tell you what it is." It was a shame because it looked so cool to be fluent at. The learning curve was just too high for me.

bdunks - 16 hours ago

Thank you for sharing! After reading the article, I played your game and really enjoyed it. My first text based game in ~30 years.

I was inspired and went on to play one of the games listed on IFDB tagged “short” and “recommended for beginners”. (Suveh Nux).

Also super fun and satisfying to beat!

ianbicking - a day ago

Some of the issues with parsers and knowing what to type could be helped quite a bit if the text adventure interfaces had a bit more affordances. Making important objects bold is an easy one (unless you feel that determining the importance of objects is part of the puzzle). But if you break out of the linear-narrative approach there's a lot to do. Label exits with their destinations (if you have traveled there before). Use colors akin to blue/purple links to indicate history. Inventory doesn't need to be a command. If mapmaking isn't part of the challenge, then give people ways to move quickly (e.g., "go to throne room" could just find a path to the throne room based on your knowledge).