<M <Y
Y> M>

Constellation Games Tech Support + Gift Subscriptions: Some have had problems buying Constellation Games, problems like "not being able to place an order" or "not being able to have books shipped to the UK". These problems should all be fixed, but let me know if you still have them.

In related news, several people asked to be able to buy gift subscriptions for their friends (one assumes), and now you can go ahead and buy those gift subscriptions. It's a little hacky--you're buying a gift certificate which the recipient redeems--but it should work. Again, let me know if you have any problems. And big thanks to editor Kate Sullivan for doing the server-side work.

[Comments] (1) CG Author Commentary #2: "Corner Pieces": It's that time of the week again, the time when the air is filled with the navel-gazing sounds of Constellation Games author commentary. You can read chapter 2 for free, but this is the last week. Subscribe some time this week, or the commentary on stuff you haven't read will become increasingly mysterious.

The microblog archive for chapter 1 is up for those who don't use Twitter. I don't know how readable all that text is, but I also don't know how to design a website anymore. Let me know if you have suggestions. Note that, for your convenience, the tweets are filed under their in-story date, not the real-world date.

I'm trying out a list format for commentary this week. It might look weird, but coming up with segues between completely unrelated things looks weirder.

There we go. Tune in next week for chapter 3, when Ariel will say, "So are you female right now or what?"

<- Last week | Next week ->

[Comments] (4) Programmable Minecraft 2: Redstone Boogaloo: I think my first post in this series left me too optimistic about how much you could really do for Minecraft map designers without making programming easier. I did come up with three useful blocks, but I'm gonna save them for a brief follow-up, and in this post I'll go ahead and sketch out a ZZT-OOP-like language for Minecraft.

My reasons are fourfold: 1) This level of abstraction is what I really want, not the circuit stuff. 2) it's simpler to interpret a simple scripting language than to simulate an equally complex circuit. 3) Apparently the next big feature in Minecraft is official mod support, which means someone could actually implement this. 4) I think it's more important that people learn how to program than that they learn how to lay out electrical circuits.

So instead of last time's circuit-level Computer block, imagine a software Object block. An object can take the appearance of any other Minecraft block, or it can have a custom bitmap that's loaded from a map-specific resource directory. An object also has a script, which is probably loaded from a file because I really don't want to use Minecraft as an IDE. The script is where the magic happens.

Here's a ZZT-OOP manual. (I think it's a copy of the original manual, it seems very familiar.) ZZT-OOP is extremely primitive, but because it's so primitive it can be explained in a weblog post, and I'm still familiar with it despite not having used it for fifteen years. So let me adapt it to Minecraft and we'll see what happens.

You program an object in ZZT-OOP by defining its response to stimuli. In Minecraft, stimuli might include:

Maybe more. You get the idea. These are the events in the life of an Object.

You can program an object's response to a stimulus as a series of commands. A lot of these can be taken straight from ZZT-OOP:

Here's an object that tries to move north whenever it's hit with a snowball:

:hit_with snowball

In ZZT-OOP, {direction} means one of: north, south, east, west, randomly, away from player, towards player, in the direction of current movement, etc. In Minecraft you also have up and down, as well as "along the minecart track", "towards the sun", and perhaps others. In a multiplayer scenario, "player" is ambiguous, so I guess it's the nearest visible player.

Some Minecraft-specific responses to stimuli:

Here's a perimeter trap.

:can_see zombie
"Zombie alert!"

Some bits of ZZT-OOP don't make sense in Minecraft because they assume that the world is relatively small and divided into screens. ZZT-OOP has global flags, and the only conditional you can write is "is this flag set"? I propose replacing the global flags with player flags. This lets you track a player's progress and simulate an RPG's "items too important to keep in your normal inventory". It also works in multiplayer.

Conditional statements: I'm undecided. I can think of three ways to go on this, but explaining them all seems boring. (I'm eliding boring stuff throughout, actually.) So for the time being, I'll follow ZZT-OOP, and allow an if statement to check player flags but nothing else.

