Quixe+FyreVM

My good friend Jeff Panici and I have finished the initial testing of the fork of Andrew Plotkin’s Quixe JavaScript Glulx library to emit channel data exactly as FyreVM does.

The fork is here: github.com/jeffpanici75/quixe

This version of Quixe will require a Glulx game file compiled with “FyreVM Support by David Cornelson” found in my FyreVM repo at: github.com/ChicagoDave/FyreVM

I’ll be building on top of this in the next while and I encourage our tool-dev types to take a look.

–dc

Nice work. It will be interesting to see what could be done with it.

This is pretty exciting!

We’re still adding events for snapshot (save) and load.

I plan to take it and build an AngularJS wrapper with directives for the baic channels. This means in an Angular app you’ll be able to drop somewhere in your html and that’s where the main channel text will appear. Or maybe a generic directive . Lot’s of awesome thing we’ll be able to do.

Have you looked at React at all? It seems to have taken a lot of momentum that Angular had (especially now that Angular 2 will be backwards incompatible with Angular 1).

Yeah I’ve looked at React. It’s a style thing, but I just don’t like it. React Native looks interesting, if they get to an endpoint with it and it’s usable.

The whole Angular 2 thing doesn’t bother me. Angular 1.x has so much momentum that it will be supported for years. The performance issues are already being repaired. It will be fine.

I definitely disagree. Angular 2 is having an “Osborne effect” on Angular 1; Angular’s momentum is falling fast. (Insert “torque” pun here.) Plus, Google is notorious about vigorously turning its back on old code. The performance issues can’t be repaired in Angular 1’s API and won’t be; that’s what necessitates Angular 2. So, soon, nobody will use Angular 1 because they’re all on Angular 2 or switched to something else.

By the time Angular 2.0 is ready for production, React will be in an even stronger position; Angular 1 users will get to choose whether to switch to React or Angular 2.

And Angular 2 still doesn’t even have a solid server-side story, whereas React’s primary advantage is isomorphic code that runs fast in the browser and runs fast on the server.

will such developments allow for graphical map-based navigation in IF? a long-needed feature, I believe. plays beautifully in inkle’s games and I don’t even mean a fully drawn map, it may be the usual connected boxes. parser alone won’t survive the incoming end of desktop pc. The interface should embrace touchscreen metaphors…

Depends on your perspective. The corporate world is just now catching on to SPAs and JS frameworks. They don’t like moving fast. I’m at a very large corporation now and they’re using Ionic (Angular 1.x and Cordova). They’ve seen the news about Angular 2 and React and simply don’t care.

The start-ups and more agile firms will jump on the latest shiny Hacker News toys. This does not mean existing tech is dead. And sure, google may stop supporting 1.x, but it’s open source. Others will take up the slack.

Anyway…if someone else wants to wrap Quixe+FyreVM (needs a name) in a React library or an Angular 2 library (when it’s available), that would be awesome. That’s why open source is so awesome, right?

It enables anything you can imagine and build. I’ve thought about this particular feature and the ways it could be tooled. Maybe the user comes up with a hand-drawn map and identifies hotspots and routes like the old web map paradigm. Maybe someone creates a reusable channel extension that has the front end mapping code. There are many ways to implement mapping using the channel data interface. It will be up to one of our inventive tool developers to make it happen.

We’ve finished the interface. So output ready, read line, read key, snapshot (save), and load_snapshot (load) are all working. See the play_fyre.html for the example usage.

–dc

github.com/arv/ecmascript-object-observe

It’s only supported in Chrome at the moment, but this is the feature that will resolve a lot of Angular 1.x’s performance issues.

–dc

Object.observe is the headline feature for Angular 2, and so it and be faster than Angular 1, but Angular 1 won’t use it.