Okay IF platformers. In my experimenting with a C#-based platform, one of my interests is in a completely separate text emission process.
The general logic is:
- each turn
- report things that happen
- report location description
- report scenery
- report items laying about
- report NPC’s
- report list of exits and possibly their destinations
All of this would get sent to the Text Service. When the turn is complete, the game loop will call the TextService (probably from the World Model, but unclear) and get the text and emit it using some kind of logic or template.
That’s the tricky undefined part. In our current IF platforms like TADs and Inform, text emission is a stream of text spliced together with punctuation and line breaks. This has always been annoying to me.
I want to create an entirely new paradigm where the author simply emits contextual text and the text service puts it all together into some standard format.
I’m not worried about Fonts or Types or Styles. Those are well-known and can be easily managed.
This is more about structure. In our current platforms, we often will loop through objects and delimit their output with commas or in other ways. Sometimes we leave text without punctuation, leaving that for some final text handling.
What if we didn’t worry about any of that and simply reported things to the service and the service used the list of contents (and their context) to structure the output properly?
A template might be something like (pseudo code):
emit before-turn actions with two line breaks
emit location name in bold with one line break
embed scenery and list of exits in location description
emit location description with two line breaks
emit npc names
end
Of course, the whole line break thing is up in the air too, since we could be emitting HTML or be targeting some other kind of client.
Thoughts anyone?