Now it's time to talk about named stimuli. A named stimulus is one you give a custom name and send out whenever you want. Instead of giving an object code that's triggered by :can_see creeper, you can give it code that runs when some other object emits :i_am_completely_surrounded_by_obsidian.

In ZZT-OOP, the range of a message is the current screen. But Minecraft doesn't have screens. How far should a message travel? For that matter, on a large map with many objects, how many of those objects should be simulated? This wiki talk page indicates that a redstone circuit stops working if you get more than 281 blocks away. It seems fine to say that that's the maximum range of a message, and that objects further away from that won't have their code run.

Time to take a step back. ZZT-OOP is a very primitive language, but the system I laid out above is good enough to script objects that make adventure maps a lot more interesting. It's also useful when you're just playing around on a vanilla Minecraft map. You can program objects to build bridges, lay rail track, scout ahead to light up areas, or create computational sculpture.

To build one of these Object blocks outside creative mode, you'd need something like the Replicator block from last time. Call it the Assembler. You'd load code from a file on disk, and drop in an appropriate object for each line of code: grey wool for the stimulus :adjacent_to grey_wool, raw porkchop + gunpowder for the command spawn creeper. If your object was capable of destroying blocks, placing blocks, or exploding you'd also need to provide the appropriate tools or materials.

Once you put in the necessary items, the Assembler would output your Object, which you could place and it would go to work. The correspondence between resources and code opens up a whole new type of Minecraft puzzle: that of programming an object to do what you want, given limited resources.

So, there you go. I think this is pretty good. I just ripped off ZZT-OOP, but ZZT and Minecraft have a lot in common, so it works. Another option is to rip off Robotic, Megazeux's scripting language. I don't know Robotic, but it certainly has a more active community than ZZT-OOP. The language doesn't matter a whole lot. Really all you really need from the language is stimulus/response. The fun is in tying the language into the game world so that objects can act on it.

[Part 3]

[Comments] (2) CG Author Commentary #3: "Rare Drop": It's Tuesday, and time for the first subscriber-exclusive chapter of Constellation Games. (Check your spam folder.) Been holding out for a better deal? Here it is: for the rest of December, when you subscribe you get a gift subscription to give to a friend, so you'll have a speculation partner.

Here's the microblog archive for chapter 2, let's get cracking on chapter 3! Sumana requested appropriate pictures to break up the huge wall of commentary text, so I'll be picking some from Wikimedia Commons/Flickr every week. This week's pictures are by Mike Baird and NASA Langley.

That's plenty long for one week's worth of commentary. Tune in next week for chapter 4, when Jenny will say, "We're going to use as little alcohol as possible."

<- Last week | Next week ->

Programmable Minecraft 3: The Simplest Thing That Could Possibly Work: In the previous installment of this series I went whole hog and created a simple event-based scripting language for Minecraft objects. Left in the dust were three ideas I had for blocks that let you do more with your existing redstone circuits. These blocks won't blow anyone away, but they would let creators add a lot more polish to their Adventure- and Complete The Monument-genre maps.

This is probably the last entry in this series, so take heart. I had an idea about using Minecraft blocks as placeable opcodes in the event-based scripting language, but... there you have it. That's my idea. And here are three more:

Hypothesis Confirmed: I know you're excited about the evidence for the Higgs boson, but I was going through NYCB's 2011 archives for the inevitable year-end "best of" entry, and I noticed something even less amazing.

Earlier this year as part of Loaded Dice I made a list of "Pre-1990 games still greatly in demand". I suggested that someone could make some money reprinting these games. When I reread the NYCB post that linked to that list, I remembered an ongoing but very polite dispute in which two different game companies plan to reprint "Merchant of Venus", having acquired the rights from two different sources. I checked on my "someone should reprint" list, and sure enough, "Merchant of Venus" was #4 on that list.

In fact, four of the top five games on that list were reprinted/remade in 2011, or will be in 2012. The other one is Crokinole, a public domain game that apparently just can't be manufactured cheaply because you have to use SFI-approved Canadian hardwood. Spot checks further down the list turned up other games like "Code 777" that were reprinted recently, and games like "Full Métal Planète" that were recently subject to unauthorized reimplementations. What I'm saying is, that list is marketing gold.

