Skip to content

Interactive Fiction player for the web

License

Notifications You must be signed in to change notification settings

He4eT/elseifplayer

Repository files navigation

ElseIFPlayer

ElseIFPlayer is an interactive fiction player for the web. It's powered by cheap-glkote and Emglken.

Player available here: https://he4et.github.io/elseifplayer/.

Getting Started

  • Ensure that you have Node.js and NPM installed on your system.
  • Install the required packages by running the command npm install in your project directory.
  • Launch the local development server using npm run dev.

Build

To create a production build, use the following command:

npm run build <public-url>
  • If you intend to host the player on https://your.domain/, use:
    npm run build /
    
  • For hosting it in a specific directory like https://your.domain/some-directory/, use:
    npm run build /some-directory
    

The finalized production bundle will be generated and stored in the /docs directory.

Direct links

You can provide a direct link to a specific game using the following URL format:

/#/<mode>/<encodedURL>/[theme]/
  • mode specifies the player interface mode:
    • play: the default multi-window mode
    • focus: the single-window mode without additional windows, such as the status bar
  • encodedURL represents the location of the storyfile encoded with encodeURIComponent.
  • theme is optional and allows you to choose a specific UI theme.

CORS

If the player and your storyfile are located on different domains, you need to use appropriate CORS settings.

If you cannot modify the server settings, you can use the Parchment Proxy as an alternative.

Direct Link Examples

License

ElseIFPlayer is distributed under the MIT License. However, please remember to respect the licenses of the interpreters listed on the Emglken page.