In the grim darkness of the far future, there is only war

#1

I am trying to compile the Warhammer 40K tagline into a playable game, but I am running into a few issues.

  1. First of all, it seems that the default behavior of “in the A is B” is to create a container called A, not a room. I have to add a separate statement creating the room, ruining the minimalist beauty.
  2. The word “there” is not recognized. The statement has a lot less punch without the “there”,

This is the best I have so far:

"Warhammer 40K" by Simon Christiansen

There is a room called In The Grim Darkness Of The Far Far Future.

In The Grim Darkness Of The Far Far Future is Only War."

Based on this, I humbly suggest the following changes to the Inform 7 compiler.

  1. If there are no rooms explicitly defined, change the default behavior of “In the A is B” to produce a room called the A containing a B.
  2. Allow for the syntax “in the A there is B”.

I believe the PR potential of such a change should not be underestimated: “The natural language programming system so natural that you can compile the Warhammer 40K tagline into a playable game!”

2 Likes
#2

I believe the PR potential of such a change should not be underestimated: “The natural language programming system so natural that you can compile the Warhammer 40K tagline into a playable game!”

Something Games Workshop still hasn’t managed in 45 years

3 Likes
(matt w) #3

You can avoid the “called” thing by dropping the “in” from the room name. In fact, once you’ve done that, you can define the room implicitly by specifying a directional connection to another room:


The Grim Darkness Of The Far Far Future is outside of All Understanding.

In The Grim Darkness Of The Far Far Future is Only War.

What I believe is going on in your original code is that the first line defines the room name as “In the grim darkness of the far far future,” but the second line gets parsed as “In (the grim darkness of the far far future) is only war,” where “the grim darkness of the far far future” is acceptable as the name of the room because you’re allowed to refer to rooms/objects using proper substrings of their names.

Ah! We can even leverage this trick to get the “There” in:


In The Grim Darkness Of The Far Far Future There is Only War.

The Grim Darkness Of The Far Far Future is outside of All Understanding. 

The room is given the name “In the Grim Darkness of the Far Far Future There” by the first line, but the second line–which is the line that tells Inform it’s a room and not a container–refers to it using the abbreviated form (without “there”). In fact you could use that trick to make the second line “Darkness is inside of us all” or something like that–maybe there’s another suitable line in the Warhammer 40K canon?

#4

Thank you!

Although, it seems I can achieve the same effect by defining the room with a “there” in the room name and without the “in”.

"Warhammer 40K" by Simon Christiansen

The Grim Darkness Of The Far Far Future There is a room.

In The Grim Darkness Of The Far Far Future There is Only War.

This is much better than before :). It doesn’t seem like there is any way to avoid the room definition line entirely.

(matt w) #5

Well you don’t need to explicitly say “is a room”; this:

In The Grim Darkness Of The Far Far Future There is Only War.

The Grim Darkness Of The Far Far Future is outside of All Understanding. 

compiles by itself. The second line gets the compiler to understand that The Grim Darkness Of The Far Far Future There is a room, without the word “room” needing to be used.

1 Like
#6

True, but my issue was with the extra sentence, not with the word “room”. If there is no way to avoid the extra sentence, I prefer the less verbose version.

Although, I suppose your version is undeniably more poetic…

1 Like
#7

Dammit, I just realized that both versions cause the printed name of the room to be “The Grim Darkness Of The Far Far Future There”. I want the game to print:

The Grim Darkness Of The Far Far Future
You can see Only War here.

>
(matt w) #8

Ah, I’m more aiming to have the result of the compiled code be as silly as possible.

2 Likes
#9

On second thought, the “there” there just makes if funnier. This is what I have so far:

"Warhammer 40K" by Simon Christiansen

In The grim darkness of the far far future there is only war.

Darkness is inside of the galaxy."

Now, I just need the second line to be something more warhammery. Does anyone know of any good Warhammer quotes pertaining to spatial relationships with Darknes and/or future?

It would be even better if I could implement some basic gameplay using iconic Warhammer quotes, but I am not enough of a Warhammer geek to figure this out on my own. Any assistance will be welcome!