Music I've been listening to lately, in no particular order:
- David Bowie, The Rise and Fall of Ziggy Stardust and the Spiders from Mars. There's a starrrrrmaaaaaan waiting in the sky, he'd like to come and meet us but he thinks he'd blow our minds... The music on this one isn't anything special, but you don't listen to David Bowie for the music, you listen to Davide Bowie for the David Bowie-ness.
- Johnny Cash, Live at Folsom Prison. A prison in California where he played for 2,000 inmates and their armed guards, singing songs about crime and punishment and murder and suicide. You can hear cell doors slamming and announcements on the loudspeakers in the background. This album is from 1968 but it's so raw it makes gangsta rap sound like Hanson.
- Yes, Tales from Topographic Oceans. This is their infamous double-length concept album where each side of vinyl was one single song based on one of the four Hindu Shastric scriptures. It's notorious as being too far out even for most Yes fans. To me it basically sounds like an hour and a half of aimless noodling and chanting. But then, I didn't like Close to the Edge or Relayer the first couple times I heard them, either; I might just have to keep playing this one until I get used to it. On the gripping hand, I still don't like Frances the Mute no matter how many times I play it, and Oceans might end up in that category.
- Funkadelic, Standing on the Verge of Gettin' it On. Thanks to Ben for giving me a rip of this one and the next one. It's not nice to fool mother nature...
- George Clinton, The Awesome Power of a Fully Operational Mothership. One of the more recent ones; I don't like them as much because they have too much electronics, too much influence from modern hip-hop artists (ironic, since Geore Clinton was such a big influence on them -- Most Sampled Artist Ever, Yo) and basically, it's just obviously Not The Seventies anymore. But despite all that, there's still good music here. The title of this album makes me want to make a Warhammer 40K-scale P-Funk Mothership so I can land it dramatically on the table and say "Behold the awesome power of a fully operational Mothership!"
- Genesis, A Trick of the Tail. This is the first one after Peter Gabriel left, and I avoided it for a long time because Genesis isn't good without Gabriel, right? Wrong! This is actually a really good one (if you like proggy Genesis to begin with, which is a big "if"). Proggy Genesis fans usually call Foxtrot/Selling England by the Pound/The Lamb Lies Down on Broadway their best albums, but each of those has one or more tracks on it that are so annoying that I will get up and hit skip every time rather than sitting through them. Trick of the Tail doesn't have any of that.
- Yes, Yessongs. Triple live album from Yes during their peak years (i.e. just before they jumped the shark by writing "Tales from Topographic Oceans"). I already know all the songs on here but the live versions are more fun. And in the middle of the show Rick Wakeman goes off on a tangent and starts playing the "Hallelujah Chorus" and a medley of other classical favorites. There is a picture of Rick Wakeman in the liner notes and he looks like a horrible troll or perhaps a muppet from the Dark Crystal with long stringy white hair.
- The Velvet Underground, self-titled. Isaac burned me a copy of this and I recently noticed it again in my cd folder and decided to give it another try. It's still not doing much for me. The songs just start, go for a while, and then end. I think I'm going to have to put this in "of obvious historical importance but no personal interest".
- Weird Al Yankovic, Straight Outta Lynwood. "White and Nerdy" could be my own personal theme song. "Trapped in the Drive-Thru" is possibly the cruelest parody he's ever done, and it's still not nearly as ridiculous as the original! Apparently Pitchfork really liked this song. Of course they did, it's 12 minutes long and nothing happens: that's Pitchfork's tastes in a nutshell. My favorite song though is "Virus Alert": it's topical, funny, and very catchy. Weird Al, man, he's still got it, decades after the first bands he parodied are dead and forgotten.
The phone companies are trying to help the Libertarians destroy the Moral Minority.
Back from a week of not drawing: another Yuki Hoshigawa is up now.
Unrelated: last night I had a birthday party (even though it was Kristin's birthday, and not mine). Mom made an "Enso" cake. It said "HAPPY BIRTHDAY is not a command" and had green leaves and an enso circle. My coworkers all chipped in and surprised me with Twilight Imperium, which is prety much the ultimate in mostrously complicated sci-fi board games -- it's got over 300 plastic spaceships, ten playable races with different powers, a modular board, zillions of cards and tokens, a 40 page rulebook, hidden victory conditions, and a tech tree. It honestly makes Dune look simple. My coworkers know me well, don't they? I was touched. I can't wait to try it out, but it's probably going to require setting aside a whole weekend and recruiting five other people willing to do the same. Then again, that might not be so hard -- they told me that when they bought it, the guy at the game store said, "When you're going to play this, call me up, I want in". In all seriousness apparently.
So me and my coworkers and anime club friends and Phil and Kristin and her friends played charades (we made our own cards so of course we ended up with lots of impossible ones like "Ozone" and "Communism". Just try to think about how you would pantomime that.) And then we played Illuminati (the original non-collectable version) with six players, none of whom had ever played that version before; it got off to a slow start with all the rules questions but it was a riot. Even the most basic statement of what you're doing on your turn in that game can't help but be hilarious. (The international communist conspiracy is funding the underground newspapers' attempt to destroy the Republican party in order to further the agenda of the Servants of Cthulhu!)
Good times, good times. My friends and family are pretty great.
Ego Tripping at the Gates of Hell
People we don't know are looking at our site and downloading our stuff. Some of their anonymous comments:
"...and all I will ever remember from that video is that Jono DiCarlo needs a serious eyebrow waxing. I'm sure he's a nice guy though."
"Whoa. That Jono guy graduated from college when he was seventeen? Shitlords. Plus, his name is Jono. I'm thankful he's using his vast intellect for good, because he has all the attributes necessary to become an absolutely cracking supervillain."
What have we unleashed?
Oh my god, our server is dying under the load and bug reports are filling up my inbox, one every four minutes on average. The barbarian hordes are at the castle gates!
Edit: We just got Slashdotted as of noon.
Later edit: We've also got a mention on Wikipedia, although not yet our own page.
After 38 sleepless hours, after three weeks without a single day off, after a year and a half of development work:
ENSO IS LAUNCHED.
www.humanized.com. You can buy it right from the website or download a free trial (currently WinXP only, we're working on that).
Even if you're not interested in the software, there is a movie on the front page which features all of us developers talking about Enso. So you may want to go watch that to meet the people I work with, and/or to make fun of my sideburns.
Now that it's open to the world, I'm sure the complaints and bug reports will be pouring in and I'll have to be putting out fires for a couple weeks, but at least I have the prospect of regaining a semblance of a life somewhere in the near future.
I am lame
I'm not posting a comic this week because of intense Enso deadline pressure (we're releasing Enso Wednesday). This sucks and I feel bad about it, but I will pick it up again next week, and at the same time I am excited about releasing Enso (Wednesday! Day after tomorrow!)
Beginner vs Expert interfaces: WRONG
This is a rough draft of a post I'm going to put up on the Humanized weblog later on.
So, there's a trade-off in interface design. You make something more powerful for the experts at the cost of making it harder-to-learn for the novices, or else you make it easy to learn for the novices at the cost of making it less powerful for the experts. Right?
Sure we've seen lots of examples of this trade-off, but that doesn't mean it's a law of nature. I think it's one of those bits of received wisdom that has gone unchallenged too long. Time to challenge it.
May I direct your attention to Google Sketchup (link). My six-year-old sister loves this program. Even if she doesn't understand the nuances of it, she mastered the basics of it quickly enough to begin making little villiages full of blocky buildings and clip-art people and trees.
Meanwhile, my stepdad's architecture firm has adopted Google Sketchup and it has rapidly displaced AutoCAD for all but the most formal and specialized uses within their company.
If six-year-old girls and professional architects are both loving the same program, then clearly it's doing something right which allows it to meet the needs of both beginners (need for learnability) and experts (need for power).
Another example, close to my heart, is the Python language. It makes an excellent first language for teaching programming to beginners. It's also favored by professional developers (like us, and like Google) for rapid prototyping and sheer productivity.
Why? It's a good language for beginners because it doesn't have any of the distracting, extraneous, illogical stuff that plagues lots of other languages. You don't need to write a lot of boilerplate code just to make a "hello, world" program. You don't need to match up your curly braces, or declare variables. Every single line of code you write is doing something productive. So you can get started on the interesting stuff right away. Furthermore, it's easy to remember: you don't need to learn a lot of special cases or exceptions or rules for special circumstances because Python is quite consistent. Finally, it's easy to learn how to expand Python's capabilities: finding and importing modules for specialized tasks is easy, and introspection (e.g. dir() ) makes it easy to figure out how unfamiliar modules work. And when you want to learn object-oriented programming or functional programming, you don't have to start all over in a language that enforces a particular paradigm: OO and functional are right there in Python and you can mix and match them freely with procedural inside one program.
On the other hand, Python is favored by professional developers for... exactly the same reasons.
This is an important point, I think. It's not just that it's possible to find some balance that will make your software useful for both beginners and experts. I want to make a stronger statement: the qualities that make an interface good for beginners are sometimes exactly the same as the qualities that make it good for experts.
The assumptions behind the "beginner - expert" divide are bogus. Think about it. Everybody has to start by learning your software. You know that guy with suspenders and a beard who's been hacking Unix since before you were born? When he approaches a brand-new piece of software, he's still a beginner with respect to that software. Sure, if parts of your software are similar to what already exists, Mr. Beardy's familiarity with those might help him learn yours. But essentially, everybody using your software is a beginner, so you have to design it for beginners to learn.
And once someone has been using your software long enough to be considered an "expert" at it, do they want to suddenly switch over to using a new "expert" interface? Not likely. They want to keep using the interface they've already habituated to. They've already invested effort in learning this interface. Probably they want to keep using the same interface, as long as it supports the features they need. All too often, people who become experts at a particular task find that they have a need for features which goes beyond what their familiar application provides, so they are forced to abandon it and start over with a new application -- typically one with scads of features but a horrible broken interface.
Just becaues this pattern is familiar doesn't mean it's a good thing. We can do better. We can make applications that have all the features that "power-users" need but an interface that makes them easy and pleasant to use for power-users and beginners alike. The following is a list of qualities that I think are equally useful for users of any experience level:
It should minimize the amount of extra mental work the user has to do; it should not interrupt your train of thought or distract you. It should use modes as little as possible.
It should provide a single good way of doing something rather than providing five awkward ways of doing the same thing and making the user choose one. It should not require the user to hunt down a preferences screen and find the right combination of check boxes to make the program usable -- it should be configured for usability by default.
It should be efficient: it should minimize the number of clicks or keystrokes needed to use the most frequently used functions.
It should map as naturally as possible to the kind of mental model that a sensible person already has about the problem domain. (A counterexample: IDEs that require me to learn the ideosyncracies of its creator's particular development style -- I have to learn a new mental model which is useful for nothing except using the program.)
It should be visible: if you're looking for a particular feature, the program should give you an easy way of discovering how to access that feature (you shouldn't need to resort to a web search!)
It should be extensible: if you need specialized functionality, you should be able to add it in. Depending on the program, that might mean downloading an extension module, or writing a script, or some other mechanism. This keeps the basic program simple but allows it to grow with the user's needs.
A Noun of Nouns
So I'm really digging this Game of Thrones book. The only time I have to read right now is when I'm on the bus, but that's enough to do a chapter a day or so. My curiosity was piqued because of the board game.
I had basically given up on the whole fantasy genre, since I finally realized that most of it is pretty much the same stuff over and over again. Also I must admit that with limited time for reading, I'd rather read about something that at least has a remote chance of being relevant to the real world. I'm sick of hearing about motly bands of multiracial stereotypes going on their epic quests to get to the other side of the map (that's included inside the front cover) to stop the overlord of pure eeeevil from completing his eeeevil plan. Yawn, don't care. But it quickly became clear that A Game of Thrones is different.
The first thing that makes it different is that it's barely fantasy. The setting is almost a faithful recreation of medieval Europe just with the map and the names and the history created from scratch, and it's fanatically detailed. There are nine great Houses (if you count the Taergaeryns), each with a history and a culture and heraldry and about a dozen important characters. So it's quite a feat of creation, and it stays far away from the usual fantasy cliches; it's hinted that there are strange things lurking out of sight at the edges of the world, but the central drama is entirely realistic human struggles. A couple hundred pages in and there has not been a single wizard, magic spell, enchanted object, or any other implication that magic exists in this setting at all. There are no demihumans; one of the main characters is a "dwarf" but that's dwarf in the sense of "midget". There are dragon skulls and bones kicking around so apparently there were dragons at one time, but they're believed to be extinct.
So, I guess the question should be asked, why did George R.R. Martin write this as fantasy at all? Why didn't he write a historical novel?
A better question would be, why does so much cookie-cutter fantasy get written? It seems like a lot of people just set out to write an Epic Fantasy Series for the sake of writing an Epic Fantasy Series. They have a plot because an Epic Fantasy Series requires a plot, and characters because an Epic Fantasy Series requires characters, and a map inside the front cover because -- well, you get the idea.
Well, Game of Thrones very obviously exists for the sake of the plot and characters. The plot is extremely intricate, and the title is an apt description -- it's all about the politics, alliances, treachery, backstabbing, murder attempts, wars, and so forth that you get when a whole lot of smart, ambitious, and ruthless people are all competing for the seat of absolute power. The plot and characters are the driving force, as they should be, and the setting is background, as it should be, though it is quite fully realized. In fact, I imagine the reason that the author decided to write it as a fantasy novel, instead of a historical novel, is because in a historical novel the reader has all kinds of preconceptions about who ended up winning, who the good guys were, etc. A fantasy world lets him start off with a clean slate and none of that stuff.
So the book is realistic, political, character-focused, and low-magic. It's also quite gritty, full of sex and violence and swearing and poor, filthy peasants, all of which were plentiful during the Middle Ages but tend to get glossed over by authors with an overly romanticized idea of the period. Also there is -- dare I say it -- "twincest". OMG HOTTZOR except no, it's not, it's actually pretty disturbing.
I'll admit, I don't find the question "who will succeed to the throne" inherently interesting. Monarchy is an outdated and oppressive system and I'm usually rooting for the peasants to overthrow them all and establish a parliamentary system. In the case of this book I keep reading because the characters are actually interesting and believable and I've genuinely started to care about their various fates. I wanna find out what happens to Jon Snow, the bastard son, whose father loves him but has to send him into exile because he's not officially supposed to exist. I wanna know what happens to him and his pet albino direwolf (the most bad-ass pet ever) up on the Wall that marks the northern extreme of the known world. I wanna find out what happens to Daneyrs, barely-adolescent girl married off to a scary barbarian warlord as part of her crazy brother's power play. I wanna find out what happens to Tyrion Lannister, a dwarf with a crude and sarcastic sense of humor hiding a fierce intellect, who may be the only honorable man in a powerful family of vipers. I wanna find out whose side he ends up choosing when the chips are down.
See? I'm not even having any trouble remembering their names! This is significant! There are like three dozen major characters to keep track of and yet I am not feeling the need to constantly flip back to check "who's that guy again?". This is partly because GRR Martin ( hey, I just realized his initials spell "GRR!!" ) has the arcane skill of Efficient Characterization: characters demonstrate their personalities through their actions as soon as they're introduced. Contrast to what crappy fantasy authors do, which is create a bunch of stereotypes and then attempt to give them depth by way of Lengthy Angst-ridden Internal Monologues. None of that here! The other reason the character names are easy to remember is because they're named sensible things like "Ned Stark" of "Winterfell" instead of "Xy'Quz'Mal'Gar'Dwaen" from the land of "X'Trayne'eous A'paestro'fies".
So yeah, it's a pretty good book so far. On the bus ride home tonight a guy saw me reading it (he was reading The Left Hand of Darkness) and told me what an awesome series he thought it was, how he couldn't wait for book five to come out -- and that I shouldn't let myself get attatched to any of the characters, because any of them could be permanently killed at any time.
Because this is 2007, if we like a book, we can go read the author's LiveJournal. The distance between fans and creators has been erased. And it turns out that George R. R. Martin mostly blogs about football games. And that he does all his writing on a DOS computer. What a strange man!
Giant Pile of Random Cool Links
People have been sending me lots of cool links lately. Here are some in no particular order.
A congressman from Oregon goes on a bizzare rant about how There are Klingons in the White House. And not even real Klingons, faux Klingons.
Somebody did a realistic computer simulation of Zombie Evolutionary Epidemology. Inspired by an important point that T-Rex of Dinosaur Comics made about zombies.
For sale: a Plush Rygel XVI from Farscape.
Penny Arcade: If grocery stores worked like video game stores.
Vote for the funniest picture. There's some dumb/crude stuff in there obviously but a lot of them are truly hilarious. The current top 40 are here. This is a site set up by the guy who draws one of my favorite webcomics, XKCD.
Dresden Codak. A webcomic I wish there was a lot more of, but given how intricate the artwork is, I understand why there's only a relative few of them. But man! Oh man! The colors! The surrealism! The philosophical pretentiousness! The D&D references! It's like prog rock in webcomic form! Go there now and read all of the archives! Marvel at their beauty and strangeness! I wanna draw like that someday.
A dude plays the guitar and talks about how much he hates Pachelbel's Canon. You don't know what Pachelbel's Canon is? Yes, actually you do, you just don't know that you know. Go watch this, all the way to the end, it's inexplicably hilarious.
Also inexplicably hilarious and on YouTube: College Saga. If you have ever played a Final Fantasy game, you must watch this. The creativity that went into it is really impressive. The first part is the best; it's diminishing returns after that.
Not funny, but rather insightful: Stephen writes about the 0x10 most ignored rules in free software. I guess this is mostly only of interest to software developers, but it's a good read.
More old links from my friends' livejournals: Sushu starts an interesting conversation about smart and socially alienated kids.
More recently, mah favorite emo-boy Eric recounts this fascinating true story about an encounter with a poor sick man in a wheelchair and the philosophical implications thereof.
That's all I can think of right now. You go read that stuff and I'll get back to working!
The comic number 13 is up. Also I made this totally sweet title banner:
Which you could use if you wanted to put a link to my comic, for instance.
The dreamtime is here
Had this dream where I was flying a remote control plane, and then somehow my handheld radio controller took over a real airplane, and I was controlling that, and desperately trying to keep it in the air and land it safely at the airport, but I screwed up and it fell out of the sky and exploded and everybody died, and then the police came over and questioned me about why I was sending jamming signals and I was trying to explain that it was all a horrible accident and I didn't do it on purpose...
Then I dreamed I was watching Dragonball Z and it was actually good. Least realistic dream I've ever had.
Another one, I was at a resturaunt with my coworkers, and I went to the bathroom and saw myself in the mirror and my hair had turned into this giant afro that was like 4 feet across. As a result of not brushing it for three days.
And then there was one where I was at my cousin Jake's house, and there was a black panther in his backyard. Jake went outside in his underpants and started hitting the panther with a styrofoam Inu-Yasha sword. I told him not to! I said "Don't hit that panther with that sword, it's not going to do anything and you'll just make it angry" but he laughed and ignored me and kept hitting the panther. Then the panther stuck its tongue out, and it was like a long sticky frog tongue, and it grabbed Jake and dragged him into the panther's mouth and the panther ate him in one bite. Then I was very sad.
Board games are fun!
Well, it hasn't all been work lately. I did take some days off around Xmas and New Year. Some of my old JET program friends (Ben and Evan and Erin) came to visit me in Chicago, and I was really happy to see them again and catch up on stuff (even though I was fighting a nasty cold the whole time). And we hung out and played board games. And Erin took me to a gaming party her friend Zach was throwing -- it turns out this Zach lives less than a mile away from me, but we wouldn't have met if not for this mutual acquaintance from the other side of the world. Ha!
This gaming party was pretty amazing. Dozens of people, who had come from many hours' drive away; multiple tables with games of every genre going on; tons of tasty snacks; the thing went on all night long, long after I left. They had this high-powered solar lamp set up in the living room which did a really good job of tricking everybody's brain into thinking it was still daylight so we didn't get tired.
Around midnight Zach said "So is it time for.... DUNE?" People started talking about this Dune thing in tones of awe and reverence. Zach got it down from the top shelf of the closet: an ancient, tattered box, obviously well-loved and played hundreds of times and taped back together every time it fell apart; he warned us that Dune would take about two hours to explain and another six hours to play. It sounded absolutely fascinating, but I reluctantly decided I had better go home, since I was still sick and I really needed to get some sleep. Lucky for me I got to go back to Zach's place on New Year's Eve and I had a chance to play Dune after all. More on this below.
Also, Jeremy and Cat and Eric came to my place, and we played Settlers of Catan; and this last Sunday, Atul brought out A Game of Thrones and we got together five people to play that. So in one of those weird forms of convergence that sometimes happen in life, I've suddenly had a ton of opportunities to play really cool board games.
I'm contemplating the idea that board games (along with other kinds of tabletop gaming) could very well continue to be my primary form of socialization throughout the rest of my life; and I'm quite happy about this idea. I've met lots of cool people through gaming. I'd rather play tabletop games than play computer games or watch movies. Certainly I'd rather play games than do boring things that normal people do to socialize, like go to bars or parties or go on dates.
(If you think about it, dating is kind of like a game, only the rules are unwritten and undiscussed, and the victory conditions are vague. Or else the victory conditions exist but are unacknowledged, like when people want sex but won't admit it to each other. Man, I hate dating so much.)
So! Board games! Reasons why board games in general are an ideal activity to do with friends:
- More interactive than watching movies or anime
- More personal (in the sense of face-to-face human interaction) than video or computer games
- Not as much of a bottomless time and money sink as collectible card games
- Doesn't require the long-term organization and time commitment of an RPG campaign (nor does it have the same risk of falling flat when the players and the GM are obviously not on the same wavelength -- I'm sure every role-player knows what I mean!)
- Inclusive, in the sense that it's easier to include friends and relations who are not neccessarily hardcore gamers -- people who would never play an RPG or computer strategy game with me can still be talked into joining a board game
There are plenty of bad board games in the world, of course. Unfortunately some of the really bad games are also really popular. I'm thinking here of stuff like Monopoly and Trivial Pursuit, neither of which I particularly want to play again, ever. Monopoly is all like "Roll - move - roll - move - roll - move - how the heck does this game end again?" And the answer is that it only ends by the long, slow, excruciating, and mainly luck-driven process of players being driven bankrupt one by one (and then having nothing to do until the game ends). In fact I do not think I have ever in my life played Monopoly all the way to the end. And no, making it "Star Warsopoly" or "Simpsonsopoly" does NOT make it any less boring, people. (Why the heck are there so many licensed-IP versions of Monopoly anyway? It boggles the mind.) Monopoly could perhaps be improved if you modified it to emphasize the trading and building aspects which are the one interesting part, and got rid of the going-endlessly-round-in-a-circle part, and put in a victory condition so that a player could win by achieving a certain score rather than through waiting for the misfortune of others. Hey, you know what? I think I just described Settlers of Catan.
A bizzare historical note: The earliest version of Monopoly, then called "The Landlord's Game", was invented in 1904 by a woman named Elizabeth Magie who created it as a tool of propoganda to promote her economic theories; namely, she wanted to demonstrate how the whole system of owning land and collecting rent is fundamentally unfair! You can read the whole convoluted story here.
(See also interpretations of The Wizard of Oz as an allegory for political issues of the 1890s.)
And then Trivial Pursuit is all like "Who won the Oscar for best picture in some year three decades before you were born?" Gee, sorry Trivial Pursuit, I don't know or care. I guess if all the orange questions are like that, I'll never be getting the Orange Cheese Wedge, ever. This is not fun.
So yeah. Sucky things are popular because they're all that most people know about. It's not unique to games. See also Microsoft Windows, pop music, etc.
But here's some of the really good games I've played recently.
This is part of the "German school" of board games, along with Settlers of Catan and Puerto Rico (below). Apparently board games are a really big deal in Germany, and they have yearly game design awards that people actually care about, and so on. What do the games of the German school have in common? From what I've seen so far: tastefully colorful wooden pieces, a theme of peaceful economic competition, elegant and original gameplay mechanics, good balance, low randomness, high abstraction, and the lack of player-elimination or other cutthroat screw-your-neighbor type factors.
So, in Carcassone you take turns picking up random tiles and laying them down to form a map which gradually grows as you play. Tiles show parts of roads, fields, cities, etc. and must be laid down so terrain features match up. When you put a tile down you can choose to claim one of the terrain features on it by putting one of your colorful wooden men (called "meeples") down on the terrain feature. When the feature is finished (the road is terminated at both ends, or city walls form a complete loop, etc) you score points for the size of the feature and get your meeple back. There are a few more rules to cover the details of scoring (scoring fields is a little complicated) but that's the basic idea.
It's very easy to explain and to understand how to play, but there's a shocking amount of depth in the decisions you make. Choosing to claim a feature is kind of like placing a bet that you think that the terrain feature will get completed and end up being big enough to get you enough points to be worth the investment of one of your limited supply of meeples. Sometimes you want to minimize another player's points by prematurely ending their terrain feature; other times it's better to keep expanding their terrain feature so they can never finish it. And if a field that you're claiming and a field that I'm claiming should happen to meet up, our "farmers" are now competing over it; if I end up with two meeples in a field where you have only one, I get full points and you get nothing, but we're not allowed to simply play meeples into an already claimed field, so suddenly we're both looking for ways to start a meeple in a new field and then have that join up with the old field, and it quickly turns into a kind of complicated topological chain reaction that feels a little bit like a 3+player version of Go.
Another German game. Players are running plantations in Puerto Rico and shipping corn, sugar, tobacco etc. back to the old world. The game looks intimidating at first, because it has hundreds of chips and counters and tiles and wooden pieces and stuff, but everything fits together quite logically so it's easy to figure out. You build buildings with various abilities, start plantations, get colonists ("No, they're not slaves, they're... um... Happy Workers!") to work in your buildings and plantations, produce goods, sell goods to get money to buy buildings, and ship goods to get victory points. All the interacting economic subsystems make it feel a bit like Civilization.
I haven't gotten to the ingenious part, though: the turn order. Each player takes a turn choosing a "role", and the role has a benefit for all players. So when you choose the Mayor role, all players get colonists; when you choose the Craftsman role, all players produce goods; when you choose the Builder, all players can make buildings; etc. The person choosing the role gets to go first and gets a slight bonus (one extra good/colonist, or a reduced building cost, etc) as an incentive. Once a role has been chosen, it can't be chosen again until play has cycled all the way around the table and back to the first person again; then the roles reset.
So, the game feels cooperative, because everything you do benefits all players; the strategy is in choosing the stuff that benefits you more than it benefits the others, which requires careful planning ahead and trying to predict what the other players are going to want to pick next. Although it seems cooperative at first, it can actually be quite cutthroat, as you choose roles which screw up your neighbor's carefully-laid plans (and then pretend not to understand why they're mad: "But I'm helping you! Didn't you want to ship that coffee this turn?") There's almost no randomness in the game, so competitive players have analyzed the ideal opening moves to the same extent that people analyze chess openings.
I recommend you play this with a straw hat which you can pass around the table to keep track of who the current Governor is. I did that and besides keeping track it played into the theme which was a lot of goofy fun. Also I kind of want to make my own building tiles just so I can make an "Arreceibo Radio Telescope" building and a "Beat the United States at Baseball" card.
More of a multiplayer puzzle than a game. There are four robots in a sort of maze-layout board (which can be set up different ways for replay value). Various symbols in the maze represent goals; a player flips up a face-down chip which will indicate the goal and which color robot is supposed to get there; then all players compete to find the most efficient way of getting the appropriate robot to the appropriate goal.
So, in practice, you flip up the tile and then everybody stares intently at the board until one player says "I can do it in 12 moves" and flips up a 1-minute hourglass, and then everybody else is racing to try to figure out a way to do it in fewer than 12 moves. When the timer runs out, whoever claimed the lowest number then has to demonstrate that the solution is actually possible.
The robots' movement is restricted in that once they start going in a certain direction, they can't stop until they hit something (thus "ricochet"). Often the most efficient way of getting the robot to the goal involves moving one or even two of the other robots first just in order to give the target robot an obstacle to bounce off of in a critical location. It's quite mind-bending. I was really bad at it -- or rather, I was playing against a few people who had a lot of experience and were really, really good at it.
An Avalon Hill board game from 1979 based on the SF novel. It's been out of print for decades but it has quite a cult follwoing online; there are several sites with instructions for how to construct your own copy of the game.
(There was also another, unrelated, fairly lame Dune boardgame in 1984; it was based on the movie, and therefore had movie stills on all the cards etc, whereas the 1979 one was based on the book only and had super-cheesy hand-drawn artwork.)
So, I've only played it once now -- in an epic session that lasted from midnight until 7 am on January 1, and that doesn't count the 2 hours it took to explain the rules previous to that! But I can understand why people get obsessive over it! It's deep, complex, highly thematic, and very intense.
It's for exactly six players: Atreides, Harkonnen,
the Emporer, the Guild, the Fremen, and the Bene Gesserit. You could play it with less but it loses something, as the factions are carefully designed to have this delicate balance of power. Each faction has a long list of rule-breaking special powers, to the point where every rule in the game is broken by some faction, and half of the factions have unique victory conditions too. There is so much hidden information that every player gets a GM shield. The board is a polar map of the planet. The normal victory condition is to occupy three out of the five Sietches. Each player has multiple leaders, which can turn traitor to other players or be asassinated with poison
or projectile weapons; each player also has tons of tiny army tokens they can move around the planet; battles are diceless and are resolved by an elaborate sort of secret auction modified by Treachery cards, so the winner of any given battle is usually the player willing to sacrifice more. The game is all about diplomacy and backstabbing and bluffing and Spice bidding wars. Any tiny bit of information you can glean about what another player might be holding is highly valuable.
I played the Fremen; they start with almost nothing, but since they're native, they have a cheaply renewable supply of dudes who can just wander on from the edge of the board instead of having to pay the Guild to ship down to the planet like everybody else does. Also the Fremen player secretly rolls the Storm die, so he's the only one who knows where the sandstorm is going to move to; and when the cards are flipped over to show where on the planet Spice appears that turn, if a Shai-Hulud is flipped over, it usually devours all armies on that territory, but if the Fremen are there they can ride the worm instead and take it wherever they want to go! SO AWESOME!! I'm just throwing out concepts here without explaining them, I know, but that's just what the game is like -- there's an insane amount of stuff going on.
My favorite special rule, though, is the Bene Gesserit victory condition: the Bene Gesserit player, before the game
starts, writes down a prediction of which player will win and on which turn; if this prediction comes true, the Bene Gesserit player wins instead. The BG player can of course try to help that player to win in order to make the prediction come true; this does an amazing job of encouraging the BG player to act like the BG, in that sense of "why are you creepy old ladies helping me so much this is part of your 10,000 year plan to breed the Kwizatz Haderach isn't it?"
A Game of Thrones
Here is another epic game of multiplayer diplomacy and warfare and backstabbing based on a book. "A Game of Thrones" is the first book in George R.R. Martin's very historical-flavored epic fantasy series. (When I say historical-flavored, I mean there's barely anything in it (from what I've read so far) that's actually magical; it's practically medieval European history with different names and a different map.)
I played this with four other people who had all read the book (I've only read like the first couple chapters); there was much discussion on the order of "oh man, they made [name of character] way too ugly on this card!" It's a pretty good game even if you don't know the setting, however. All players simultaneously choose secret orders, by putting a face-down order token in each province where they have troops. Once everybody's ready, the tokens get flipped face-up and all the resulting battles get resolved. The secret orders, and the making and breaking of deals which inevitably results, make it similar to the classic game Diplomacy (which I've never played but I know of by reputation). And in a way similar to Dune, each side in a battle chooses a leader card to play which has a strength modifier and various special abilities, then gets discarded to be recycled only much later.
The only random element in the game is these three decks of event cards which get turned up every turn and affect all players. You might get to muster more troops, or there might be a Wildling attack, or certain orders might be off-limits this turn -- or there might be "A Clash Of Kings!" which is the very cool and unique part of this game. There are three influence tracks on the side of the board ("Fiefdoms", "King's Court", and "Iron Throne"), and all players have a relative position on each track. The players who are higher up on a track get certain advantages -- for instance, if you're higher than another player on the Fiefdoms track, you win all ties in combat against that player. The highest spot on each track gets a cool toy; like the top of the King's Court track gets you the Messenger Raven, which lets you change one order token after they're all revealed.
Anyway, when the Clash of Kings comes up, all players bid power chips for position on each of the three tracks. You really want to be high up on all three if you can, but you need to save power chips for various other things as well; and since the auctions are all secret, you don't know how much the other players are bidding until it's too late. The Clash of Kings is extremely tense and hard to predict, and it can completely upset everyone's positions and force everyone to rethink their plans.
You know, if anybody reading this is looking for a birthday present for me, I don't have a copy of Carcassone or Puerto Rico yet... or you could just go on my new favorite website, Board Game Geek and look at the top-rated games there for ideas!
Real security is cooler than bad cyberpunk movie security
Major Enso crunch mode lately. Today I finally defeated a major networking bug that I've been battling for about a month. Due to mysterious flaws within the Python standard libraries, I couldn't get XML-RPC to go over an HTTPS proxy; it could go over an HTTP proxy and it could go over HTTPS, but not an HTTPS proxy. Bleah. This is not just a theoretical problem; it has been preventing Enso from working for users who are behind firewalls in their workplaces, because certain firewalls involve HTTPS proxying.
The solution I finally found was basically to re-implement SSL in our application; so XML-RPC goes "unencrypted" over the proxy, but if you look at the contents of the arguments and return values, it's all encrypted garble. (I told one programmer at a New Year's party that I was re-implementing SSL for this reason and it made him cry.)
This solution is actually slightly better than just fixing the HTTPS problem, because the latter would have potentially allowed a man-in-the-middle attack if somebody set up a decrypting SSL proxy of their own control and examined what our program was sending to the server. I don't think they could have cracked the server that way, but it might have been a step towards breaking copy-protection on the software, or possibly towards impersonating the server in order to steal other people's passwords.
So yeah, I have been learning a heck of a lot about security lately: digest authentication protocols, public-key cryptography, replay attacks, etc. Cyberpunk has it all wrong. Guys who crack corporate networks ("hackers" or more accurately, crackers) aren't some brilliant wizards who make some brilliant leap of creative skill to bypass security. They're more like burglars who prowl down a street trying every house until they find one that left their back windows open. In other words, security holes are always a result of a mistake on the part of a programmer or sysadmin -- mistakes comparable to leaving a window open. Cracking mainly consists of trying known techniques against a variety of sites and programs until you find one that has left itself open.
This is why I wouldn't bother with supposed security programs like McAffee or Norton -- computer security isn't like a magic barrier that you can buy in a box; it's a collection of mistakes that you have to avoid making. It requires thorough understanding of the details of network protocols and the types of attacks which can be attempted on them. McAffee or Norton makes a box appear on your screen that says "I'm protecting you from stuff" but who knows what security holes were actually there and what the program is doing about them?
(There are some kinds of "brute force" attacks, like dictionary attacks and denial-of-service attacks, which don't fit the pattern I described. They don't depend on the site having a security hole; they just rely on brute-force computer power doing the same thing over and over until it either guesses a password by luck or until it locks up the server from too much traffic. In my mind that means they're even farther removed from the pop-culture idea of what "hackers" do. Very uninteresting. Also, in the theoretical limit, impossible to defend against; defense consists of making it so the dictionary attack or denail-of-service attack would take the attacker more effor than it's worth.)
Oh yeah, I've been reading a book called "The Art of Deception", which is about "social engineering", or the art of tricking people at a company into revealing sensitive information to you, usually by posing as someone official. Lesson: Humans are the weak link in security. They must be eliminated! No, just kidding. They must be trained not to give their frelling passwords away over the phone!
Going back to the idea of leaving your back window open: the world is full of insecure wireless networks. This is a big problem which people aren't paying enough attention to. One time when Aza and I were in San Jose trying to find a certain hotel (both of us had forgotten to bring the piece of paper with the address) we decided to check the Internet by driving around the city with our laptops open in the car, searching for wireless networks until we found an unsecured one. No password required: just park in front of the right person's house and their wireless router basically invites your laptop to come join the family. This is called "war driving". I have heard that some people put chalk marks on the sidewalk near insecure wireless networks to let other war drivers know where to go. It's like hobo signs.
I've also heard that some people did an experiment where they drove around Washington DC and the Pentagon with laptops out, counting the insecure wireless networks that they could easily get on to. And there were a lot. This is disturbing.
Aza is back in town now. After a semester at grad school, he decided that it wasn't for him, and he would rather come back to Chicago to work on Humanized. I missed him and I'm glad to have him back! I'm also really impressed (amazed?) by his choice of priorities. You gotta understand, he had the chance to do a PhD in physics at Caltech. At one time, that was my entire goal in life (well, there or MIT). And Aza gave it up to come back and work on what I've been working on. Wow.
The way he describes it, he makes it sound like academics just wasn't for him. Too slow. Too much theory. Not enough action. That agrees with the feeling I got during the time I was hanging around Argonne and taking PhD courses at U of C. I mean, the parameters of my Argonne project were determined by the buzzwords that somebody decided to put in an NSA grant request. We said "portal" in the grant request in order to sell the idea, therefore we have to make a "portal" even though neither we nor any of our users actually has any use for one.
Once Enso launches, I will be getting money because I made something which people like enough to pay money for (or not, if it tanks). That's going to be a good feeling. Before that, most of the jobs I've had in my life have been funded indirectly by taxpayer money in one way or another.
I mean, I guess the reason I wanted to pursue higher education in science in the first place is because I wanted the chance to do stuff that is awesome. And what I'm learning is that there are plenty of chances to do equally awesome stuff outside of an academic context -- with less beaurocratic annoyances and more freedom.
At the moment I'm certainly learning about some really cool subjects, hands-on, and I don't have to pay $2500 per class per semester for the privilege. Yeah. The variety and depth of topics I've been learning about in making Enso kind of eclipses what I would have learned in an equal amount of time at school; just from this one bug (the one I finally fixed -- the one I started this post talking about) I've learned enough that I could confidently re-implement XML-RPC, SSL, HTTPS, and web proxies from scratch if I ever needed to. It's been a couple years since I've needed to write a resume or take a formal job interview; but next time I do (if ever) have to do such a thing I'm pretty much gonna own it, you know what I'm saying? That's a good feeling too.
Destroy all humans!
New comic page is up. I'm finally getting the speech balloons to look basically OK, so that's good. This strip was drawn B&W and colorized on the computer; compare it to the ones I colored with real watercolors and you'll see why I prefer doing it that way -- coloring on the computer takes just as long and looks much worse. Blah. Well, this page should be the only time I have to do that since this is the last of the really old comic backlog.
It looks like we'll be releasing Enso right around my birthday. We've pushed it back way too many times already, but now we're seriously almost caught up with the beta-tester bug reports. It is good.
I have a comic but I haven't posted it yet because I'm wiped out with a combination of still being sick, trying to get work done today, and having stayed up all night playing this insanely complicated and backstabby Dune boardgame that finished at 7 am.
I have lots of stuff I want to post, including said comic, and holiday pictures and stories and New Year's resolutions and analyses of how I did with my last year's resolutions, and also a post about said Dune boardgame, as well as several other sweet boardgames I played for the first time like Carcassone and Puerto Rico. And more political diatribes. But first: sleep!