Difference between revisions of "User:Mulehollandaise/Interpreters TODO"

From IFWiki
Jump to: navigation, search
(Interpreters: -> add section vorple)
(Web Sites and Services)
Line 198: Line 198:
  
 
A web service where you hand it a URL of a zipped-up Twine package; it gives you a playable version. This would allow IFDB to link to Twine zips on the Archive (or on people's web sites) with a "play online" button. There would also be a "download zip" button for the offline-play fans.
 
A web service where you hand it a URL of a zipped-up Twine package; it gives you a playable version. This would allow IFDB to link to Twine zips on the Archive (or on people's web sites) with a "play online" button. There would also be a "download zip" button for the offline-play fans.
 +
 +
== IFPress ==
 +
 +
A FyreVM glulx based CMS web application that allows authors to drag-drop design the web interface for their Inform 7 stories, similar to WordPress. System would allow authors to upload story files with special I7 extensions that allow the CMS to reflect internal structures. This would allow the CMS to display various story paths and let the author fine tune how those "pages" would display. Or the author could choose from predefined templates and widgets. New extensions would become available for UX assistance, like built in tutorials, web menu's, hyperlinked words, and more.
 +
 +
=== Technical help needed ===
 +
 +
* TypeScript developer
 +
* Inform 7 author
 +
* Inform 7 extension author
 +
* Web UX Designer
 +
* Front-End Developer
 +
* Front-End Dev Ops
  
 
= Specs and General Information =
 
= Specs and General Information =

Revision as of 14:22, 20 November 2015

Following this thread, this is an attempt to list some of the work that needs to be done on some interpreters. This encompasses bugs, features, and even ideas for new projects.

I've expanded this to include development tools as well. We could move this to a general ifwiki page. --Z

Entries marked "(proposal)" do not exist! Yet.

Development Tools

Inform 7

Project page: [1] Issue list: [2] Feature suggestions: [3]

- A set of choice-based and hyperlink-based extensions. (Preferably based on Unified Glulx Input).

Inform 6

Project page: [4] Issues list: [5]

- Update more memory settings from manually-set to allocate-as-needed.

  • This means that game authors don't have to set $MAX_WHATEVER limits as their games get larger.
  • There are a lot of these; focus on the ones which tend to overflow first.

Inform 6 library

Project page: [6] Issues list: [7]

  • Write a test suite for the standard parser and model world.

Interpreters

Gargoyle

Project page: [8] Issues list: [9]

Reviving the project

- Need an official maintainer (is there one?)

  • Skills : C, time

- Report bugs

  • Skills : none?

Bugs that need to be fixed

- Fix bugs on the list of issues

  • Skills : C

- High priority bugs

  • "Fix the scrolling delays that have been reported?" (from zarf's list)
  • Full support for high-res ("retina") displays!

- Wade: people have hacked Gargoyle just to get a popular game to run (eg Counterfeit Monkey)

- Wade: sound on Mac (are we talking about the Glulx terp?) have bugs, not longer up to date, out of date with glk

- I think the Linux version of the frotz in Gargoyle has a bug where some one-letter commands are not recognized, but I could be wrong (todo: test and see)

Supporting more formats

- Support TADS games with version > 3.1

  • dddddd needs help with adapting his Linux code to multiplatform: [10]
  • Skills: Multiplatform C/C++ and jam required. Bonus if TADS and gargoyle codebases familiarity.

- TADS webui support

  • I think this means support HTML TADS ?

- Support ADRFIT 5 games?

- Use the "very latest" Alan interpreter

  • Robert DeFord's Onaar (IFComp2015) patched Gargoyle so that it used the latest Alan interpreter
  • Skills: see with Robert DeFord

Other

- Add "Preferences" UI


Parchment

Project page: [11] Issues list: [12]

- allow CSS stylesheets to be passed in URLs, implement timed effects, autosave system, etc.

  • Skills : JavaScript, Z-Machine knowledge

- Is the buglist on GoogleCode still relevant?

Zeugma

- Detailed instructions on how to use this

  • Skills: C64 and multi-function cartridges (like 1541 Ultimate)

- Accents are not displayed yet

  • Skills: being awesome at C64 programming

- perf improvements? (Inform 7 games are way too slow)

  • I doubt it's possible since the author seems pretty awesome at C64 stuff
  • Skills: being awesome at C64 programming

Glulxe

Project page: [13] Issues list: [14];

- Finish integrated debugger.

  • Will also need UI work in all Glk libraries

Quixe/GlkOte

Quixe project page: [15] Issues list: [16]; GlkOte project page: [17] Issues list: [18] (These are the UI and engine of the Glulx Javascript interpreter. Normal people don't have to fuss about the distinction.)

- Implement sounds

  • Skills : JavaScript, Glulx knowledge

- Implement style hints? Or wait until the CSS-style stuff is implemented?

- Detailed instructions / documentation? (kind of like that

  • Skills : fiddling with zarf's tools until you get it right, clear writing

Glulx-TypeScript

- Implement Templates

  • TypeScript, JavaScript, HTML, CSS, Design, Inform 7 (story and extensions)

WinGlk (Windows Glk library)

- Add integrated scrollback.

CocoaGlk (MacOS Glk library)

Project page: [19] or the copy included in [20] -- sorry, it's unclear which is more current

  • Many bugs! Memory leaks and pointer errors! See [21]
  • When fixed, recompile Mac Zoom and release it.

iOSGlk

  • Graphics and sound
  • Merge data-import/export from iOSGlulxe to iOSFizmo (ability for interpreter to import and export save files to/from Dropbox, etc)

MacOSGlk (proposal)

It wouldn't be too hard to port iOSGlk to MacOS. Perhaps easier than understanding and fixing up CocoaGlk.

  • You'd need to change UIKit calls to AppKit (or use a shim layer? must be one) and also modernize the text display widget.
  • This gets you a lightweight MacOS interpreter. Glulx and Zcode only, no skein or game collection UI, but it would run.
  • This would be a good "learn Swift" project.

RemGlk (JSON-interface Glk library)

  • Support timer events (I think these will have to be handled by GlkOte and transmitted through the JSON API)

Twisty (Android Glk/Glulx interpreter)

Project page: [22] Issues list:[23]

  • Skills : Android/Java, Z-machine

Vorple

Repository: [24]

The function KeyCharPrimitive()/"wait for any key" is not supported

  • Skills : JavaScript, a little Z-machine knowledge? (maybe)

Command history (browsing old commands with the up arrow key) isn’t available.

  • Skills : JavaScript

Menus are not available

  • Skills : JavaScript, Z-Machine

Undoing, saving and restoring, maybe?

  • Skills : JavaScript, Z-Machine

Glulx support

  • talk to Juhana about it first!
  • Skills : JavaScript, Glulx, Quixe

Web Sites and Services

IFDB

- Modernize UI

- Understand the existing of pure-HTML games, iOS-only games, etc

- IFOMatic [25]

  • This is a demo of a tool which can run through a batch of Z-code and Glulx games and generate a "screenshot" (text, not GIF) of the game's opening screen. Would work in bulk, but would need a human to go through and tweak for particular games (e.g. if you have to hit a key to start).
  • Something like this could work for Twine, but would need completely different underlying technology. (IFOMatic is based on RemGlk.)
  • Finish this up, add to IFDB?

IF Archive

- Rewrite ifmap (the program which generates the index files) from C to Python 3. Fix all the stupid encoding issues.

- Implement the proposed http://babel.ifarchive.org/ service (a RESTful API for fetching IF metadata)

IPlayTwine service (proposal)

A web service where you hand it a URL of a zipped-up Twine package; it gives you a playable version. This would allow IFDB to link to Twine zips on the Archive (or on people's web sites) with a "play online" button. There would also be a "download zip" button for the offline-play fans.

IFPress

A FyreVM glulx based CMS web application that allows authors to drag-drop design the web interface for their Inform 7 stories, similar to WordPress. System would allow authors to upload story files with special I7 extensions that allow the CMS to reflect internal structures. This would allow the CMS to display various story paths and let the author fine tune how those "pages" would display. Or the author could choose from predefined templates and widgets. New extensions would become available for UX assistance, like built in tutorials, web menu's, hyperlinked words, and more.

Technical help needed

  • TypeScript developer
  • Inform 7 author
  • Inform 7 extension author
  • Web UX Designer
  • Front-End Developer
  • Front-End Dev Ops

Specs and General Information

Glulx/Glk Spec

Look at Zarf's list and help him!

- Glk 2.0 (integrate HTML and CSS) + change interpreters to fit the spec (see the post)

  • Skills: don't know

Releasing games

- Write a tutorial on how to release a standalone-app of your interactive fiction (Inform, in particular)

  • Some people use NSIS to create bundle; others say "rename WinFrotz.exe or Gargoyle.exe so it has the name of your game and it'll start it automagically"
  • Skills: writing a clear tutorial for multiple platforms and formats

- How do you do it on mobile?

  • iOS: Z-code and Glulx instructions at [26]
  • Android: is there *any* way to do it?

Other

- Mobile interpreters? (on Android, iPhone, etc)

  • Skills: unknown yet

- A Choosatron-style interpreter (that prints the output on 'receipt'-sized thermal paper) would be amazing

  • Maybe we can use a Rasberry Pi for that (frotz is available on it + some people (see http://frederickvandenbosch.be/?p=1297 ) interface raspPi (and its touch screen) and thermal printers
  • Skills: Arduino, code, etc.