Hi folks, just started using Twine and with the help of the forum have learned a few things. I was speaking to a mate today and he said for an adventure game Inform 7 would be a better bet. Does anybody have option’s of which is best and complexity of each? I was thinking about something like a 80`s game, The Hobbit, Madness & the Minotaur. How popular is Inform 7 and is there help out there, as I found this forum is great for Twine help. Cheers Guys.
Twine and Inform have completely different interaction methods: Twine is choice based and Inform is parser. So it rarely makes much sense to compare them directly. Instead you have to decide if you want to create something where the player clicks links or types commands.
If you do go with Inform 7 there is lots of help from folks available on the forum here. The documentation built into the Inform 7 system is also very good. There is a learning curve to programming in Inform 7. But it is designed to be friendly for writers, and not such a challenge for programming.
Good luck with whatever you go for!
There’s the parser/choice divide, but there’s an even more fundamental difference to think about.
Inform comes with an elaborate world model built into it, which is a lot of help if you want to e.g. move objects around, open and close doors, and so on. Twine has basically no world model built into it at all, which means if you want world modelling you have to build it all yourself, but that also means you have complete freedom in how you build it.
So, how well does your concept mesh with an elaborate world full of objects that are picked up and dropped, rooms connected with compass directions, doors that can be opened and closed and locked and unlocked, people who walk around on their own, and so on? The closer your concept is to that, the better fit Inform (or Dialog or TADS) will be. The farther your concept is from that, the easier it’ll be to stick to a system without a pre-built world model, like Twine (or Ink or ChoiceScript).
If you can describe what you’re looking for, we can help you more. If you’re looking for text adventure games (like Madness and the Minotaur) where you wander around and pick up and use items, Inform would be a better choice because it is designed for that kind of game. If you want more of a tree-type game where you make branching choices.
@Baldielocks
From what you’ve described as your inspiration for authoring a game, just go with Inform7. Those games are what Inform7 basically does out of the box.
I think this might be useful to you, after you get your feet wet:
→ http://cs.gettysburg.edu/~tneller/fys187-4/Inform7_CheatSheet.pdf
I’ll drop my personal folder of resources too.
If a 1980s type-in-commands aesthetic is what you’re looking for, then you could try Adventuron, very much designed as a homage to the 8-bit era (particulary, the ZX Spectum). With this, you can easily recreate all the hair-tearing frustrations awe and wonder of a game like The Hobbit, or even make a better one!
It runs in the browser, there’s an established community of authors with an active Discord, and decent documentation. The latest versions are:
Editor:
Adventuron Classroom
Documentation:
Adventuron User Guide
Adventuron - Cookbook
Thanks for the advice and suggestions guys. I think Inform might be the way to go as I do want to move / use items / solve puzzles with them, but I would also like to combine things to do other things and have a branching conversation with NPC, collect a amount of cash so you can wisit “Belethor” in his shop to buy what you need. Can you also create new verb actions e.g. build, water etc. I presume you can also assemble the game, stick it on a USB stick and send it over to a mate for him to try it out.
Perhaps consider something that can also be web deployed as an easier way for testing.
From what you’ve described, you definitely want a parser-based game and a parser-based authoring tool. By all means, try Inform 7, but that’s not the only kid on the block.
@ChristopherMerriner suggested Adventuron and I would second that, as it’s very easy to learn and to use. There’s also Inform 6 with the standard library or the PunyInform library (I use the latter), ADRIFT, Dialog, ZIL, TADS, Alan, Hugo, Quest and several others. The last few aren’t as popular nowadays.
If you have a programming background, I’d recommend anything except Inform 7, otherwise try Inform 7. All of these languages allow you to do the things you requested, such as create new verbs, modify existing verbs, build conversation trees (something I really hate) and so on.
All of these tools allow you to compile the game to a story file and run that with an interpreter OR run it with an online interpreter. Adventuron is a little different in that you compile it to a self-contained html file that has the interpreter built in, so it’s much easier to send to your mate on a USB stick, as he doesn’t have to do anything extra to run the game. Just double-click on the html file.
I’m not intending to start a religious war over this assertion , but there are many of us with programming backgrounds who really like Inform 7.
EDIT: But I know it’s not to everyone’s taste.
Cheers for that Garry. Ive now reached that age where I do have quite a bit of time on my hands and would like to do something that could time. In the past I used MS basic and have recently had a go with GML to make a platformer but decided I
d love to go back and make a text adventure as I did back in the 80s You said if you have any experience in programming go for 6 I don't know if you
d class what Ive done as being enough? So I think it
s between 6 and 7 . What is the difference between the standard library or the PunyInform library?
As @rileypb said above, there are programmers who use Inform 7, so it doesn’t hurt to try both. Inform 6 uses a C-like object-oriented language, whereas Inform 7 uses pseudo-English.
The Inform 6 standard library has been around for years, so it is very well understood and well documented, but that documentation is fragmented as new features get added in new releases of the compiler and the library. The main documentation, the Inform Designers’ Manual 4th edn (or DM4 for short), does not get updated.
The PunyInform library aims to compile to smaller, faster code, so that it runs well on retro hardware, but this just means that it’s also smaller and faster on modern hardware. The smaller size has the added advantage that it’s faster to download a web-based version for those of us with lousy internet connections. The story files for all my games are under 100 KB, whereas the same game written in Inform 7 would be hundreds of KB. It’s mostly for this reason that the vast majority of Inform 7 games are compiled to Glulx, whereas the majority of Inform 6, ZIL and Dialog games are compiled to Z-code. You cannot run Glulx games or large Z-code games on retro hardware. Even a small Inform 7 game runs so dismally slow that it is unusable. Response times of 5 seconds or more are typical.
If using the PunyInform library, there are some significant differences to the standard library. The DM4 is still the main source of documentation, but this is supplemented by a number of PunyInform manuals that document the differences. There’s also a very active PunyInform Discord server. That’s why you don’t see many Inform 6/PunyInform questions on here. They’re normally asked and answered on the Discord server.
I should also mention that the Inform 7 tool chain is superb, whereas the Inform 6 approach may seem a bit clunky by modern standards. I’ve got mine set up so that it’s seamless. Editing with syntax highlighting, compiling, jumping to compile errors, running and even opening the DM4 are all done within the text editor with a single mouse click (or keyboard shortcut, if you prefer). It’s very fast and easy to use, but you will need to spend a little time setting this up.
If you have prior experience with the various m$ basics (“various” because you refer to 80s), I can suggest you to look into Hugo, which is a powerful (and IMVHO still valid) language with enough similiarities with basic language to be an excellent starting point (I still use basic as Q&D proof-of-concept, and indeed, as given in the last “amnesty day”, I used Hugo for concept-proof my current WIP)
Best regards from Italy,
dott. Piergiorgio.
Oh, well if you want to evaluate parser languages from a programming background:
- Adventuron is the closest to BASIC, in that it’s designed to be easy to teach and learn for classroom settings, and is very useful within a particular domain, but not much use once you want to step outside that domain.
- Inform 6 is the closest to C, in that it’s very close to the bare metal of the (virtual) machine, not just allowing but sometimes expecting you to use inline assembly instructions to make it do what you want.
- Inform 7 by analogy would be C++: C with a bunch of additional features bolted onto it, though it also has a natural-language syntax that people either love or hate.
- TADS is the closest to C# or Java, in that it’s a high-level language with an incredibly powerful standard library that can do just about anything, but also has a pretty steep learning curve as a result.
- Dialog is the closest to Prolog, in that it’s literally based on Prolog; it can be surprisingly powerful, but also requires you to get used to declarative programming instead of imperative programming.
So my question to you is: what do you like most in the programming languages you use?
What I would like are some commands in the system to do things like create a random number, x = random(1,10) to use in game. Things like if fastened = 0 then you can not move from a chair your fastened to unless you unlock padlock and remove a chain. Basically I can put extra handling if needed to what ever is possible in engine. you have to move clock hands to 11:15 to open a secret door, as I don not know if either inform engines do this naturally. I have read that the code runs top to bottom so if I set variable locations for items at the top does it run from the top down again to reset variables back to how it was or does it run a loop from the command prompt and then handles commands that follow and then back to the command prompt? Do both Informs use system commands? I have noticed there seam to be tutorials forinform 7 on youtube. I know Im asking a lot here, but all help is appreciated
Fortunately, I believe all of these languages can do all of these things! (Except calling system commands. None of them support that, out of the box, because of the danger that someone would upload malware to the IFComp.) The higher-level ones like Inform 7 and TADS can do things like parsing “move clock hands to 11:15” right out of the box, while the lower-level ones like Inform 6 and Adventuron require special coding for it, but it’s not impossible on any of them.
Cheers for all the help guys, decided I’ll go for Inform 7.
Once again thanks to everybody for the help and advice.
Inform 7 also has many, many extensions that you can use to, for instance, add choice-based gameplay to your parser game.