Month of Crowdfunding: Hey there. Readers know that I backed a lot of Kickstarter projects this year (182, to be exact), but I've also dabbled in other crowdfunding websites. I mostly use Kickstarter because their site is by far the easiest to use, but my loyalty is to interesting projects, not to the hosting site.

There are a buttload of these sites, so with one exception I'm only going to list the ones I've used. Let me know if you've had good experiences with any others, on the money-raising side or the funding side.

OK, I think that's enough crowdfunding stuff on this weblog for 2011. Notwithstanding that we already have enough, I'm going to post one more entry, about the Street Performer Protocol.

Street Performer Protocol: As far as I can tell, Kickstarter-style crowdfunding was introduced to the world in John Kelsey and Bruce Schneier's 1998 paper "The Street Performer Protocol". When I first heard about Kickstarter I thought "finally, a site that implements the Street Performer Protocol." Except Kickstarter doesn't implement the SPP.

The SPP funds the creation of public works. "[P]eople would place donations in escrow, to be released to an author in the event that the promised work be put in the public domain." Or whatever--Creative Commons didn't exist in 1998. A Kickstarter user could choose to implement the SPP, but almost nobody does. They use Kickstarter to fund (say) a book, and then only a few people get to see the book. Or then the book goes on sale. It's cool that the book was made/reprinted, but the world would be a better place if everyone could have a copy. (I hope it's clear that I'm talking about projects with zero marginal cost like texts, not things like ice cream trucks.)

Jason Scott is the big counterexample. He's using Kickstarter to fund his documentaries, which he releases under CC licenses. It's also pretty common to use Kickstarter to fund open source software. Why don't more people do this?

The biggest obstacle to implementing the Street Performer Protocol is that most people don't know about it. But even someone who knows might not want to use it, because the SPP is susceptible to the free rider problem. Why back a project when you can wait for someone else to back it and reap the rewards?

The Rational Street Performer Protocol deals with the free rider problem, but it's an iterative protocol and it's pretty complicated. In real life, people deal with free riders by introducing scarce rewards into the Kickstarter reward tiers. A copy of the work is a very effective reward, so a project runner may rationally decide to keep copies scarce with copyright.

I'm interested in alternatives. Physical copies of music/books are intrinsically scarce, and they make a good choice for that all-important $25-$50 tier, but a lot of people (including me) would generally be happier with an electronic copy because we don't need more physical objects in our lives.

Another possibility is time-limited scarcity: offer backers early electronic access to a work that will made public later. I was really excited about time-limited scarcity back in 2008 when it was just me thinking of crackpot ways to publish my fiction, but after getting some experience with crowdfunding, I'm not so sure. You gotta wait for this stuff anyway. It's been six months since Month of Kickstarter and I'm still getting things in the mail. (Just got a huge copy of Fealty.) If I have to wait for six months anyway, why shouldn't I wait nine months and get it for free? If I'm funding the creation of a work, rather than publication of something that already exists, the wait is even longer. Is a twelve-month wait really that much better than an eighteen-month wait?

I don't have any other ideas right now, but I wanted to write this down as a starting point. I'd really like to see crowdfunding used as a way to ransom works into the commons, but it's hard enough to get your project funded without taking away one of the reward tiers.

BTW, this is another reason why board games make great crowdfunding projects. They're intrinsically scarce. You can make an unauthorized copy of a board game, but it's a huge pain, and it'll probably remain a huge pain for the next five years.

[Comments] (3) CG Author Commentary #4: "Too Much Information": I'm experimenting with posting these commentaries on Wednesday to give you time to read the chapter. I don't think a lot of people read these commentaries right now, but feel free to complain if you want it sooner. It's easier for me to put the commentary up on Tuesday along with the Twitter archive, but I think this might be a little better for you.

