Comments on Graham's development progress for Inform 7

I thought it was quite well written and interesting!

Adam

3 Likes

Don’t forget in the meantime… ZIL is completely open and you can hack to your hearts content with ZILF.

(Had to get this promo in somewhere, disillusioned I7 users are a great place to start! :grin:)

Adam :+1:

7 Likes

This is the perfect time to scope out other systems! Dialog especially looks very exciting and appears to have most the utility of Inform 7 but with streamlined code.

2 Likes

Always looking for people to help maintain and expand ZIL libraries and support resources!

Adam

1 Like

I’ve always found the idea of an artist owing their audience anything a weird notion. It implies the artist incurs a debt simply by creating a work. Surely, the debt is incurred by the consumer of the work, which they discharge when they pay the artist. The transaction is complete, both parties are satisfied, and there are no expectations about the future.

But, Inform 7 is free as in beer. If it cost 10 dollars, people would think that they got more than their money’s worth from it and shrug off delayed updates thinking, “well what did I expect for 10 dollars.”

Giving away your work for free, though, sets up unreasonable expectations: “If it costs zero dollars, I should be able to get all the updates and features I want. I’ve got zero dollars in my pocket right now. Here, have it. Now you owe me that update.”

It’s human nature to think free means unlimited, but we just need to get over that idea. Enjoy Inform 7 for what it is today, a totally awesome system for Interactive Fiction. We’ve gotten our money’s worth.

That said, it’s a mistake to taunt us by touting updates in advance of their delivery.

9 Likes

100% agree.

What I would say though, as something of an outside observer to all of this I7 open source stuff, is that I think Graham Nelson may have been better to keep the plan to open source it under his hat until it was done. Now, maybe he’s a perfectionist and maybe that would mean it was never announced, but then it wouldn’t matter either way as the “consumers” would be none the wiser.

Having already committed this goof, he’s now stuck. My humble advice would be to take the same mindset that indie game devs often take… Just release it. It may not be perfect or even close to perfect, but the real danger is that it never gets released because there’s always something else to improve.

My extra 10p on the matter is that there are a lot of very knowledgeable and programming-literate people in the community, it would be better to just make it open source now and share the workload of improving it.

Adam

1 Like

From the slides and news I looked at, it seems he’s also doing a major upgrade that improves how Inform works, and I suspect that may be the delay. I don’t believe he’s just releasing the existing version of I7 - which is already a mature codebase.

2 Likes

From my experience around the interwebs, I’ve come to understand that it honestly doesn’t matter how much something costs – people are just demanding. I’ve seen people that pirate games and anime feel like they have just as much leverage in demanding changes, updates, or new releases as those that purchase or monthly subscribe to it. People demand whatever they feel that they’re owed, and they always feel like they’re owed everything, regardless of how little justifiable logic they have backing them.

Or maybe put more simply: haters gonna hate.

2 Likes

This has been a fascinating thread and I’m sure it’s one of many just like it.

I agree that although Graham doesn’t OWE anyone anything, technically, the way he’s engaging with the project and the community is still cause to mourn/grieve for me personally.

Why Inform 7 is Important to Me

Inform 7 is an utterly unique language. It’s probably the closest thing there is to a programming language that is written (very roughly) IN the English language. Another notable example is the Gherkin language used in BDD, but it uses a MUCH more restricted subset of English. The reason Inform 7 is so well suited to this unique style is because it describes worlds and an English Language parser to interact with them.

In addition, Inform 7 is an important bridge between the past and the future. It compiles, ultimately, to a similar executable format as old historical parser-based games like the Infocom games, keeping tools that run those games relevant and worthwhile, alongside all the newer hobbyist/creative games.

Why Graham’s Decisions Feel a Bit Harmful

So Graham made the decision to do this monolithic change as a prerequisite of open-sourcing Inform 7, and he made the decision to be the second implementor (I think?) of a new and idealistic programming methodology (Literate Programming) as a part of his rewrite. He clearly mis-apprehended the scope of the task by a few orders of magnitude.

In the meantime, any kind of feature development or bug fixing on the language has ground to a halt. The tooling is beginning to age a bit, and it’s all starting to become subject to a little bit of bitrot. Because of the uncertainty and missed self-imposed-deadlines (by two years!) I feel like interest in the language is beginning to wane in some ways.

There is this incredible corpus of community knowledge about the language and I’m worried that’s going to die out and become damaged by this communication-less delay. Sure Graham doesn’t owe us anything but I’ve invested time helping people solve problems in Inform7, promoting it, writing some novel documentation for it, and as the hope that this is actually going to happen begins to wane and Inform 7 starts to look increasingly like it might become a beautiful dead end instead of a real part of the future of Interactive Fiction.

In that way I feel like Graham is letting me and people like me down with the incredibly sporadic communication and gigantic mis-estimations. I feel like I’m watching something beautiful begin to die before my eyes because someone is clearly letting “perfect be the enemy of good”.

I absolutely recognize that it’s his ship to tank, but he’s definitely harming the community of people who rallied around this tool and supported it, extended it, promoted it, and with it his reputation.

I am in NO WAY saying I have a recommended course of action for him like others do. I get he’s arms deep in this giant project and doesn’t feel like anyone can meaningfully help. I’m sure he has other work and it’s got to be tough for him to find the psychological strength to keep facing this. I can’t help grieving at the damage I think it’s doing to something I find really beautiful however.

