Saturday, February 29, 2020

Advent Door: a very small IF puzzle

A few months ago, some of us started tossing around the idea of a new collaborative IF project. Something like Cragne Manor, although more sensibly scaled. (That is: much smaller.)
The goal was an IF Advent Calendar -- pun intended! -- with one game for each day of Advent season. Since an Advent calendar has you opening a door each day, we'd create games in the old Planescape setting: Sigil, the "City of Doors".
The project wound up not coming together. So I'm posting my game on its own today. (A misplaced calendar day would turn up on February 29th, right?)
Advent Door is a snack-sized IF puzzle written in Inform 7. There's not much to it beyond the single puzzle. Imagine a series of games like this, each one ending at a planar portal that leads to the next game in the series.
The only other Advent Calendar game to be released -- as far as I know -- is Gateway of the Ferrets by Feneric.

Wednesday, February 19, 2020

Randomness with temperature

If you've messed around with neural net packages, or even read about them, you've probably encountered the idea of a "temperature parameter". This is usually described as some kind of chaos level. If the temperature is low, the algorithm is boring and sticks close to the source material. If the temperature is high, the algorithm can jump wildly in unexpected directions.
I think this is pretty cool -- no pun intended. It seems like it would be useful in all sorts of systems! For example, in a storylet-based narrative structure, you might want a temperature parameter in the selection engine. Lower temperatures mean the player gets storylets that are highly relevant to recent events. Higher temperatures mean the player gets a more random selection, more prone to non sequiturs and topic shifts.
In AI research this is called the softmax function (or "softargmax" if you want to be even nerdier). You can find lots of example code, but it's usually meant to run in the context of an AI algorithm. I couldn't find a version that worked on a weighted list of options.
So I wrote one. Here it is in Python 3. (Attached at the end of this post, or see this gist snippet.)

Monday, February 10, 2020

Numinous/Cyan announces Area Man Lives

It's been a busy weekend for me. (Did I mention that NarraScope 2020 is now open for early registration?) However, I have to catch up on new Cyan announcements too.
Numinous Games and Cyan Ventures have announced that they're publishing Area Man Lives. It's a VR-only mystery set in a small-town radio-drama world.
AML is a new take on an unfinished Numinous project called Untethered from a couple of years ago. Untethered was announced as an episodic VR experiment in late 2016. (It was an exclusive for the Google Daydream, a VR headset which made no impression on my memory or, I expect, on anybody else's.) Funding dried up a couple of years later and Untethered was shelved after delivering just two episodes.
Now they've hooked up with Cyan's publishing arm to rebuild the project for Quest, Rift, Vive, Index, and probably other VR sets. It's scheduled for this year -- presumably as a complete game, not episodic.
The game site is up, along with an in-character KQVR Radio site. (Which mentions a contest, and Cyan is never averse to a few ARG-ish shenanigans, so you might want to start poking around.) The press release is also good for a grin.

Thursday, February 6, 2020

Kentucky Route Zero: quick thoughts

It seems pointless to write a full review or deep analysis. Practically everybody reading this has (long since) played at least some of KR0, or else decided (long since) that they're not interested.
I picked up KR0 a week ago, the day the final act launched. I've been avoiding the game and all spoilers since 2013. "I'll play it when it's done," I said; that's what I did. Now I'm seven years behind on the discussion and I don't expect to catch up. I'm sure someone has a theory about what the brick sandwich represents -- if the authors haven't explained it all in a developer interview. You don't need mine. Which is good, because I don't have one.
But I suppose I have to say something. If nothing else, to repay the honor the designers have done me with that riff in Act 3. (Which was a complete and delightful surprise, by the way. Did anyone tell me that was going to happen? Maybe, but it would have been 2014 and I would have done my best not to remember the spoiler.)
I will, then, talk about the pacing.
(This will not be spoilery, except in describing some of the ways the game will surprise you. Okay, I guess that's somewhat spoilery. I won't get into any details though.)