Viable ways to commercially release an Inform project

As the title states, I am curious about viable ways to commercially release an Inform project. Specifically,

- How would it be packaged? (interpreter and game? Bundled terp and game?)  Optimal thing would be to have a double-click-and-play icon.  Is this possible?

- Is it legal to sell the interpreter with the game? (this just depends on the license for the specific interpreter, correct?)

- Could it be at all possible to do Steam Early Access with an Inform project?

Thanks for any answers. These are just a couple things I have been wondering and have not yet found answers to after a lot of googling.

My (skimpy) notes on this subject:

I got a click-and-run solution working for Windows, but not Mac.

All the interpreters use open-source licenses, so there’s no problem including them in a commercial release. You’d want to mention them in your credits and link to the open-source project page.

Depending on the license of the interpreter in question ScottyMo’s obligations may go farther than merely doing those two things.

Using Frotz as an example: It’s under the GPL version 2. If ScottyMo were to become a distributor of a GPLed binary then all of the GPL’s normal requirements then come to bear on ScottyMo (give the people a copy of the license, give the people the source code along with the binary, etc.)

I assume ScottyMo would be distributing it over the internet. I know that there are some which don’t provide source and instead tell people to “get the source code from my upstream provider” (or words to that effect, as your post mentioned), in the cases where is one, but that’s not really what version 2 says.

Under GPL version 2 we’ve got the part about “…offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.”

When someone has to go somewhere else to get the source code for the program then the person distributing the binary is not really offering “access to copy the source code from the same place” which is what the license does say. The source code and object code need to be available from the same place, side by side.

Interestingly enough, version 3 makes this easier by saying that the source code can be on a different server and that that server can be operated by a third party (the distributor’s upstream for example.) This isn’t something that GPLv2 says, though, so this is yet another an example of how version 3 has improved over version 2 but Frotz hasn’t adopted version 3 yet.

So, ScottyMo, be sure to pay attention to the details to be sure you get it right. :slight_smile:

In addition to fleshing out the details of OS X, it would be cool to add Android to that list. Didn’t Simon Christiansen do a writeup on how he set up PataNoir and Death off the Cuff?

EDIT: Ah, here it is.

A page on the IF Wiki might be better so we can all update it.

Where would it go?

EDIT: I put it here. … alone_apps and linked to it from the Inform 7 Tutorials page. That may be wildly inappropriate; someone who knows better can move it.

I appreciate the quibbles about the GPL, but I ignored them when packaging up Hadean Lands with a Gargoyle binary. Now you know the awful truth.

I’ve posted about this earlier, but I’m also converting the old Textfyre Silverlight code into WPF, so you can package an Inform game as a cool looking windows desktop app. I’m hoping to get it up on Steam, when it’s done.

A naive question: isn’t there a tool that allows you to take Javascript and make it an executable for any platform? (Like, maybe, Firefox’s or another browser’s rendering tool? My memory is foggy, but there might be a monkey in the name?)

I’ve seen a few Twine people mention that they converted their twine in an exe on twitter (for instance i’m sure that’s what Porpentine did for her Eczema Angel Orifice). Then presumably one could use it with Parchment, Vorple or Quixe and get an executable? Has this ever been attempted? I’d be curious to see if it’s doable like this…

It requires a JVM to be on the host, (a JRE for running in a browser). I’m not sure whether this was used by the Twine folks but I have a couple of Twine files, might give it a go and see. :slight_smile:

Hrm, the JVM is pretty out of favor as a end-user thing. I don’t have it installed.

There are ways of wrapping pure JS as native apps. This will work for many Inform games – if you don’t have Counterfeit-Monkey levels of extra processing every turn, the Parchment/Quixe web interpreter is very usable.

I don’t know the JS-as-app field, but is where I’d start.

I appreciate all the comments!

Would NSIS have the same problem as iosGlulx, with not being able to update/patch the game without breaking saves? would it be possible to update the game at all?
It would be a must, for me to be able to patch/update the game after a release (or during a beta phase) However, breaking the saves would not be that much of a big deal.

It is possible, that i am simply not able to do what i would like to with an inform project. You see, when i first was introduced to inform a number of years ago, i was in the process of learning python to create a text based rpg/roguelike as a hobby. After spending some time with the inform language, and after seeing how quickly i comprehended the language, i began making that same rpg/roguelike inside the inform engine.

It has been about two years now since i started that project as a hobby (working on it when i could find the time) And though it is nowhere near complete, it has turned out so well, so intricate, so big and in-depth. that i began getting curious about ways that i could commercially release it. Which began me thinking about ways to get it finished (which was why i brought up Steam Early Access).

That is basically the reasoning behind this post, and any further information would be great.

If nothing else, i will just release it for free one day when i finish it. It was never an original thought to commercially release, because i did not think there would be a viable way to. However it has become such a labor of love (as i imagine your projects have for many of you) that i couldnt help myself in asking if there was a way, lol.

Thanks everyone for all the input!

Every Inform game has the problem that updating the game file breaks save files. This has nothing to do with the interpreter – it’s a result of the design of the underlying system.

(You could bypass Inform’s standard save system and write out your own external file. This is another whole topic, though.)

There’s no other problem in updating the app. However you distribute the app, there will be some way to replace it. (For NSIS, the NSI installer will replace the old version with the new version. For a Mac app, people know to just trash the old one.) As long as the user is aware that old save files will fail to load, it’s all fine.

Outside of commercially developed projects like Inkle and Choice (or if you’re a very well-known IF author), I’d put it on with a PayPal or Patron page for “Hey Donate if you liked this!” button.

If I were to bundle a game with Gargoyle, would this imply that I needed to release the game’s source code due to the GPL? Surely bundling the two together constitutes a derivative work, right? Not that I’m opposed to releasing the source code.

I don’t think so (IANAL). The game is just data.