Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

A new Harlowe manual is available

edited December 2015 in Help! with 2.0
I've replaced 's rough release notes with a proper manual page, hopefully describing all of Harlowe's current features without omission. I'd never felt comfortable referring to those informally-written notes as a proper manual, and I'm glad I finally finished making this more comprehensive resource.

If there's any obvious mistakes or ill-written paragraphs in this that you think should be amended, do tell.


  • edited December 2015
    I've had a quick browse over it and it seems very comprehensive. I have some notes. Though some of them are a bit nitpicky

    Verbatim markup
    I think it'd be a good idea to warn people that the example for including double brackets will cause Twine to create a passage called 'double square brackets' since I think that might confuse people.

    String data
    You say that "The (print: 2+3) bears" will print "The 6 bears" but it actually prints "The 5 bears"

    Special passages
    It says that debug startup passages appear before the normal startup passages, but they appear afterwards.
    Personally I think it'd be better if all the debug passages came after the normal passages. Since if you want to use a debug passage to override a variable set in the normal passage you can do this with startup and footer passages, but not with header passages

    It says the passages appear alphabetically based on name, but this isn't the full story since it also depends on case. A passage starting with "Z" will come before one starting with "a", while the description makes it sound like it'll come afterwards.

    lastly listing the macros in alphabetical order has led to some discrepancies. For instance 'If' is described after 'else-if' and 'else' while I think it'd make more sense to describe 'if' first since the others depend on it.
    Also footer passages are described as being similar to header passages, but at that point header passages haven't been described yet.
  • I've spotted a couple more things.
    Under (save-game:) it mentions being able to find the name of a save in the $Saves datamap, but you need to use (save-games:) to access the datamap

    Under substring it says:
    If the last number given is larger than the first (for instance, in (substring: "hewed", 4, 2))
    In the example the first number is larger than the last, which is the opposite of what the preceding text says.
  • Thanks - I've made amendments regarding most of these now.
Sign In or Register to comment.