Difference between revisions of "FyreVM"

From IFWiki
Jump to: navigation, search
(Links)
Line 1: Line 1:
'''FyreVM''' is [[Textfyre]]'s interpreter library for the [[Glulx]] virtual machine. The library was written by [[Jesse McGrew]] in C#, which can be compiled for .NET/Mono or Silverlight, so FyreVM can run on Windows, Linux, and Mac OS X. Customized applications based on FyreVM are shipped with Textfyre's commercial games, and since May 2010 the library is also available under the [[MIT license]]. The source code is now hosted at [[SourceForge]].
+
'''FyreVM''' is [[Textfyre]]'s interpreter library for the [[Glulx]] virtual machine. The library was written by [[Jesse McGrew]] in C#, which can be compiled for .NET/Mono/Silverlight/Windows Phone/Windows 8 Store apps, so FyreVM can run on Windows, Linux, and Mac OS X. Customized applications based on FyreVM are shipped with Textfyre's commercial games, and since May 2010 the library is also available under the [[MIT license]]. The source code is now hosted at [[Github]].
  
The interpreter impcllements the [[Channel IO]] system instead of [[Glk]], so it is only compatible with games that were compiled with FyreVM in mind. [[Inform 7]] games can be made FyreVM-aware simply by including a [[library extension]], allowing them to run in both FyreVM and Glulx interpreters using Glk. The channel system allows parts of the game output such as score, hints, dialogue options, and prompt to be routed to a user interface layout customized for the particular game.
+
The interpreter implements the [[Channel IO]] system instead of [[Glk]], so it is only compatible with games that were compiled with FyreVM in mind. [[Inform 7]] games can be made FyreVM-aware simply by including a [[library extension]], allowing them to run in both FyreVM and Glulx interpreters using Glk. The channel system separates the game play functionality from the input and output constructs so that a custom interpreter can be created for each game. Output is delivered from a FyreVM game in the form of a NVP (name-value pair) list. Default channels include MAIN (for the main text), SCORE (for the current score), TURN (current turn), LOCATION (for the current room name), and more. Custom channels can be created with a few lines of additional code. Directing output to a channel is done using a simple Inform 7 phrase:
 +
 
 +
Every turn:
 +
    select the chapter channel;
 +
    say "[current channel name]";
 +
    select the main channel.
  
 
==Links==
 
==Links==

Revision as of 19:25, 16 October 2014

FyreVM is Textfyre's interpreter library for the Glulx virtual machine. The library was written by Jesse McGrew in C#, which can be compiled for .NET/Mono/Silverlight/Windows Phone/Windows 8 Store apps, so FyreVM can run on Windows, Linux, and Mac OS X. Customized applications based on FyreVM are shipped with Textfyre's commercial games, and since May 2010 the library is also available under the MIT license. The source code is now hosted at Github.

The interpreter implements the Channel IO system instead of Glk, so it is only compatible with games that were compiled with FyreVM in mind. Inform 7 games can be made FyreVM-aware simply by including a library extension, allowing them to run in both FyreVM and Glulx interpreters using Glk. The channel system separates the game play functionality from the input and output constructs so that a custom interpreter can be created for each game. Output is delivered from a FyreVM game in the form of a NVP (name-value pair) list. Default channels include MAIN (for the main text), SCORE (for the current score), TURN (current turn), LOCATION (for the current room name), and more. Custom channels can be created with a few lines of additional code. Directing output to a channel is done using a simple Inform 7 phrase:

Every turn:
   select the chapter channel;
   say "[current channel name]";
   select the main channel.

Links