My favorite new technology is not new. It's a natural-language game engine for creating text-based interactive stories. (Inform 7)
The latest version was released in 2022. This excellent and completely usable book was published in 2011. The game engine was created in 2006, as a rebuild of a project which was introduced when I was still getting carded for cigarettes (1993).
This is a good and appropriate pace for technology.
I am reading the #Inform7 manual for the first time, and I really appreciate how an entire section in the beginning of the manual is devoted solely to punctuation conventions.
Possibly my favourite thing about writing these Bubble Gumshoe text adventures is coming up with the confectionery-based characters and little jokes about them.
#ScreenshotSaturday #gamedev #inform #inform7 #InteractiveFiction #BubbleGumshoe #WhoWhackedJimmyPiñata
#Presentation ( 1/2)
I make interactive fiction games, using #Inform6, #Inform7 and #textallion (#cyoa system), in French.
Some of my creations:
https://ifdb.org/showuser?id=8b63iggeafjjqlt7
My other activities :
- Programming:
- Exploring the #forth programming language: https://gitlab.com/garvalf/forth-is-fun
- hacking the lightweight markup system #txt2tags :
https://github.com/farvardin/textallion
- a simple #wiki system: https://lionwiki-t2t.sourceforge.io/
#Présentation ( 1/2)
Je réalise des jeux de fictions interactives, avec #Inform6, #Inform7 et #textallion (système de #ldvelh), en français.
Quelques unes de mes créations :
https://ifdb.org/showuser?id=8b63iggeafjjqlt7
Mes autres activités :
- Programmation :
- Explorer le langage de programmation #forth : https://gitlab.com/garvalf/forth-is-fun
- hacker le sysème de balisage léger #txt2tags :
https://github.com/farvardin/textallion
- un #wiki léger: https://lionwiki-t2t.sourceforge.io/
Not gonna lie, I'm fond of the way #Inform7 lets me write like Arlo Guthrie:
```
The twenty seven eight-by-ten colour glossy photographs are a plural-named thing.
The twenty seven eight-by-ten colour glossy photographs are carried by Officer Obie.
```
(Inform 7 doesn't like names that include the word "with", so I couldn't use the full name "twenty seven eight-by-ten colour glossy photographs with circles and arrows and a paragraph on the back of each one explaining what each one was to be used as evidence against us".)
More #interactiveFiction #game writing, #coding a #ChristmasCarol scene. Magical to see the game print the lyrics being sung, in italics. Very immersive. And Christmassy! The game is only partly set at #Christmas. Coding in #Inform7, a natural language, declarative, object-oriented #programming language. #GameDev #IndieGame
I've been tinkering with a game in #inform7 that has mysterious buttons for the player to figure out. For my own sanity, I'd like my source code to refer to "the eject button" or "the tea pouring button", but even if you mark the buttons as scenery to prevent Inform from listing them in the room contents, it will still show the player the names in disambiguation prompts. That is, if you say PUSH BUTTON it may ask "Which do you mean, the eject button or the tea pouring button?" spoiling the surprise.
You can get around this by setting the "printed name" of each thing, which controls how Inform shows the name to the user, but the "printed name" is not the understood name: if you tell Inform that the printed name of the eject button is "big red button", and the player tries to PUSH BIG RED BUTTON, the game will say "You can't see any such thing."
I got around this by creating the button with a name that included all the relevant parts: "the big red eject button". Then I can refer to it as "the eject button" in the code, and the player can refer to it as "the big button", "the red button", or even "the eject button" once they figure out what it's for.
@w omg! Welcome to the ranks. Arguably you'll gain some functionality, but lose modern libraries if you use #Inform6. For example, implementing a turing machine in #inform6 is way easier than in #inform7. (I had this challenge with my friend almost a decade ago lol).
What I find crazy is how the top three tweets that got synced to my instance of yours are:
- Privacy
- Inform
- Nix
How are humans so similar lol.
More #interactiveFiction game coding, working on my new game in #Inform7. Currently building the main structure, working forward through the early stages of game. Now making a start on Chapter 2 - I suspect there will be 7 chapters by the end. And just named a property a house name that I am doubtful may ever have been used in real life. But is totally appropriate in this specific case. #GameDev #IndieGame #IndieGames #Game #TextGame #TextAdventure #Inform
This week, on let's make IF...
Busy busy! Adding abbreviations for common commands, introducing a bit of randomness, and ending a game.
https://topexpert.blog/2024/09/30/lets-write-if-9-refinements-and-endings/
Firing up #Inform7 on my #Mac to write another #interactiveFiction #game. Getting stuck into the prologue. This will be a much bigger game than I've written before, including 7 main sections in the #code. It is going to take some time. So best get on with it sooner rather than later! Excited to be back #coding. There's something magical about using this #declarative / #naturalLanguage / #objectOriented #programming language and IDE. #GameDev #IndieGame #TextGames #Parser #TextAdventure #Inform
I wonder if someone could (mis)use Inform7 enough to create a roguelike with it.
I’m thinking no — or, in any case, it would be *extremely* tough. Aside from the difficulty of creating the required user interface, Inform7 is missing some pretty key language concepts such as key/value dictionaries, and it is very difficult to handle any sort of dynamically created objects. This isn’t surprising, of course, since it was designed with text adventures in mind.
Beginners to #Inform7 frequently get into trouble by confusing creating a kind of object with creating an object, e.g., saying:
A desk is a kind of supporter.
Check touching the desk: [...]
That'll compile just fine, since Inform is insensitive to what articles you use in code in most places An important exception is after `called` in object creation.
`The box is in the lab` will result in the creation of a thing named `box` whose `indefinite article` property is "", the empty text.
Designing a new #interactiveFiction game. Made huge progress with the design yesterday. It's big for me in scale, and pretty ambitious, but exciting at the same time. I'm now pondering the overall game name. Which can be changed if I want to in future, but I'd prefer to settle on it sooner. Close to firing up a new #Inform source code file and setting up the initial structural framework. #IndieGame #IndieGames #GameDev #CreativeWriting #Coding #Programming #Game #Inform7 #TextAdventure #Parser
@tivasyk I actually wrote an #interactiveFiction game for #children using #inform7! https://www.complete.org/the-grumpy-cricket/
Let's Make IF: Season 2
Let's Make IF reached some important milestones last time, including some solutions that I had been working on since this series began. I think it's time for season 2.
I'll return to fundamentals for a few posts before thinking up a new challenge to take on. If you are brand new, this is a great time to jump on.
https://topexpert.blog/2024/07/03/lets-make-if-season-2-episode-1/