I just finished taking a class in C programming, and I now feel a little more confident in my programming skills. So I wanted to see if I could write a game in Inform6 as opposed to 7. So then I started wondering, do people even still write in Inform6 at all, or does pretty much everyone use Inform7 nowadays?
I… basically started to attempt to? Probably not the answer you’re looking for, but I did find enough information to get started. Just got sidelined by things going on in other places, and gave up on picking it up.
Maybe when I’m done with my first Inform7 game, I’ll do what I was planning in the first place and make a mirror-game in Inform6, just for the learning experience. I’ve pretty much got everything set up now, so it shouldn’t be too hard to do in theory.
Dec, do you by any chance know how similar/unsimilar Inform6’s language is to C?
I definitely don’t know enough programming to satisfactorily answer that question. I know that Inform6 is at least partially based off of C, but I don’t know C well enough to tell you how similar it actually is.
I hate to say this, but you’re going to have to look at The Inform Designer’s Manual and do a more thorough comparison yourself. If you have any problems with broken links and actually finding things though, I should be able to help with that.
Inform is actually a bit lower-level than C, as in, closer to assembly language. In fact you can intersperse lines of assembly in I6 code without a problem, and graphics and sound code for example often does this. (Also useful when you need a bitwise xor or an arithmetic shift or such, which have their own assembly opcodes but no dedicated I6 operator syntax.)
You have to declare all local variables in the function declaration, like in old K&R C. There’s no typing; everything (pointers, integers, floats) is a machine word and can be freely interpreted as whatever it needs to be. Limited object-oriented-ness happens through the virtual machine itself, which has an intrinsic concept of an “object” and an “object hierarchy”.
Despite this, if you’re used to C, I6 will be quite easy to learn. The virtual machine it compiles to actually makes some things much more elegant than the equivalent C code.
(As Dec said, though, the Inform Designer’s Manual is going to be your friend. I’ve read it cover to cover more times than I’ve read the I7 docs; it’s well-written and interesting.)
Probably in part because the Z-Machine doesn’t actually have an xor opcode itself!
Thanks all! This should be fun to play around with. Where can I find an Inform6 compiler/editor? The link through the IFArchive appears to be dead…
What OS are you running?
I still use it to “port” some old BASIC type-ins from some of my magazine collection from the 1980’s. I find it easier as the code structure is similar. I still find I7 daunting because it’s “natural Language” is far from natural to me as its rule based technology demands some weird syntax at times. It may be something to do with trying to teach old dogs new programs or something.
If you feel comfortable with C, then I don’t think you will have much trouble with I6.
You can still download a basic copy of the folder set up – with an example game and .bat that you can edit as you please – here. There’s also a plugin you can use with TextPad, that you can use to compile and such in-program, though I’m not sure if it still works with the current version.
Actually, if it does, get back to me – that was around the point where I stopped working on it. I’ll try finding the link to the instructions for it, because the link itself is broken but the instructions are still there, but that might take a while.
David Griffith, I am running Windows 10.
I don’t really use Inform, but if I have a sudden urge to create a z-machine game I will use inform 6 because 7 is so far outside of my programmer comfort zone.
Also there is an emacs inform-mode. Not sure if it is up to date to run with modern versions of editor and language, but it can hopefully still be used somehow.
Try this page:
I cleaned up and uploaded an unfinished I6 game to Itch for Emily Short’s Bring Out Your Dead last year and spent about two days fixing issues in the code. It was actually a lot of fun and in many ways simple parser IF is easier (to me) in I6 than I7. But anything serious I would do in I7.
In case somebody is still interested in this thread, there are new versions of the Vorple library for Inform 6, to make games with even slicker effects!
I try to keep Inform6 up to date vis-a-vis the Standard Library and an install package for Unix-ish systems. I would really really really like for someone well-versed in making packages for Windows to step up and make up an Inform6 package for Windows.
DavidG, does that mean there isn’t an up-to-date one for Windows? I’ve been having trouble finding it somewhere, despite all the resources given in this thread.
All the individual bits that make up Inform 6 are still available, along with an up-to-date build for Windows: it’s all still at http://ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6.html:
- The compiler executable is at http://ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6Xexecutables.html, see “inform633_win32.zip”.
- The library files are at http://ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6Xlibrary.html
- The manual is at http://ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6Xmanuals.html
What David G is referring to is that there’s no one single download for Windows that is a simple installer that includes the compiler, library, manual and examples, etc. similar to what he made for Linux. It’s also important to understand that Inform 6 is not like Inform 7 - there isn’t a single integrated environment that you can just run and type into. Back in the day, most users of Inform 6 would have had their own favourite text editor and used that to write the code, then used a batch file or a configuration in the text editor to run the Inform 6 compiler, and then started up the resulting game file in an interpreter to test it. This is how things got done in the days of long ago …
Oh my. Sounds like a steeper learning curve than I initially expected. I wonder if I’ll be able to handle it, or if I’ll end up giving up not long after I start.
It’s not that any of this is particularly difficult, it’s just understanding a way of doing things that was once common (and still pretty much is, in programming circles) - there’s an assumption of shared knowledge of how to use command line applications to compile code that isn’t really true of the wider world.