Wednesday, May 27, 2015

Hadean Lands greenlit! It turns out

A few days ago my idle twitter-browsing was upended:

Huh. I just checked the Greenlight page for @zarfeblong's Hadean Lands... I somehow missed the news that Valve had started the GL process (@andetkaihetera)

Really? I, um, missed the news too. But a quick glance at the HL Greenlight page showed:

This game has been Greenlit by the Community!

The community has shown their interest in this game. Valve has reached out to this developer to start moving things toward release on Steam.

I was off at Balticon, so I couldn't dig into the matter right then. (Which is why everybody else announced the news before me.) But now I'm back and more or less caught up on life. So here's what I know.

If Valve reached out to me, I missed it. The Greenlight page says "Updated: May 12 @ 7:24pm", and the voting stats stop on May 11. So I guess the game was officially greenlit two weeks ago and nobody noticed until this weekend? O the embarrassment.

The site now offers me a link to "become a Steamworks partner". So I have begun that process. I have filled out a great many forms' worth of tax and banking info, the usual excitement. (And the usual confusion about whether I should use Zarfhome LLC's EIN or my personal SSN, a question which I will never, ever get right on the first try.)

Bureaucracy aside, what does this mean for Hadean Lands? I wish I could just push a button and launch the thing onto Steam. But no -- not that simple.

The Mac/PC/Linux download packages that I built last year are playable. But they're not nice. Gargoyle doesn't even have a font preference menu. (You can bejigger a text config file, of all the archaic monstrosities.)

Worse problem: Gargoyle doesn't handle high-res displays. It renders text at the old-school resolution, which means it looks fuzzy and awful. "Retina" displays are standard on high-end Macs and are moving steadily down the product line, and now we're seeing them on Windows machines too. So this is serious.

I would like to switch to other interpreters, at least on Mac and Windows. However, the options are currently Mac Zoom (crashy) and WinGlulx (backscroll is hidden behind an obscure keystroke). Um. I'm very much afraid that I'll have to spend a couple of months fixing up other people's interpreters before I can build Steam-acceptable games.

Now, in some ways this is great. I like contributing fixes to open-source projects! Particularly for IF interpreters! But it's a lot of work, and no cash up front. What's up front is learning curve -- I haven't built either Windows or MacOS apps, not since the 1990s.

I'd probably want some game-specific interpreter features, too. There's the dynamic map -- or, if I can't swing that, I should at least display the static map in a separate window when asked. Same for the IF postcard.

On top of that, I need to browse through Steam's SDK and figure out how it works. I have to think about achievements (probably not) and trading cards (I don't even know). I have to look into whether Steam's libraries can legally be wedged in with IF interpreters, which tend to be GPL.

Plus: this would be a terrific opportunity for that HL bug fix release, right? An impressive bug list has piled up since October. I've barely touched it. Surely it's worth putting my best foot forward for the Steam release.

Whew. All of this will happen, but it will happen in parallel with other work. For example, look at this exciting teaser page that I put up last week...

What is this? I'm not saying! Except to note that it is neither parser-based nor traditionally choice-based (hyperlink or menu style). Fun, eh?

And now, the traditional "green it forward" section:

Cyberganked, Robb Sherwin's retro text RPG, has just gone up on Greenlight. Character classes! Live photos! CGA palettes! Live photos in CGA palettes! Surely a winner.

Porpentine, Twine author and winner of multiple IF awards, is Greenlighting Eczema Angel Orifice, a collection of over 20 of her works. You can't talk about the past few years of choice-based IF without talking about Porpentine.

And some IF works which have been on Greenlight for a while, and are still working their way towards the goal line:

Jack Toresal and The Secret Letter (Mike Gentry and David Cornelson)

The Shadow in the Cathedral (Ian Finley and Jon Ingold)

Comments imported from Gameshelf

Christopher Armstrong (radix) (May 27, 2015 at 5:19 PM):

I don't know how it works, really, but Steam Cloud support for save games would be great, if it's easy to implement. I would kinda hope they have a mode of operation where you just specify the save game directory and it automatically syncs the files inside.

peterb (May 27, 2015 at 5:28 PM):

Not to volunteer you for even more work you don't have time for ("I am willing to fight the Soviets to the last Afghan!) but I would kickstart the hell out of a project for an awesome OS X IF interpreter.

Andrew Plotkin (May 27, 2015 at 7:31 PM):

Then there's the notion of autosave. (So quitting the app doesn't lose your position.) I got that working on iOS, but it was a mess -- it's invasive to the display library, for reasons which take a long time to explain.

One surprisingly non-terrible option is to port my iOS ObjC code over to MacOS. However, that doesn't help Windows at all.

Writing a brand-new display library is also possible. It's even something which is on my radar already, as part of the "update Glulx to be HTML/CSS compatible" project. But that's been on my radar for years... I'd feel really dumb if I tied Steam HL to it and then wound up losing more years making it all work. I like small incremental steps.

David Kinder (May 28, 2015 at 3:44 AM):

I really do need to get round to rewriting the text buffer handling in Windows Glk to support proper scrollback. That code is 15 years old and designed to work reasonably well on low-spec systems from back then - a new version could hopefully be a lot simpler.

Andrew Plotkin (May 28, 2015 at 11:18 AM):

All I'm saying is, if you wait too long, I might do it first. :)

How's that for a perverse incentive...

David Simon (Jul 2, 2015 at 9:32 AM):

One approach would be polishing up one of the javascript-based interpreters up to the point that they can run acceptably well as standalone applications inside something like node-webkit. That'll hit all your target platforms at once, and benefit parchment-style play from a web browser as a side benefit.

Andrew Plotkin (Jul 2, 2015 at 12:58 PM):

It's been suggested, yes. But the Javascript interpreter is still pretty slow, even with the speed boost I blogged about last month.

A full "go to nave" sequence takes most of a second the first time you do it. That's on my Mac (2.7GHz). It's going to be pretty poor on older machines.

I do like the idea of a node frame for IF. It would work decently for a lot of games. I should rig it up and get people to test it, at least.

No comments:

Post a Comment