So! This is where the engine of the novel starts running. We've introduced the human characters and their dynamic, they have a gateway to the Constellation in the form of Curic, and in this chapter we meet the main plot drivers for Part One: the Brain Embryo computer, and the Constellation Database of Electronic Games of a Certain Complexity (hereafter CDBOEGOACC).

Now's a good time to talk a bit about the three bonus stories, because one of them takes place right after this chapter. "Found Objects" is a story about Jenny Gallegos and what she does with the reentry foam that the Brain Embryo was packed in. "Dana no Chousen" features Dana Light, a character who's been mentioned (as Bai's girlfriend) but not introduced. I'm currently working on "The Time Somn Died", which features a character you haven't met yet.

If you subscribe at the Bronze level you'll get one story, probably "Dana". Subscribe at Gold or above and you'll get all three. There's a fourth story, "A Princess of Mars", which I won't have time to finish. But I might do it as a promo later, or write it to be sold separately.

How these happened: after finishing the second draft I realized that although I'd created a lot of interesting female characters, the POV is so tight around Ariel that a) the only one who'd gotten the time she deserved was Curic; b) my novel didn't pass the Bechdel test. I fixed b) with some cheap tricks which I'll point out when the time comes, but a) left me unsatisfied, so when it came time to plan bonus material, I decided to write stories about and from the POV of the women in the story.

Like I said, I'm not done with the stories, but I think this strategy works really well. Each bonus story presents a part of the world that wasn't shown in the novel, while recontextualizing what was shown.

And now, random notes on chapter 4:

Tune in next Tuesday for Chapter 5, when Curic will say "I am going to do research on human zombies to prove you wrong."

[Photo credits: BuenosAiresPhotographer.com and NASA.]

<- Last week | Next week ->

[Comments] (2) CG Author Commentary #5: "Let's Play": After some polite outcry we're back to commentary on Tuesday. I don't have a lot to say about this chapter, and/or I'm fighting off an artisan seasonal cold, so this one's relatively short.

I got excited while writing this commentary, because I was going through my earlier drafts and I remembered that Constellation Games has deleted scenes! But then I was a little less excited because the deleted scenes don't start until chapter 25. Let's not think about the deleted scenes for a while.

And there we go. Tune in next Tuesday for the heart-pounding chapter 6, when Ariel will say, "This form is a fake. There's no Paperwork Reduction Act notice."

[Drawing credits: Brandon Eck and NASA.]

<- Last week | Next week ->

[Comments] (4) The Crummy.com Review Of Things: 2011 Edition: Man, too busy even for proper navel-gazing this year. Fortunately I already did a lot of the work for this post, so it's just a matter of... doing a lot more work.

First, the main course: Best of Crummy for 2011! Yeah, the main course is coming first. Because we're all busy.

Twitter update: Every year since my curmudgeonly 2008 post I've dreaded having to write this, but this was the year I started posting to Twitter. Fortunately, I've been able to launder most of my pithy, trite observations through a fictional character.

Reading: My records are a little spotty but I don't think I read more than twenty books this year. Of these, the best was On The Origin Of Species, which is still very readable and holds up pretty well for a biology book written by someone who didn't know about genes.

The Crummy.com Non-Public Domain Book Of The Year is Carrying The Fire: An Astronaut's Journeys by Michael Collins, an incredibly informative biography and which I probably should have read earlier for novel research. At the end of Carrying The Fire Collins says he could write a whole book on the year he spent post-Apollo 11 as Assistant Secretary of State for Public Affairs during the Vietnam War. I would love to read that book.

Writing: On the other hand, I did quite a lot in 2011 to advance the cause of other peoples' reading. I completed, sold, revised and started serialization of Constellation Games. I completed three (almost four, but one needs a rewrite, so three) short stories. And, I worked four months for Findings.

Findings needs its own post, and I should have written that post in October, but in a nutshell, Findings takes the highlights and notes you created when you were reading a book on your Kindle, and copies them outside Amazon's ecosystem so you can share them, search them, and do work with them. For instance, that link I gave earlier to On The Origin of Species was not a useless link to a generic summary or storefront for one of the most famous books ever published; it's a link to my reading of the book, which is useful at least to myself.

