Finally taken the plunge and decided to start coding my IF. However I have a couple of questions.
First question is simply this. Will any games I make in inform 7 work with older Z engine interpreters? I’m planning on making this so people with classic and next gen Amiga computers can play and the interpreter was last maintained in roughly 2000.
Next is something I can’t seem to find an answer for. In my IF I have a pda that is carried from the start. As the player explores they collect data from items that will be added to the pda. I want the entries to be readable at any point once the data has been collected. What would be the best way of going about this?
First answer: Maybe. Stick to z-code (Inform7 can target 5 and 8.) Write up a quick test game and compile it for 8; see if the interpreter you plan to use can run it.
Second answer: Two solutions that come to mind are the ‘look up in’ action, and a conversation system. You’d need some means to track which things the player has known about; subject objects, or a table of quips. I like objects, since Eric Eve’s conversation package will do all the work of updating their familiarity for you. If you’ve already got a complex conversation system in place, you might as well use it for this too.
I’ll flesh out the table option a little bit in pseudo inform.
Table of PDA entries
Check consulting the pda about some text: [Look up the actual action name in the index, or make a new action]
If the table contains a row with name entry the topic understood, say that row's text entry; [not actual legal inform]
Otherwise say "beep".
To make a (subject - some text) known with name (name - some text):
[two options here: Have a flag to track it in the table, or just give the table some empty rows and add each topic as it becomes known.]
IIRC, Inform 7 produces game code that is considerably more bloated than Inform 6. If your game is small, this may not be a problem for you, but if you’re planning a game of any size at all, you would be well advised to learn and use Inform 6 instead. It’s a traditional programming language and has no IDE, but there’s good documentation, there are good tutorials, there are plenty of extensions, and a large game can be written in I6 without exceeding the boundaries of the .z8 game file format.
I’m going to go with Jim on this one: a moderate-sized I7 game with an extension or two is likely to exceed the limits of .z8. (I don’t really care all that much; I just leave the ‘compile to Glulx’ option on. Vorple’s the only sore point.) If you want a large game and it absolutely has to target Z-code, go with Inform 6.
I have looked and there are Glulx interpreter available for 68k Amiga and next gen ppc Amiga systems. So if I would be best sticking to Glulx for 7 then I will do that. I was looking into Inform 6 but I thought 7 would be easier.
Without getting into this whole debate, which has certainly been thrashed through a number of times, I will make two brief comments. First, if you’re relatively new to computer programming, it’s probably true that I7 will be easier. (Also, it has a nice friendly development environment.) On the other hand, newcomers sometimes write sentences that look perfectly sensible to anyone who speaks English, but that the I7 parser either fails to understand or interprets wrongly. I7 code looks like English, but it isn’t, really.
The consensus seems to be that a lot of people really like I7. I just feel it’s good to be aware of the assumptions that you may unconsciously be making when choosing a new programming language.
Don’t get me wrong, if I had the time (1 year old child and wife expecting second child in Feb) I would be all over i6. However from a practicality stance I just thought i7 would be easier to cope with while I settle into IF again. I have not done this since the C64 days with the quill
The thing is in Inform 7, yes it does become easier to read and understand even if you don’t know much about computer programming. But to write it is more difficult; and still you need to understand computer programming to write it and even then it will be mistake.
Making an Amiga game using I7 is easy enough. I’ve not used AmigaOS4.0, but AmigaFrotz runs on the classic machines. I haven’t found any compatibility issues, nor do I expect such given the nature of the z-machine. You can easily create fairly large games with I7 for the Amiga (even a 500 should be sufficient) as long as you don’t spend memory like a drunken sailor.