Here's how to do it in Inform. Firstly, ordinary Inform as it stands
can't do this, because it produces an entirely machine-independent object
code, whereas any kind of external program will run on a specific machine.
Inform produces code to run on an "interpreter" program, in effect a
virtual CPU. Now several opcodes numbers are available for anyone who
wants to, to use them. So what you have to do is:
- make one of these unused opcodes call a program of your own, by
modifying the interpreter for the particular machine you're interested
in;
- make your Inform program assemble this opcode when you want to call
the external program. (This step is easy.)
> My real goal is to make a text-adventure version of the classic Wizardry
> series, so my aim is more of a CRPG than a true IF. Rather than "GO N",
> the movement would be arrow-keyed, but I would still need a parser to
> handle NPC interaction. TADS/Inform would save me the work of writing a
> parser (not hard, but not all that fun), but I would have to add in (1)
> auto-mapping, (2) auto-note-taking, (3) combat, (4) random encouters, (5)
> character creation, and (6) character progression (skills, levels, etc.)
>
All of these things can be done in straightforward Inform, I think. I
grant you that there is work involved, _but_ you would get all the hassle
of simulating the world done for you (objects, ownership, containers,
light and dark, players, the parser, etc., etc.). I'm sure the same
can be said for TADS.
Graham Nelson
Oxford