New Author - Trying to wrap my head around the enormity of it all

I get that. I remember feeling that way when I first discovered Inform 6, and that was 25 years ago.

I tend to think in terms of the player wandering around the map. I seldom try to construct scenes, other than cut-scenes. But that’s just my admittedly old-fashioned take on interactive fiction.

Yeah, that’s me. But I have to be honest. It’s been a long time since I wrote a game in Inform. I first wrote the Handbook about 15 years ago, and I have updated it twice as a community service, but these days I use a different development system when I write a new game. That being the case, I can’t even tell you whether Notepad will compile under the latest version of Inform. You’ll need to try it out for yourself. I seem to recall that it only wants to hold one message at a time, so that would be a limitation for a detective-style notebook. But maybe there’s an easy way to modify it. I might have a look at it – no guarantees.

1 Like

I tested it just now. Notepad compiles fine with the current version of Inform. You can technically put multiple notes into the detective’s notebook, but the output won’t be pretty. Here’s a sample:

>write #1 The butler did it! in the notebook
You write "#1 The butler did it!" on the notebook.

>add #2 In the conservatory? to the notebook
You add to the text on the notebook. The text is now "#1 The butler did it! #2 In the conservatory?"

>add #3 With the truncheon -- or was it the revolver? to the notebook.
You add to the text on the notebook. The text is now "#1 The butler did it! #2 In the conservatory? #3 With the truncheon -- or was it the revolver?"

>read notebook
On the notebook is written "#1 The butler did it! #2 In the conservatory? #3 With the truncheon -- or was it the revolver?"

Note the syntax: “add … to the notebook” must be used after the first entry, or you may accidentally overwrite what was there.

4 Likes

My philosophy toward notepads in games is:

  • Notebooks are very useful things! Include them if you can!
  • The player shouldn’t have to keep an in-game notebook updated by hand: they can use their own paper notebooks for that

In other words, if you provide an in-game notebook, it should record information automatically as the player makes progress. If you don’t want to do that, a physical notebook, note-taking app, or the like will be more convenient than anything you can provide in Inform.

7 Likes

(Specifically, neither the Z-machine nor Glulx provides any way to have a multi-line editable textbox. Any notebook software without that feature is going to be sorely limited.)

2 Likes

That’s one advantage of the Notepad extension: you can drop it in and the player can basically use it however they want to. It’s literally a functional in-game notepad object they can have in inventory - you don’t even need to define how they’re supposed to use it. They can ignore it if they’d rather keep notes outside the game.

You can also change the text on a notepad via rules, so you could cutscene an interview with a character and then add a relevant page of authored information automatically in addition to what the player wants to add.

I basically wrote Psychomanteum to experiment with this extension’s functionality!

1 Like

It is, but to my mind, the days of line editors should be well behind us! Players deserve the ability to use arrow keys and backspace while editing their notes!

2 Likes

I mean…Vorple…

2 Likes

It’d be cool if you could remove “pages” from the notebook and give them to NPCs.

Upon closer examination, you determine that one of the loose hairs is not blond, like the victim. A loose thread, indeed! That is something noteworthy! [You can record this clue in your notebook.]

> record clue

You dutifully document the clue in your notebook.

> record clue

You see no additional clues at this time.

> read notebook

Page 1: The butler claims they searched outside for the mistress, but their shoes are meticulously clean despite the yard being a mudpit in the torrential downpour.

Page 2: A picture has recently been removed from above the mantle in the great room as evidenced by the silhouette made by its recent removal.

Page 3: A long brown hair has been found wrapped around the unlucky *blond* mistress's fingers on her right hand.

> remove page

I understood you as far as wanting to remove a page from your notebook, but which page would you like to remove? 1, 2, or 3?

> 3

You crease and recrease the page where it meets the spine and then carefully tear it from the notebook. You fold the page in half and stuff it into your pocket.

> read notebook

Page 1: The butler claims they searched outside for the mistress, but their shoes are meticulously clean despite the yard being a mudpit in the torrential downpour.

Page 2: A picture has recently been removed from above the mantle in the great room as evidenced by the silhouette made by its recent removal.

Page 3 has been removed.

> inventory

A quick accounting turns up the following:
Notebook
Pen
Disability Card
Snazzy Hat (worn)
Horn-rimmed Glasses (worn)
A page from your notebook (page 3)

> x card

A card briefly explaining and verifying your injury and your resultant inability to speak. You have mixed feelings about the card and its necessity, but find it indispensable when interacting with an unfamiliar police department like the one overseeing Mistress Fadune's unfortunate demise.

> give page 3 to captain

Captain Williams accepts the page and leans forward to read it under the faint light.

"A hair! How did we miss that!? Deputy! Go and fetch us a new evidence collection bag. The techs missed something again.

I’ve always wanted to write a mute detective that had to pass out notes to get their point across.

6 Likes

This is a really cool idea!

1 Like

This is a good point, although I would need to give some thought to how I select the information to go in and what (if any) discretion the player gets in this selection. Perhaps a free-text entry option, paired with automatic recording of key clues/information, may be the way to go… If I can work it out.

1 Like

I’ve seen Vorple mentioned elsewhere as well - would you mind giving me a TL;DR?

1 Like

