Inform
Informは1993年、Graham Nelsonによって開発された。1996年、NelsonはInformを一から書き換え、バージョン6 (Inform 6) を開発した。その後約10年間、Inform 6は安定版としてインタラクティブフィクションの執筆に広く使われた。
Inform 6は大きく2つのコンポーネントに分かれている。Inform コンパイラは、ソースコードからストーリーファイルを生成する。Inform ライブラリはプレイヤーのテキスト入力の構文解析器と世界モデルを保持するための機能を備えたソフトウェアスイートである。また、コンパイラの入力となるプログラミング言語もInformと呼ぶ。
Inform 6とZマシンは本来、インタラクティブフィクションの開発用に設計されたものだが、それ以外の開発にも使われている。例えば、BASICインタプリタ、LISPチュートリアル(完全なインタプリタ付き)、テトリスゲームなどのゲームがInform 6を使って開発されたことがある。
初期のInformでは、オブジェクトはいわゆるオブジェクト指向プログラミングのオブジェクトとは異なるもので、クラスに相当する概念がなかった。その後、クラス定義が追加され、オブジェクトはクラスに属せるようになった。オブジェクトやクラスは複数のクラスを継承できる。インタラクティブフィクションゲームには一般に多数のオブジェクトが登場する。そのためInformでの多くのオブジェクトは「メタクラス」オブジェクト以外のクラスを継承しない。しかし、オブジェクトには属性(ブーリアン型のプロパティ、sceneryやedibleなど)があることが多く、Informライブラリがそれを認識する。普通の言語であれば、これら属性は継承によって実装されるべきものである。
以下にInform 6のソースコードの例を示す。