If there is one thing I do not get in Inform 7 right now, it is line breaks. Here is how I am working at the moment:
- Write text.
- Run it.
- Note where line breaks appear.
- Add [line break] or [no line break] as appropriate.
Take the following example:
[code]The garage is a room.
The block is in the garage. The block can be this way or that way. The block is that way.
Carry out pushing the block:
say “First sentence.[if the block is that way] Second, conditional sentence.[end if]”;
This produces the following output:
Okay, noobishness, I don’t know why that “Nothing obvious happens.” is there, because I thought “rule succeeds” should stop that, but let’s ignore that. I have two questions about this code:
How do I fix this? I have tried any combination of spacing, moving full stops, swearing - and I can’t make the text output look right for both conditions. To clarify, I want the first and second sentences on the same line.
Why in the name of sweet flying kittens would I possibly want output like that? What is the utility of this feature? Why does Inform want to insert newlines all over the place - not even paragraph breaks, but newlines!
On a related note, why does the IDE indent text within indented blocks of code? It may make it look legible in the editor, but the text then line breaks and indents all oddly in the game.
In short, why does Inform want so much to make me look bad? I understand that some people will need fine control over line breaks and spacing. That’s fine, give them the option. But why on Earth can’t I7 just, by default, assume that I want block paragraph spacing, between paragraphs that I have specifically requested, and no crazy indentation.
Or, in other words, why can’t it just be like TADS 3, where I never had to worry about any of this stuff, where you get paragraphs and newlines when you ask for them, where everything is single spaced by default, where even if your conditional text mistakenly spews out multiple new paragraph tags you still only get one. You know, an intuitive environment for outputting computer-generated text, where rather than getting a headache over complex logic puzzles (how do I make sure this sentence ends in a full stop? if this condition is false will that space trigger a newline? if the middle clause isn’t displayed, will I have too many spaces?), I can just bloody write.