You do not have permission to edit this page, for the following reasons:
What: Choose a value or type a new one.
Toggle optionsStoryfile formatMetadataProtocol
Author(s):
Andrew PlotkinJoel BerezMarc Blank×Andrew Plotkin
Implements: Another architecture item. For example, Blorb is a format based on IFF.
GlkGlkOte protocolGlulxZ-machine
Home page:
Development website:
Formally specified:
No answer/unknown Yes No
Version:
Date:
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
File extension(s):
.ulx.gblorb.z3.z4.z5.z6.z8.zblorb.zlb×.ulx×.gblorb
MIME type(s):
application/x-glulxapplication/x-zmachine×application/x-glulx
Free text:
'''Glulx''' is a [[virtual machine]] designed by Andrew Plotkin in 1999 which by default uses the [[Glk]] Application Programming Interface (API). The [[Inform]] language can compile bytecode for Glulx. It imposes far fewer limitations on game size than the [[Z-machine]] and offers the I/O features of Glk, allowing Inform programmers to write larger games with more complicated user interfaces, without having to learn another programming language. ==Version History== * 3.1.3: Added support for double-precision floating point; more manipulation of undo states. * 3.1.2: Added support for [[floating point arithmetic]]. * 3.1.1: Added support for [[function acceleration]]. * 3.1.0: Added support for block operations and heap memory allocation. Games using [[Inform 7]]'s "indexed text" or "list" functionality require an interpreter that supports 3.1.0. * 3.0.0: Added [[Unicode]] support. * 2.0.0: Added modular I/O system system. The default I/O system is no longer Glk, which makes this an incompatible change. * 1.0.0: Previous versions were all called "1.0.0" ==How to play Glulx games== Glulx works can be played with a variety of interpreters. See [[FAQ#How_can_I_download_and_play_IF.3F|the FAQ entry]] for links to the latest version of recommended interpreters for your platform. ==Implementations== {| class="wikitable" ! Name ! Author ! Glulx version ! Release version/date ! Packaged in ! Language ! Notes |- | [[Glulxe]] | [[Andrew Plotkin]] | 3.1.2 | 0.5.4, 23 January 2017 | [[Gargoyle]], [[Gelek]], [[Spatterlight]], [[Thunderword]], [[Zoom]] | [[C]] | The reference implementation |- | [[Filfre]] | [[Jimmy Maher]] | 3.1.1 | 0.988, 8 April 2010 | | [[C++]] | |- | [[FyreVM]] | [[Jesse McGrew]] | ? | 25 September 2009 | | [[C#]] ([[.NET]]/[[Mono]]) | Uses [[Channel IO]] rather than [[Glk]] |- | [[glulx-typescript]] | [[Thilo Planz]] | 3.1.1 | 18 October 2016 | | [[Typescript]] | Uses [[Channel IO]] rather than [[Glk]] |- | [[fyrevm-web]] | [[David Cornelson]] | 3.1.1 | 27 April 2017 | | [[Typescript]] [[glulx-typescript]] | Anti-corruption layer on top of [[glulx-typescript]] to flip the usage pattern where the web app controls the game engine. |- | [[Git]] | [[Iain Merrick]] | 3.1.2 | 1.3.5, 30 November 2016 | [[Gargoyle]], [[Thunderword]], [[Zoom]] | [[C]] | |- | [[Quixe]] | [[Andrew Plotkin]] | 3.1.2 | 1.0.2, 18 August 2010 | | [[Javascript]] | |- | [[Unique]] | [[Own]] | ? | | [[AndroidIF]], [[Incant]] | [[Java]] | |- | [[Zag]] | [[Jon Zeppieri]] and [[David Turner]] | 3.1.2 | 1.07, 1 June 2012 | | [[Java]] | |- | [[ZMPP]] | [[Wei-ju Wu]] | ? | 1.5-preview, 3 August 2008 | | [[Java]] | |} ==Status of Interpreters== For an up-to-date list, see [[Glulx interpreters]]. This table was up to date as of July 2009, at which time the most recent [[Glulxe]] was 0.4.4, the most recent [[Glulx]] VM was 3.1.1, and the most recent [[Glk]] was 0.7.0. It includes interpreters for major platforms only. {| class="wikitable" ! Interpreter ! Platforms ! Author ! Version ! Latest Release ! Glulxe version ! Glulx VM version ! Glk ! Glk Standard |- | [[Filfre]] | [[Windows]] | [[Jimmy Maher]] | 0.981 | 07/08 | ?? | 3.1 | ?? | ?? |- | [[FyreVM]] | [[.NET]]/[[Silverlight]] | [[Textfyre]] | n/a | 3/09 | n/a | 3.1 | none | n/a |- | [[Gargoyle]]<sup>2</sup> | [[Windows]], [[Unix]] | [[Tor Andersson]] | 2008-12-25 | 12/08 | 0.4.3 | 3.1.0 | [[GarGlk]] | 0.7.0 |- | [[Gelek Vanilla]] | [[Ubuntu Touch]] | Joan [[CiberSheep]] | 1.5.5 | 14/May/19 | 0.5.4 | 3.1.2 | [[RemGlk]] | 0.7.5 |- | [[Git]] | [[Windows]], [[Unix]] | [[Iain Merrick]] | 1.2.4 | 4/09 | ?? | 3.1.1 | [[Windows Glk]] 1.46 | 0.7.0 ?? |- | [[iphonefrotz]] | [[iOS]] | [[Craig Smith]] | 1.7 | 21/8/14 | n/a | 3.1.2 | ?? | 0.7.4 |- | [[Quixe]] | Web | [[Andrew Plotkin]] | 1.0.1 | 29/7/10 | n/a | 3.1.2 | [[GlkOte]] | 0.7.0 |- | [[Spatterlight]] | [[Mac OS X]] | [[Tor Andersson]] | 0.5.0 | 6/08 | 0.4.3 | 3.1.0 | ?? | 0.7.0 |- | [[Thunderword]]<sup>3</sup> | [[Android]] | [[Stephen Gutknecht]] | pre-release | 3/11/17 | 0.5.3 | 3.1.2 | [[RemGlk]] | 0.7.5 |- | [[Windows Glulxe]] | [[Windows]] | [[David Kinder]] | 0.4.4.136 | 03/09 | 0.4.3 | 3.1.0 | [[Windows Glk]] 1.36 | 0.7.0 |- | [[Zag]] | [[Java]] | [[Jon Zeppieri]] | 12.0.0 / 1.06 | 3/05 | ?? | 2.0.0 | [[Zing]] | nonstandard |- | [[Zoom]]<sup>1</sup> | [[Mac OS X]], [[Unix]] | [[Andrew Hunter]] | 1.1.4.1 | 6/09 | 0.4.2? | 3.1.0 | [[CocoaGlk]] 1.0.7 | 0.7.0 |} <sup>1</sup> [[Zoom]] users can choose either standard [[Glulxe]] or the faster [[Git]] to interpret [[Glulx]] works. <sup>2</sup> [[Gargoyle]] can use either [[Git]] or [[Glulxe]] to play IF works.. <sup>3</sup> [[Thunderword]] users can choose either standard [[Glulxe]] or the faster [[Git]] version 1.3.5 to interpret [[Glulx]] works. ==Compilers targeting Glulx== * [[Glasm]] * [[Glulxa]] * [[Inform 6]] * [[Inform 7]] * [[Snack]] * [[Superglús]] ==See also== * [[:Category:Glulx works|Glulx works]] ==Links== * [https://www.eblong.com/zarf/glulx Glulx webpage]. * [{{raif|msgid=erkyrathF9I057.CMM@netcom.com|cmid=c/7TDWWniDjFc/m/65rsKEV4ZVwJ}} [ANNOUNCE] Glulx preliminary specification] -- announcement of the design on [[raif]]; [[Andrew Plotkin]], April 1, 1999. [[Category:Inform]] [[Category:Old interpreter lists]] [[Category:Glossary]] [[Category:Glulx| ]]