I have been working as a professional in both the computer hardware and software fields since 1965. Now, at the age of seventy-three, I’m still very interested in writing yet another IF game. However, I’m finding that I am now forgetting more coding techniques than I remember. This brings up the question of which is more powerful and easier to learn between TADS3 and INFORM7? I’m leaning toward TADS3 but would appreciate some honest opinions about which path to take. I will looking for help on the basics of getting started no matter which of these I decide to use. Hope you don’t mind my bothering you people at some times
Inform 7 does a lot of interesting things with rules and natural language. I think it’s worth looking at in any case, and if it grabs you then there’s no reason not to stick with it. To the extent that you are not swayed by nostalgia, you should target Glulx and never look back at the Z-Machine.
TADS 3 the language is extremely easy to learn. If you have any experience with C-style syntax, I expect you could master it in a few hours. Objects are straightforward, inheritance somewhat less so.
(I am quite biased; I would say TADS 3 is my favorite programming language, to the extent such a statement makes sense. Dynamic (but strict) typing, anonymous functions, and macros all make for a wonderful level of expressiveness.)
The adv3 library - the huge chunk of standard TADS 3 code you will almost certainly use to write games - is not easy to learn. Rather the opposite. It is big and complicated and hard to understand. But it is wonderful in its own right, as a sort of monument to the lessons learned in IF design over the last two decades.
It is difficult to love, in the way I love the language, because so much of any given session is spent trying to coax adv3 into delivering the desired effect. Fighting it is a losing battle. But there is a sort of zen that comes with embracing its structure and falling in line.
I don’t think it’s easy to write an IF game in any language. I do think it’s harder to write an out-and-out bad game in TADS 3, because adv3 makes it difficult to create one that doesn’t at least showcase MJR’s considerable talent. Inform 7, if and when you master the syntax, tends to stay out of the way.
IMHO it’s quite useful to play a few games written on each platform and then read their source code. Check Return to Ditch Day on T3 and Bronze or one of the other I7 examples. That reveals not only what can be done but also how it’s done and which metaphors and constructs fit you better.
If you’re using a Macintosh, I7 has a great advantage. TADS Workbench is not cross-platform. Even under Crossover, it’s only about 99% functional on a Mac.
I7 also has, at the moment, a considerable advantage if you hope to attract players who prefer to play in their web browser rather than download an interpreter program.
I’ve written games in both languages, and I strongly prefer T3. But I’m quite aware that others disagree.
Quite aside from questions of which syntax you prefer, T3 is more mature and more stable. In addition, its library is far more extensive. Harder to learn, perhaps, but more extensive. T3 has multiple inheritance; I7 does not. I7 has an active community of users who are developing extensions, which is good … but some of the extensions aren’t updated to be compatible with new releases, which is bad.
Could be a good solution (though it appears you would have to purchase both Fusion4 and a copy of Windows, right?). Have you tried using Workbench in this setup?
Also, I’m curious about the use of keystroke equivalents. When running Workbench on my PC, I use a very nice macro program called Auto Hot Key, which saves me a certain amount of typing by letting me define macros. But this program works at a pretty low level in the OS. Do you happen to know if Auto Hot Key or other such macro programs will work under Fusion4?
Yes, you need to buy both – not a big investment, though, for the flexibility it allows. Workbench on Windoze on a Mac seems like a brilliant platform to me.
No experience with Auto Hot Key. VMWare gives you a Windoze environment exactly like any PC – except for variations imposed by the Apple keyboard, if you’re using one; if you’re using a third party keyboard and mouse, it will work exactly as a PC. Mac-specific macro apps presumably will not work when running Windoze on your Mac – but I’m just guessing.
Are you saying yes, you’ve tried running Workbench with this setup, or are you just saying yes, you’d have to buy the software?
The reason I ask is because I’ve used Workbench under Crossover on the Mac, and it’s NOT 100% functional. The options box doesn’t display properly, and although you can select new options for your work session, they’re not saved properly when you exit the program. So the real question is, have you personally tried using Workbench in this setup?
Crossover is Wine under the hood, which is to say that it doesn’t actually use Windows–it uses other libraries to mimic Windows functionality. VMware (about $80?) and VirtualBox (free!), on the other hand, are full emulators of x86 machines, which means that you’re actually installing and running Windows itself on a VM. In other words, running the Workbench under VMware or VirtualBox is running it on Windows, so it will work, and so will your Windows hotkey program.
Here’s a little more information about my plans for an IF game. It will loosely follow the drift of the older “Humongeus Cave” type games. However, The scene will be a recently discovered Mayan-type civilization and ancient large city that has recently been found in Peru in the mountains. My Plans will, hopefully, include such things as eating, sleeping and varying time passage; which will include the passing of day and night. It is because of these plans that I feel that TADS3 will be the more suitable language than Inform.
My biggest problem right now is how to go about searching the various Tads manuals, extensions and examples on how to accomplish various actions. I hope this makes some sense.
For example I’m looking for some code in Tads that forces me to wait for any certain keypress before proceeding with the text of the story. I know I’ve seen this example but I can’t find it right now. Anyone willing to help