MOIST SOURCE CODE V1.06

This is the source code of "Moist", an adult text adventure 
game. It is written in TADS, the Text Adventure Development 
System, a development tool designed and implemented by Michael 
J. Roberts. It's a great tool. It is powerful, flexible, not 
that difficult to use, and contains everything you need to 
write text adventure games. Every situation, every puzzle you 
can imagine, you can implement in TADS. I heartily recommend 
TADS to anyone who wants to write text adventure games.

However, if you examine the Moist source code, especially if 
you have some object oriented programming experience, you might 
start to wonder wether TADS is such a good language. Some of 
this code is awful. Things have been solved in ways which clash 
with every aspect of good object orientation. Is this the best 
way to use TADS? If that's the case, than TADS can't be all 
that good.

No, the Moist source code, although all of it is legal TADS, 
is certainly NOT a good example of how to write TADS. I have an 
excuse, though. I wrote this game using a rather old version of 
TADS (2.0.11), without access to the TADS manuals. I used the 
source code of the standard TADS example game "Ditch Day 
Drifter" to find out how one could solve certain problems. 
Furthermore, Moist started out as an experimental game. Before 
I was going to order TADS (TADS was shareware at that time, not 
freeware as it is now), I wanted to see if I could program an 
example game with it. I wasn't expecting that I could finish a 
reasonable game without deep knowledge of TADS. But I could. So 
I hadn't tried to make the Moist code good, I just tried to make 
a game, quickly and easily.

Why then would I release the Moist source code? Simply because I 
got many requests for it. The game is finished for me by now, I
don't intend to work on it any more, so the only reason to hold 
back the source code is that I don't want to encourage new 
adventure writers to write bad TADS code. So here's a warning:

THE MOIST SOURCE CODE IS NOT MEANT FOR THOSE WHO WANT TO LEARN 
HOW TO PROGRAM IN TADS. IT IS NOT A GOOD EXAMPLE OF TADS CODE. 

So please, please, please, if you want to learn how to program 
TADS, look somewhere else, okay? 

If you want to learn how to program an X-rated actor in the way
Moist presents, there is a better option than studying the Moist 
source code. You could download the MMX-libraries, programmed by 
d (musubnu@newsguy.com). He designed those libraries with the 
specific intention to implement a Moist-like X-rated actor, and 
these libraries not only give a cleaner implementation of this 
concept, but they can also immediately be used in a new game.

You might find compiling this game under DOS is difficult, 
because the compilation takes such a great slice from the basic 
DOS memory that it won't fit on most configurations. You can 
compile it using the 32-bits compiler TC32, however.

I had some questions about how I made Fanny walk around and do 
her stuff. To answer those questions, I wrote a short text 
explaining in some detail how this works. I have included that 
file in this package as EXPLAIN.TXT. You could also gather the 
same information studying the Fanny code, but this extra 
explanation may be useful. 

While studying the source code, you might notice awkward 
wording or weird variable names. Some of this may be because I 
am not native English, and although I try to program in English, 
I might have used some Dutch names for variables.

Something else I want to clear up: if you examine the source 
code of the game, you might encounter scenes which you didn't 
encounter while playing the game, simply because it wasn't 
something you tried since it wouldn't arouse you. For instance, 
you can have sex with Fanny the maid even if she isn't excited 
at all, which comes down to a rape scene. If in your fantasies 
you can't see the attraction of rape (these fantasies do arouse 
some people, even women, while it abhors others), you probably 
wouldn't have entered this scene during gameplay. While most of 
the game I personally find an arousing fantasy, not all of the 
scenes work for me. I have added them, because I wanted the 
player to enact his own fantasy, which is not necessarily mine.

One last thing, which is very important:

THIS SOURCE CODE IS MEANT FOR STUDYING PURPOSES ONLY. YOU ARE 
NOT ALLOWED TO CHANGE THE GAME AND RELEASE YOUR OWN VERSION OF 
IT. 

If you feel inclined to make changes to the game (which really
isn't easy because the code is so bad), which you think would
improve it, contact me and we'll discuss it. If I agree with you,
I might allow you to make the changes, or I might make them
myself, and then we can release a new version of Moist together.

If you want to use parts of this game in a game of your own,
especially constructs or coding examples, you can go ahead,
as long as you are not just copying part of my code, including
my texts. However, before you do so, please check if there isn't 
a better way to do what you want to do in TADS, because, as I 
said before, my code in this particular game isn't that good.

If in doubt, contact me and we'll talk about it.

Scarlet Herring (scarlet_herring@yahoo.com)
