Difference between revisions of "Glulx"

From IFWiki
Jump to: navigation, search
(See also: category "Glulx games" was replaced (17 October 2014) by "Glulx works")
(Add Thunderword for Android to list of Glulx interpreters)
Line 38: Line 38:
  
 
<table border=1>
 
<table border=1>
<tr><th>Interpreter</th><th>[[Spatterlight]]</th><th>[[Zoom]]<sup>1</sup></th><th>[[Zag]]</th><th>[[Windows Glulxe]]</th><th>[[Git]]</th><th>[[Gargoyle]]<sup>2</sup></th><th>[[Filfre]]</th><th>[[FyreVM]]</th><th>[[Quixe]]</th><th>[[iphonefrotz]]</th></tr>
+
<tr><th>Interpreter</th><th>[[Spatterlight]]</th><th>[[Zoom]]<sup>1</sup></th><th>[[Zag]]</th><th>[[Windows Glulxe]]</th><th>[[Git]]</th><th>[[Gargoyle]]<sup>2</sup></th><th>[[Filfre]]</th><th>[[FyreVM]]</th><th>[[Quixe]]</th><th>[[iphonefrotz]]</th><th>[[Thunderword]]</th></tr>
<tr><th>Platforms</th><td>Mac OS X</td><td>Mac OS X, Unix</td><td>Java</td><td>Windows</td><td>Windows, Unix</td><td>Windows, Unix</td><td>Windows</td><td>.NET/Silverlight</td><td>Web</td><td>iOS</td></tr>
+
<tr><th>Platforms</th><td>Mac OS X</td><td>Mac OS X, Unix</td><td>Java</td><td>Windows</td><td>Windows, Unix</td><td>Windows, Unix</td><td>Windows</td><td>.NET/Silverlight</td><td>Web</td><td>iOS</td><td>Android</td></tr>
<tr><th>Author</th><td>[[Tor Andersson]]</td><td>[[Andrew Hunter]]</td><td>[[Jon Zeppieri]]</td><td>[[David Kinder]]</td><td>[[Iain Merrick]]</td><td>[[Tor Andersson]]</td><td>[[Jimmy Maher]]</td><td>[[Textfyre]]</td><td>[[Andrew Plotkin]]</td><td>Craig Smith</td></tr>
+
<tr><th>Author</th><td>[[Tor Andersson]]</td><td>[[Andrew Hunter]]</td><td>[[Jon Zeppieri]]</td><td>[[David Kinder]]</td><td>[[Iain Merrick]]</td><td>[[Tor Andersson]]</td><td>[[Jimmy Maher]]</td><td>[[Textfyre]]</td><td>[[Andrew Plotkin]]</td><td>Craig Smith</td><td>Stephen Gutknecht</td></tr>
<tr><th>Version</th><td>0.5.0</td><td>1.1.4.1</td><td>12.0.0 / 1.06</td><td>0.4.4.136</td><td>1.2.4</td><td>2008-12-25</td><td>0.981</td><td>n/a</td><td>1.0.1</td><td>1.7</td></tr>
+
<tr><th>Version</th><td>0.5.0</td><td>1.1.4.1</td><td>12.0.0 / 1.06</td><td>0.4.4.136</td><td>1.2.4</td><td>2008-12-25</td><td>0.981</td><td>n/a</td><td>1.0.1</td><td>1.7</td><td>pre-release</td></tr>
<tr><th>Latest Release</th><td>6/08</td><td>6/09</td><td>3/05</td><td>03/09</td><td>4/09</td><td>12/08</td><td>07/08</td><td>3/09</td><td>29/7/10</td><td>21/8/14</td></tr>
+
<tr><th>Latest Release</th><td>6/08</td><td>6/09</td><td>3/05</td><td>03/09</td><td>4/09</td><td>12/08</td><td>07/08</td><td>3/09</td><td>29/7/10</td><td>21/8/14</td><td>2/21/17</td></tr>
<tr><th>Glulxe version</th><td>0.4.3</td><td>0.4.2?</td><td>??</td><td>0.4.3</td><td>??</td><td>0.4.3</td><td>??</td><td>n/a</td><td>n/a</td><td>n/a</td></tr>
+
<tr><th>Glulxe version</th><td>0.4.3</td><td>0.4.2?</td><td>??</td><td>0.4.3</td><td>??</td><td>0.4.3</td><td>??</td><td>n/a</td><td>n/a</td><td>n/a</td><td>0.5.3</td></tr>
<tr><th>[[Glulx]] VM version</th><td>3.1.0</td><td>3.1.0</td><td>2.0.0</td><td>3.1.0</td><td>3.1.1</td><td>3.1.0</td><td>3.1</td><td>3.1</td><td>3.1.2</td><td>3.1.2</td></tr>
+
<tr><th>[[Glulx]] VM version</th><td>3.1.0</td><td>3.1.0</td><td>2.0.0</td><td>3.1.0</td><td>3.1.1</td><td>3.1.0</td><td>3.1</td><td>3.1</td><td>3.1.2</td><td>3.1.2</td><td>3.1.2</td></tr>
<tr><th>[[Glk]]</th><td>??</td><td>CocoaGlk 1.0.7</td><td>Zing</td><td>Windows Glk 1.36</td><td>Windows Glk 1.30</td><td>GarGlk</td><td>??</td><td>none</td><td>[[GlkOte]]</td><td>??</td></tr>
+
<tr><th>[[Glk]]</th><td>??</td><td>CocoaGlk 1.0.7</td><td>Zing</td><td>Windows Glk 1.36</td><td>Windows Glk 1.30</td><td>GarGlk</td><td>??</td><td>none</td><td>[[GlkOte]]</td><td>??</td><td>RemGlk</td></tr>
<tr><th>Glk Standard</th><td>0.7.0</td><td>0.7.0</td><td>nonstandard</td><td>0.7.0</td><td>0.7.0 ??</td><td>0.7.0</td><td>??</td><td>n/a</td><td>0.7.0</td><td>0.7.4</td></tr>
+
<tr><th>Glk Standard</th><td>0.7.0</td><td>0.7.0</td><td>nonstandard</td><td>0.7.0</td><td>0.7.0 ??</td><td>0.7.0</td><td>??</td><td>n/a</td><td>0.7.0</td><td>0.7.4</td><td>0.7.5</td></tr>
 
