|
||||||||||||||||||||||||||||||||||||
|
IFMI Technical Note
Suggested Interactive Fiction MediatypesTechnical Note 3 March 2006
Copyright © 2006 M.D. Dollahite & Contributors.
AbstractThis document is a brief technical note enumerating suggested mediatypes for registration under RFC 4288 to replace the unregistered mediatypes previously in use within the Interactive Fiction community. Status of this DocumentThis document is a Technical Note. It does not describe a standard or official Recommendation, but may be used as a style guide or suggestion for best current practices. Table of Contents
1 Purpose of this DocumentThis document makes suggestions of new Internet Media Types for
Interactive Fiction games. Historically, IF has been
transferred under unregistered experimental media types. However RFC 4288
[MEDIATYPES] published in
December 2005 reduces the barriers to media type registration so greatly
that unregistered types are effectively obsolete. RFC 4288 itself
discourages both the traditional ' 2 Media Type SummaryThe following table summarizes the suggestions made by this document for IF media types. The "More Information" column references other sections of this document where the suggestion is explained in more detail. The suggested media type names are linked to sample registration forms.
The TADS 2 game and save formats cannot be registered because they do not have an explicit written specification. This document may be revised in the future to include suggestions for Hugo and ADRIFT formats. 3 Media Type DetailsThis section provides references to specifications and suggested changes to those specifications for improved suitability as media type formats. 3.1 Z-MachineThe Z-Machine format was originally created by Infocom, and is now probably owned by Activision. However, the de facto maintainer of the format for practical purposes is Graham Nelson, who has deconstructed and extended the format for continued use by other IF developers. (As noted in the Z-Machine specification [ZMACHINE], Nelson had a good deal of help doing this, but most of the credit seems to have accrued to him.) There seems to be no explicit specification of the Z-Machine file format itself. The format is specified implicitly in the Z-Machine specification by virtue of being a binary dump of the VM's memory core. It may be necessary to write a specification dealing specifically with the file format in order to register a media type. The registration form itself may be able to serve this purpose. The media types suggested for Z-Machine Stories are ' The Z-Machine format comes in eight (8) versions, six (6) created by Infocom
and two (2) more devised by Graham Nelson. An optional parameter ' There is no standard filename suffix for Z-Machine games. Infocom typically
used ' 3.2 GlulxThe Glulx format [GLULX] was created
by Andrew Plotkin to replace the aging Z-Machine format. The media types suggested
for Glulx files is ' Like the Z-Machine, Glulx story files are a simple binary dump of the VM memory core. Unlike the Z-Machine specification, the Glulx specification does not state this explicitly. It will likely also need a new document describing the file format specifically in order to be registered. Again, the registration form itself will probably suffice. The standard filename suffix for Glulx Stories is ' 3.3 BlorbThe Blorb format is a generic wrapper for Z-Machine games, Glulx games, and multimedia resources. It allows multimedia resources to be packaged in a single file with the game they belong to. The format is controlled by Andrew Plotkin, who is currently working on a new version of the format [BLORB]. Suggestions here are for the Blorb 2.0 format, but may apply to Blorb 1.1 as well. The generic media type suggested for Blorb files is
' Rather than the suffix syntax, it might be preferable to treat Blorb as a "bucket" format requiring various codecs. These codecs could then be specified as a parameter similar to that defined in RFC 4281 [RFC4281]. Unfortunately, the issues described in RFC 3023, Appendix A.6 regarding the inability of MIME dispatchers to differentiate media types based on parameters applies to Blorb as well. The set of applications that accept Blorbed Z-Machine Stories is currently disjoint with the set that accept Blorbed Glulx Stories; MIME dispatchers must therefore be able to send Blorb files to different applications based on the type of Story they contain. This situation is not expected to change in the foreseeable future, so the parameter method is simply not viable in the real world at this time. It is suggested that URI fragment identifiers
[RFC3986] be added to the Blorb
specification. Such identifiers could include
A discussion of security considerations should also be added to the specification, see Section 4. 3.4 TADS 3The T3 VM Image format [T3VM] was created by Michael J. Roberts to replace his own aging (and undocumented) TADS 2 format. The specification for this format is included in the specification for the T3 VM itself. This specification is somewhat out-of-date, and it is not known whether the VM Image format has been affected by this aging; however the flexibility built into the format suggests that it has probably not been affected by changes to other features. The suggested media type for T3 VM Images is
' The specification is fairly thorough in most areas, but does not include an explicit discussion of security (see Section 4), nor does it define the meaning of fragment identifiers. The T3 VM Image format can contain additional files
embedded in multimedia resource blocks. It may be useful to refer to these
embedded files through fragment identifiers, therefore it is suggested that
the specification be revised to include a definition of such. The suggested
syntax is ' The T3 VM also uses state deltas as save formats; unlike
resource-only images these are a completely different format. The suggested
media type for T3 VM Saved States is
' 3.5 QuetzalQuetzal is a standardized save game format for Z-Machine interpreters [QUETZAL]. The specification is quite thorough; only the addition of a security statement is necessary for registration. 4 Security ConsiderationsMedia type registration requires disclosure of security concerns involved with the use of the format. Few of the specifications for these formats includes security information, but most can be accurately described by the general statements made in this section. Security for IF formats is under ongoing evaluation. Most of these formats are executable bytecode that runs in a virtual machine; therefore security concerns are similar to Java applications. The native application hosting the VM must provide suitable sandboxing to prevent malicious code from accessing the host system. Typical procedures include restricting IO capabilities to allow access only to nonsensitive areas, forbidding direct memory access, and other restrictions on host system access. Refer to RFC 3552 [RFC3552] for a discussion of best current practices regarding writing security texts for RFCs. Changes
References (Informative)
Copyright © 2006 M.D. Dollahite & Contributors.
|
||||||||||||||||||||||||||||||||||||