In a recent blog post, I wrote: "Maybe we'll even make more of a swing towards releasing game source code."
That thought stuck with me. I asked myself why I haven't posted the source code for all my classic IF games.
Some, I have. I posted source for Hunter in Darkness, Shade, and Heliopause because I thought other game authors might be interested in the techniques. But the larger games (Dreamhold, So Far, Spider and Web) have never had public source releases.
Why not? I didn't put it in words, but roughly: players should experience the game, not the software. If there are secrets, they should be ferreted out by people playing the game, not people browsing the source.
Of course there are Z-code decompiling tools, so I can't truly enforce this. Nor would I want to go down the DRM/obfuscation road to stop people from prying. That would just be a huge waste of my time. But if people wanted to pry into the technology, I wanted them to have to expend some effort. That friction matched my feelings about the right way to play the game.
Only I don't feel that way any more. I can't remember why I ever gave a snort.
Oh, I suppose I do a little. When a game is freshly released and players attack it en masse, the idea still applies -- I want the group experience to be about the game. But a year later? It's meaningless. And some of these games are fifteen years old, or older.
So yeah. It's time to knock that habit over. Here are some source links:
- Dual Transform (I7)
- Delightful Wallpaper (I7)
- The Dreamhold (I6)
- Spider and Web (I6)
- So Far (I5)
- A Change in the Weather (I5)
- and more on my IF page.
The I5/I6 games are tar.gz files, because for each I had to pack several source files together with the hacked library code that I used. The I7 games are directly readable as (syntax-colored) HTML.
All of these can be compiled with Inform 5, Inform 6, or Inform 7. The exception is Delightful Wallpaper, which was built with a 2006 version of I7 that's no longer available from the web site. I'd have to update the source to recompile it.
I have not used an open-source license. The games all say what Shade has always said: "This source code is provided for personal, educational use only." You can read it, and copy the programming techniques, but you can't make derivative games. (That is: my game text is copyrighted and I intend to keep hold of it.)
(Academic writing about my games is of course fine. That's fair use in the old-fashioned sense.)
(Fanfic -- riffing on the story or characters while using original text -- is another barrel of cephalopods. I figure I'm in the same position there as any other writer. You've always been able to read my story text, as part of the game, and my source release doesn't change that.)
Hadean Lands is an interesting question. I'm going to charge money for that one; it changes the equation. I guess I'll wait a year after release, and decide whether I feel like doing a source release then? Feels right.
(One of the HL Kickstarter rewards was the source code as a printed volume. I won't wait a year on that, obviously. But that was a limited reward, and will only be distributed on paper, not online; so I'm leaving it out of this discussion.)
Comments imported from Gameshelf
Vyacheslav (Jun 24, 2014 at 11:25 AM):
You can read it, and copy the programming techniques, but you can't make derivative games.
What about translations?
Andrew Plotkin (Jun 24, 2014 at 1:11 PM):
Good question! I forgot about that case.
Answer: If you want to do a translation, contact me for permission.
(This is the same answer I've always given. The only difference is that now, you can look at the source and estimate how much work it'll be before you contact me.)
Paul Z (Jul 2, 2014 at 1:41 PM):
Reading through the source of Delightful Wallpaper, there are a lot more ways to kill people than I thought! The "alive" notes give hints on one internally-consistent solution, but I was surprised at how many others there are. I guess since the general-purpose intentions (stealth, toxic, melee) can each kill four of the five main characters (not counting Boy or Girl), and chemic can get three, it shouldn't be surprising that you can combine them in several different ways.
My I6 is pretty weak so I'm puzzling through the Dreamhold, but thanks very much for releasing these!
Andrew Plotkin (Jul 3, 2014 at 12:14 AM):
You're welcome. Glad it's interesting. :)