Of course there are already many established tools out there for authoring IF, so why am I trying to create a new one?
First, let me emphasize that JIFFEE is not a new language.
There is general consensus
that inventing yet another IF authoring language is a fool's errand,
and I completely agree.
Instead, JIFFEE explicitly disclaims the idea of using a
special-purpose IF authoring language at all.
In my view, the design of any IF authoring system is based
on a fundamental assumption about language and beginning IF authors which
heavily influences the structure of that system.
There seems to be general agreement that existing programming languages
are by themselves inadequate for the job of writing IF,
so some kind of tool is needed to support authors.
However there are (at least) three possible assumptions a designer can make:
- Any form of written behavioral specification
is too hard for IF authors to use, so the whole authoring process
should be based on filling out forms and clicking on menus.
Adrift is a good example of a system based on this premise.
- General-purpose programming languages are
too hard for IF authors to use,
but natural language is not,
so a domain-specific language is a good solution.
Inform is the most popular example of this type of system,
but TADS and HUGO are also based on this idea.
- A standard programming language, if introduced in a limited and
stereotyped way, is a reasonable and adequate tool
for authoring IF. Systems based on this
assumption are much less popular,
though there are a few like
JIFFEE is based on this approach.
I believe all three of these paths are worth exploring, because
different approaches are likely to appeal to different people.
The more variety we have available, the more potential authors we can reach.
I chose to devote my time and energy to
choice #3 because, although difficult to implement effectively
and thus under-explored,
it offers a number of advantages that make it worth the effort.
In particular JIFFEE has the following useful characteristics:
Does not require the typical Internet user to download or install
Runs completely in the browser, so you don't even need an Internet connection. You can put the files on external storage (e.g. a CD-ROM, a memory stick, or even a floppy disk), double-click on the HTML file, and play.
Has an extremely low barrier to entry (beyond the simple basics of using a PC). The ultimate (admittedly ambitious) goal is for a 3rd-grader to be able to read the documentation, write a simple game, and get it working.
Supports Unicode, so it can easily be used to write and play games in any language.
there are a huge number of web pages that can serve as fodder when you
search the web for answers to your questions.
 Most of the nasty things you've
so there are a couple of rather painful exceptions to this rule that
JIFFEE has to work around.
Sometimes life is hard.
JIFFEE and JIFFEEgames.com copyright © 2007-2010 by Michael S. Kenniston. All rights reserved. This page was last updated on 2010-01-01.