</table>
 
</table>
  
Line 52: Line 52:
  
 
<sup>2</sup> Gargoyle can use either Git or Glulxe to play games..
 
<sup>2</sup> Gargoyle can use either Git or Glulxe to play games..
 +
 +
<sup>3</sup> Thunderword users can choose either standard Glulxe or the faster Git to interpret Glulx games.
 +
  
 
==Compilers targeting Glulx==
 
==Compilers targeting Glulx==

Revision as of 16:07, 21 February 2017

Glulx is a virtual machine designed by Andrew Plotkin 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.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 games can be played with a variety of interpreters. See the FAQ entry for links to the latest version of recommended interpreters for your platform.

Implementations

Name Author Glulx version Release version/date Packaged in Language Notes
Glulxe Andrew Plotkin 3.1.2 0.4.6, 18 August 2010 Gargoyle, Spatterlight, 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
Git Iain Merrick 3.1.1 1.2.6, 10 February 2010 Gargoyle, Zoom C
Quixe Andrew Plotkin 3.1.2 1.0.2, 18 August 2010 Javascript
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

This table is 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.

InterpreterSpatterlightZoom1ZagWindows GlulxeGitGargoyle2FilfreFyreVMQuixeiphonefrotzThunderword
PlatformsMac OS XMac OS X, UnixJavaWindowsWindows, UnixWindows, UnixWindows.NET/SilverlightWebiOSAndroid
AuthorTor AnderssonAndrew HunterJon ZeppieriDavid KinderIain MerrickTor AnderssonJimmy MaherTextfyreAndrew PlotkinCraig SmithStephen Gutknecht
Version0.5.01.1.4.112.0.0 / 1.060.4.4.1361.2.42008-12-250.981n/a1.0.11.7pre-release
Latest Release6/086/093/0503/094/0912/0807/083/0929/7/1021/8/142/21/17
Glulxe version0.4.30.4.2???0.4.3??0.4.3??n/an/an/a0.5.3
Glulx VM version3.1.03.1.02.0.03.1.03.1.13.1.03.13.13.1.23.1.23.1.2
Glk??CocoaGlk 1.0.7ZingWindows Glk 1.36Windows Glk 1.30GarGlk??noneGlkOte??RemGlk
Glk Standard0.7.00.7.0nonstandard0.7.00.7.0 ??0.7.0??n/a0.7.00.7.40.7.5

1 Zoom users can choose either standard Glulxe or the faster Git to interpret Glulx games.

2 Gargoyle can use either Git or Glulxe to play games..

3 Thunderword users can choose either standard Glulxe or the faster Git to interpret Glulx games.


Compilers targeting Glulx

See also

Links