He won’t even see this message so it hardly matters. :wink: But I’ve been moved by all your comments and think about this a great deal and wanted to share how I felt.

11 Likes

There are other angles to consider. I’m just playing devil’s advocate since I don’t know one way or another, but it’s possible that I7’s code is an absolute mess. Ignoring the embarrassment of it all, there’s the fact that uploading the spaghetti code source doesn’t really do anyone any good if you have to weed through lazy hacks to find the cause of errors. It’s possible that the rewrite was actually made with the intention of releasing readable code, and he took the opportunity to add some new features.

So what I guess I’m saying is don’t mourn it just yet. It’s possible that this is actually an essential step for creating a solid foundation for I7’s future, not the path towards its demise.

2 Likes

I don’t want to delve too deep into the question of “what is art?” but when Graham created Inform, I’d say that he wasn’t merely publishing a “work of art” (though he did that, too… Curses, Jigsaw, etc.) but also creating a platform for others to develop their games.

When you create a platform, you invite others to depend on you. They may or may not trust you or your platform enough to do so, but the fact remains that successful platforms have dependents. Eventually, if you achieve critical mass, you have an entire community of dependents; the community itself depends on you and your platform.

Of course, platform owners don’t owe their dependents anything at all in a legal sense. But, if you have a successful platform, whether you intended to or not, you have the trust of your dependents.

It is then incumbent on you to decide whether you are worthy of their trust.

Now, I don’t think you necessarily have a moral obligation to rise to the occasion whenever people come to trust you. Maybe your dependents came to depend on you foolishly and inappropriately, and the right thing to do is to walk away and let them deal with the consequences. (I’m sure we’ve all had interactions like that with acquaintances, friends, and even some family members.)

But to the extent that Graham acts as the maintainer of the Inform platform, and thereby provides a service to the Inform community, I think it doesn’t make sense to respond to legitimate criticisms of Graham’s decisions by saying, “So what? Graham doesn’t owe you anything.”

If I donate spoiled food to a food bank, it’s not correct of me to say, “So what? I was under no obligation to provide you with edible food.” It would certainly be fair to complain about my spoiled donation. The recipients would have a legitimate grievance with my donation even though everyone agrees that I was under no obligation to donate at all.

EDIT: “Spoiled food” may be too extreme an example, because it’s possible to fail to notice that food is spoiled, eat it, and become sick or die as a result. Perhaps “unusable used clothing” would be more appropriate?

6 Likes

I like the clothing donation analogy. If I donate clothing or even knit you a sweater, I am under no obligation to give you more when the clothing goes out of style or you move to a different climate.

2 Likes

Any time you depend on someone else’s project for your own to succeed, you’re agreeing to the unspoken condition that eventually that dependency will fail you. This happens for everything, whether it be Flash, XNA, ADRIFT, TADS HTML, etc. The gentlemanly thing for the project maintainer to do is release the source code before disappearing into the annals of time, but they’re not obligated to. To be completely blunt: this is a situation the game author has placed themselves in, not a situation the maintainer of engine has placed the author in. Literally the only way to ever avoid this situation is to write your own engine with zero dependencies on other libraries.

7 Likes

Just a side note, Graham didn’t just make I7 a literate programming project for the new rewrite; it’s always been one. Other associated source files - e.g. the Standard Rules, and I believe the I6 compiler - have already been distributed in the format associated with literate programming (i.e. a PDF with interwoven text and code).

3 Likes

[Deleted]

Edit: Please remember that we have Code of Conduct. Among other things, please avoid:

  • Responding to a post’s tone instead of its actual content.
  • Knee-jerk contradiction.

Please pardon me for not responding to your emotionally charged follow-up post, except by flagging it.

Frankly, I’ve noticed you making more personal jabs of this kind than you need to, and not just on this thread. In this case, it doesn’t even make a lick of sense, being a response to an initial post that was very measured and thoughtful, and a follow-up post that was at least a very understandable response to an unwarranted attack.

5 Likes

I don’t understand why my post can be construed as personal attack. I merely spoke the truth.

I have seen so many communities went down due to rampant emotional fights, no doubt due to the need of “blowing off steam”. I do not wish to see this community to disappear under such thing. Can’t you see a flame war obviously brewing?

How about you show me how to properly respond? Then I’ll happily delete my post.

I’m not trying to jump on the bandwagon or anything, but when I read this bit I also thought it sounded like trying to intentionally trigger someone. It sounds like you didn’t mean it that way but it definitely read that way to me.

4 Likes

I can assure you that it is unintentional. I merely explained the situation, providing context if you will. I apologize if you feel otherwise.

Edit: I’ll remove the offending text, then. I hope that will settle it.

Somehow people keep telling me what I did wrong, but never did show me how to do it right. I’ve been waiting for years. Still waiting…

These people who blamed the world onto me, never did give me the answer. People who didn’t blame me, actually did show me the way. Be a teacher, not a hater.

1 Like

These are implied claims of objectivity that don’t hold up. You groundlessly accused another commenter, who made a quite thoughtful, carefully expressed post, of violating the forum rules, and objected to the same commenter’s “emotionally charged” follow-up to a very hostile response, without objecting to the hostility that provoked it. That is the kind of conduct that builds flame wars.

1 Like