Is there a way to make an Inform game look like a messaging app?

I’m currently writing a game where the player is texting with an NPC in another location, so I thought it would be cool to present the game in a way that looks at least a little like a messaging app. Are there any tools or templates out there that might make an Inform game look like a series of texts? I’ve searched around a little, but I’m not entirely sure where to look for design questions like this. Any leads would be appreciated!

It’s not really what you’re looking for, but Text Fiction is a Z-code interpreter for Android that looks a lot like a text messaging app.

4 Likes

Hm, if you want it to visually look verbatim like a chat (e.g. text in bubbles on coloured backgrounds, possibly alternating sides) I think you’d have to go outside of Inform itself to Vorple or something. To use Vorple you have to know javascript.

If we go with a less verbatim look, or even with your own simulation of a chat-like interface – because potentially, you only have to sell that it is a chat, and that’s easily done, even down at a very non-verbtaim level – you could potentially

(a) hack something together using Inform’s Glulx styles by adding and using the extension Glulx Text Effects by Emily Short, or,

(b) more ambitiously, build your game with the interpreter Lectrote, which then allows you to exploit custom style sheets (CSS) for the presentation. The Lectrote option is non-trivial, and setting up the stylesheets is also tricky (you can ask @Jamespking who has produced several games this way, allowing them to have unusual fonts and such.) This would give you more general control over the look than (a), but you still can’t have bubbles or coloured panes behind different bits of text.

Reviewing (a), Glulx Text Effects allows you to define a few styles that you can toggle on and off during your prose. They’re very limited, but, yknow, even something as simple as setting off chat content in fixed-width text, using bold and italics judiciously and framing the chat content with fake timestamps or something, would certainly get the job done in terms of people’s ability to comprehend it. But your heart may be set on a visually verbatim presentation, and Glulx Text Effects can’t do that for you.

-Wade

3 Likes

So, for Vorple, Jack Welch’s game re: Dragon, did some amazing things with Vorple+Inform, like making it look like an email platform and introducing little pop-ups. He released the source code, here : GitHub - dhakajack/dragon: TDWTYFN2.

I imagine that the process of doing this was tough, but it might be a good start for really customising the UI of an i7 game.

Ade

5 Likes

Thank you all, this is very helpful information! Vorple seems especially promising, though I’m not sure how much I’m capable of programming in time for IFComp—I might have to go with a simpler text effect option, which is fine too. Even just being vaguely reminiscent of a chat interface would be nice compared to the default.

After writing one of these, it feels like “texting someone” games have a lot of potential, so it’s good to know there are options, even if it’s just for future projects.

I appreciate the help and the explanations!

I just thought of one more little thing that’s easy to add to a standard Inform project, and that you might be able to use, which is small graphics.

So if you want to throw in, say, a coloured horizontal line to delineate the start or end of a message, or the odd emoticon, or any other kind of little icon – if you can supply those graphics, it’s very easy to drop them in (23.4 to 23.6 in the documentation).

They appear vertically in the display, like text does. So they can’t be beside text or other graphics. If you display a graphic, it’ll appear against the left margin, and then the next thing you display will carry on beneath it. With small graphics, using this basic method is very safe. If you print a big image (that might be bigger than someone’s window), you run into the issue of not knowing how big someone’s window is.

-Wade

1 Like

Oh, good call! I wish I’d thought of that earlier so I could’ve added some kind of “send photo” mechanic (maybe next time). I’m sure there’s a good use for emojis or something like that, though. Thanks again!