With Findings you can also clip from web pages, and the last thing I did there was design a web service for them, so hopefully it can soon be made to work with software and readers other than Kindle. Findings solves a lot of the problems with the Kindle specifically, and with an ebook-based reading style in general. I'll definitely go into more detail later when I don't have a bunch of other aspects of 2011 to go into.

Audio: Best of newly subscribed podcasts: The Famicom Dojo podcast and The Dice Tower. The Crummy.com Album of the Year is "Princess Ghibli", an album of heavy metal covers of songs from Studio Ghibli movies. The new-to-me runners-up are also Japanese: chiptunes from YMCK and sample-based insanity from Plus-Tech Squeeze Box. Foo Fighters and Tally Hall also maintained their standard of quality with great new albums.

Video: I watch TV with Sumana, so I can't do anything more than echo her recommendations. Breaking Bad shows characters nerds can identify with doing horrible, horrible things. And The Dick Van Dyke Show is probably the most realistically-written sitcom I've ever seen. In web video, Noah Antwiler's "Counter Monkey" series of teenage RPG monologues, and Brad Jones' nostalgically obscene "'80s Dan". In between, the Something Awful translations of GameCenter CX episodes, which this year went from nowhere to having one of the translators get her fan art shown on the show.

Crummy.com Film Of The Year: The Muppets. All other films are disqualified for not being The Muppets. I run a tight ship.

Food: In 2011 a bunch of new restaurants opened up near my house! It was great. The best are Queens Comfort, Pachanga Patterson, and amazing surprise latecomer Butcher Bar, which is so new it doesn't have a proper website yet. Honorable mention to Sugar Freak for fried chicken.

In non-Astoria food: while working at Findings I ate a lot of good lunches from Chelsea Market (#1: quinoa salad from Amy's Bakery), and the burritos from the secret Chipotle were much better than any burrito I've had at any other Chipotle.

Games: Apart from "Minecraft" (Crummy.com Game Of The Year, honorable mention to Vechs' amazingly well-crafted "Super Hostile" series of Minecraft maps), a pretty lean year for video games. I didn't buy a 3DS, or any Wii games for myself. I did buy a lot of games in Humble Indie Bundles, but then didn't get a chance to play most of them.

I rediscovered a love of tactical games like "Frozen Synapse" and the "Tactics Ogre" remake for the PSP. But this was the year I decided I don't like JRPGs. "Radiant Historia" has a lot of really great ideas but the plot was generic and despite a tactical battle system, I only had to come up with new tactics twice. Both failures I place squarely at the feet of JRPG design. I bought two other well-reviewed DS JRPGs and was immediately bored with them. So, probably no more JRPGs for me, until they do more Paper Mario. Those games are hilarious.

Board games fared a lot better, as my gaming group tempered its tried-and-true conservatism with Pat's early-adopter enthusiasm. "7 Wonders", "Alien Frontiers", and "Pandemic" were the big newcomers, with strong supporting players like "Power Grid" and the surprisingly hilarious "Carcassonne: Hunters and Gatherers" (Crummy.com Board Game of the Year Because 7 Wonders Already Won The Spiel Des Jahres, It Can't Win Everything, Geez). "Dominion" and vanilla "Carcassonne" remain strong, "Quarriors" fizzled out early.

Next year: "A Few Acres of Snow", I hope? Also the Kickstarter reward games will really start getting to the table. If you live in New York and want to play board games occasionally, let me know.

And, looking into 2012 more generally: I can promise lots of cool Constellation Games stuff, since I'm already committed to or have already written it. Beautiful Soup 4 will leave beta. (It needs a little work and I need to write new documentation--but please use it now, it's already better than BS3 in my opinion.) There may be more REST stuff, and/or another novel. There will probably be more Month of Kickstarter-type experiments, if not a whole nother MoK. And more currently-secret projects to tantalize you, my friends and readers. Let's keep it going.

Want more? Here's Sumana's year-in-review.

<M <Y
Y> M>


Unless otherwise noted, all content licensed by Leonard Richardson
under a Creative Commons License.