It’s basically a way of uniting an Inform game with a web page, so you get full access to HTML5/CSS/JavaScript. It basically bypasses every interface limitation of Inform, at the cost of being a lot trickier to set up for testing and playing. (On the author’s side, that is—players don’t have any extra difficulty.)

3 Likes

If you need an example, that’s how the game Counterfeit Monkey is organized.

The main story file is almost only Include X by Counterfeit Monkey statements (and a bit of global setup): counterfeit-monkey/Counterfeit Monkey.inform/Source/story.ni at master · i7/counterfeit-monkey · GitHub
Then, everything else is in extensions by the fake author “Counterfeit Monkey” which are located in the .materials directory: counterfeit-monkey/Counterfeit Monkey.materials/Extensions/Counterfeit Monkey at master · i7/counterfeit-monkey · GitHub

This game is big, you probably won’t need to split your game in that many pieces.

2 Likes

----nods in appreciation, taps table----

1 Like

I second this. In my experience, it has been that way even going back to the raif days, before this forum existed.

One thing I would like to add for all newcomers is this: when you ask a question, don’t think of it as a “cry for help from a noob” but rather as a service to the existing and future community. As @DeusIrae pointed out, there are others who probably have that same question and are too shy to ask. There are also people who haven’t even discovered Inform yet and won’t have that question for another six months or more.

A common thing we do see here is that newcomers are so afraid to “spam” the board with questions, they will simply bundle up multiple, unrelated questions into one post. @Kristian, you did that with this post and I am not trying to shame, chastise, or call you out personally. This happens all the time and examples of it are all over the history of this forum, so please do not feel embarrassed.

Another example of this is the “Okay, thanks for answering that question, so here’s another question in the same thread” post. Please don’t do that. Start another thread.

If we separate these questions into distinct, concisely and descriptively-titled threads, future (and current) members will be better able to search for and find them. (Note that users above a certain trust level can always go in and split posts, when necessary. In the case of this thread, the answers seemed a bit too – pardon the pun – tangled together to do so easily.)

Note that there are times when multiple, related questions are appropriate together. If I start a thread called “Implementing an elevator” there might be multiple elements I’m looking for that are separate coding problems (how do have buttons on the outside and inside of the car, how do the doors work, etc.) but could all be tackled in the same thread so that they work together. However, if I have a game with a talking frog that can answer the player’s questions and then I decide to add a flying magic carpet with a steering wheel – those deserve separate threads.

Just think to yourself, “I am adding to the collective knowledge of this community” every time you ask a question and you needn’t worry.

As an aside, trying to figure out answers to other people’s coding problems and post them before anyone else did is how I learned Inform in the first place.

Welcome @Kristian, @tech_hutch, and all you lurkers out there! :wink:

8 Likes

Vorple is an interpreter that must be hosted - it works in a web browser, so it needs to pull from a website or local hosting, which makes it initially tricky to work with if you’re used to Inform 7’s IDE and easy publishing since the Vorple features won’t test-play in the IDE. I think if you don’t want to mess with local hosting, you can upload the compile to a private Draft Mode project on Itch to test it.

Vorple basically provides multimedia and modern browser improvements including CSS and JavaScript implementation so you can use text styling, music, images, have pop-up notifications without worrying what interpreter the player may use. And in context of this topic, you could probably build a more forgiving text-editing window for an extension like Notepad.

I mentioned it dismissively as I haven’t yet gotten over the hump to learn it. So vorple to me personally is a term for when you want something but the only method to do so basically means starting over from the beginning. A lot of times to me it’s like, “I want to use text colorizing but my game is too big for Zcode.” “You could do that using Vorple.” “Yeah, never mind.” :rofl:

It’s like saying “I want this straw hut to survive a storm.” “Well, then tear it down and rebuild it using a proper building material.” “I guess we’ll just rebuild it instead of learning Vorple…”

I am kidding - for people less stubborn than me Vorple does incredible things, you just gotta learn it!

This recently got easier since you can use Borogove online with Vorple included and at least experiment with a small project to decide if it’s right to take the plunge and use it in a larger one.

5 Likes

Wait, what!?

3 Likes

Yeah. I got used to doing that with Twine - Chapbook supports multimedia but you won’t see it in test compiles, so you export the game with supporting files and make it a zip. I made a non-public test project on Itch (set it to “Draft Mode”) so I can upload my Twine games to test the multimedia elements. It’s a shortcut if you don’t have hosting space for testing or don’t want to delve into Terminal for local hosting.

Draft Mode games on itch don’t get publicized or show up in search. You can click a button to get a complicated URL to share directly with testers, but people won’t run across it by accident. I’ve several private in-progress things I keep on Itch for testing, including the “test project” if I just need to throw something online and see how it runs.

Screen Shot 2023-09-25 at 3.11.02 PM

6 Likes

Thank you, sincerely! TIL.

2 Likes

Ah - that’s absolutely reasonable, and I am guilty as charged on all counts. I can completely see the value in making each question a separate post for future reference. I will undoubtedly have hundred more questions across the life of this project, so I’ll make sure to ask them separately (unless they can be bundled-up, as you mention).

Thanks for your advice, and the warm welcome. It joins the procession of extremely friendly and knowledgeable responses I have received so far!

5 Likes