Sunday, May 25, 2008

2008 SdJ Virtual Stock Market

As I did in 2005 and 2006 (but not 2007), I'm running a virtual stock market to attempt to predict the winner of the SdJ. It was right in 2005 and 2006. Play it here or discuss it here on BGG.

The market's been up for a few hours and Stone Age and Keltis are the favorites.

Friday, May 23, 2008

Next stage of migration and a warning

So far, I'm pretty happy with my move to blogger so the next thing to try moving my 250+ posts from my old blog over here. The good news is Blogger has a GData API and the better news is that Robert Love has already written a blosxom to Blogger import tool. I made a few modifications:
  • Treats path elements as tags when posting to Blogger
  • Parses the meta-date tag correctly for posts with specific publication dates
  • Emits a mapping of blosxom filenames to new URLs so you can set up a redirect map
Here is my version of py2blogger. So, I'm planning on loading things up. I believe have have FeedBurner and Blogger configured such that people using the RSS feed should see nothing. But, there's a chance I've done something wrong and this feed will explode with bunches of old posts. If so, I apologize in advance.

Assuming this goes well and I continue to be happy with it for a few more weeks, I'll set up redirects on my old blog then. But, in the mean time feel free to browse the archives. I know there will be a bunch of formatting/linking problems in the old posts, which I'll try to fix over time, but if you notice anything profoundly amiss, please let me know.

Wednesday, May 21, 2008

Luck, Skill and Experience in games

People talk a lot about"how much luck" a game has, without a lot of specificity as to what that means. Sure, most people are talking in general terms anyway, so there's not a lot of need to deconstruct it, but where would be the fun in that?

I think a decent model for deconstructing "luck in games" as follows: Each player has a "skill" (S) which we'll treat as constant over the span of a single game. Over time this may improve or degrade. Second, each game has a distribution of "luck" (L) or "random factors". Finally, each play of a game, there is a distribution of "performance" (P) or "how well you played". Then to determine the winner, we take S+L+P for each player (where L and P are random variables) and whoever is higher ends up winning. For some games, such as chess, L is essentially 0.

Additionally, the absolute values of these don't really matter, so we can just put some stakes in the ground. Let's just define a "typical novice" as having S=0. Of course, this means some people have negative skill, but that's fine. I also believe that while there are variations in P, from game to game, that it's actually relatively constant. So, let's define P as being a gaussian with variance of 1. When talking about a game, we regularly talk about its "depth" and learning curve, and let's call the difference between S for a "world-class" player and a novice "D", for depth. The units for D are defined by the fact that we've defined P as variance 1. Tic-Tac-Toe has a D well under 1, while something like Chess or Go could easily have D of dozens or higher. Another way to think of D (for games with no luck) is "how many distinct levels of play does the game have?". So, if Joe is a novice at a no-luck game and he is always beat by Fred, and Fred is always beat by Mark and Mark is usually, but not always beat by the best players in the world, then that game is D=2.5. For games with luck, the number of distinct levels of play is roughly D/(L+1). The notion that P is fixed variance of 1 breaks down for games with no choices, like Bingo, because it leads to L being infinite, but I'll ignore that problem for now.

Now, this model has some issues. It doesn't represent atypically non-linear skill curves well. It doesn't handle cases where the performance variation is strongly skill-dependent, or where there are other cross terms. It doesn't model "style" differences well, where you might get circular skill relationships. But, I think it does alright at representing the relationships.

Other than being a fun toy model, I think this actually is a useful, if arcane, way to talk about games. Further, it highlights a category of game I suspect I like more than most people. What I really want in a game is one where L>1 and D>2*L. Further, I mostly don't want D to get too high though, as that makes it too likely that opponents will be badly mismatched. That is, I want a game where luck is more important than how well you play in a particular game, but long term experience trumps both of these, but not by a huge factor. In this kind of game, there's enough luck and variation depending on the players' performance that a novice has a chance, albeit a very small one, against an expert.

Some concrete examples, of my opinions:

The most useful thing this illuminates for me is that I like high-luck, high-depth games. Unfortunately, there's not a ton of them. Heroscape, Race for the Galaxy, Battle Line, Lord of the Rings, and Funny Friends (sort of) are decent examples though. Further, I often find myself arguing that these games are not "high-luck" (contrary to what I just said), because I think a lot of people when they say high-luck mean (L/D) and these all have reasonably low values for L/D. But, maybe I'm misinterpreting, and people mean L/R, in which case they're right, the game is high-luck, but that can be more than made up for with experience. What other high-luck, high-depth games would you recommend?

A lot of people clearly have strong biases toward the left edge of the plot, or the upper left, or even the center. Where on the plot do you tend to prefer? Or, is the plot even a useful breakdown to anyone other than me?

Thursday, May 15, 2008

Moved to Reading & Commute Analysis

Last month, I moved to Reading, MA. We'd been in Somerville for nearly 9 years and liked it a lot, and now we've truly moved to the real suburbs. One of the big concerns was the commute. My commute from Somerville into Cambridge was 15 minutes, door-to-door, which was very nice. In Reading, I have a straight shot down 93, but the commute is very time dependent. I've now collected enough morning commute data to understand the tradeoffs reasonably:

Roughly speaking, every minute later I leave saves me 24 seconds of commute time with dramatically diminishing returns after about 9:10am. I don't really have enough data from 8am to 8:30am but based on the traffic data I've looked at it doesn't suggest my data is atypical.

The commute home, on the other hand, is much more consistently between 25 and 30 minutes (though I never leave before 6pm). But, I'm told the evening northbound commute is never as bad as the morning southbound, even at peak. I'm also told the morning commute isn't much better until you get to before 6:30am. This doesn't quite add up, since there presumably isn't a sustained migration into the city.

Overall though, we're really enjoying living in Reading. That said, the 15 minute commute was nice. If you or anyone you know wants to buy a lovely single-family home in Somerville with an extremely short commute into Cambridge and Boston, our house is on the market and is having an open house this Sunday. See the realtor's site for it at for details.

Tuesday, May 13, 2008

I am a social network

Friend Connect was launched yesterday. It is very cool. It's basically a plug-and-play social network for a web site that merges the social networks of various major social networking sites plus your address book. In fact, this site is now a social network. Check out the sidebar. If you haven't tried out one of the Friend Connect sites yet, it's really worth trying, and you might as well start here. For the moment, I just have the comments and friends gadgets in the sidebar (and in this post), but will probably add some as new things become available.

But, more importantly, it's a big step on the path that OpenSocial started. Unfortunately, OpenSocial itself is a little opaque and confusing, but the root idea of allowing applications to uniformly access social data is important. However much people tend to deride some of the shallow social contact social networks provide, it provides a kind of ambient social interaction which is appealing and not necessarily shallow. There's no reason any site where meaningful interaction occurs (commenting, even co-reading, as with many blogs) shouldn't have a "social" aspect, where I can see the posts of my friends, see the friends of friends, etc. Friend Connect does that. Better yet, it turns any site into an OpenSocial container. Ok, enough sales pitch, I'm just enthused :)

One of the things I like a great deal about the board gaming community is that the online social interaction translates into in-person social interaction. If it weren't for the Unity Games mailing list (and others), boardgamegeek, or even other non-boardgaming focused social networks, I wouldn't be aware of and be able to participate in anywhere near the fraction of in-person gaming that I do. I suspect (and in some cases know) many other small site communities have the same effect, probably more so than the big generic social networks. The big social networks are often "really" about dating or getting a job. The smaller networks can be about board games, or knitting, or geocaching or whatever. The "me" social network is, uh, about reading this blog. And really, ever since I was a little boy, I've wanted to be a social network, so please join. Haven't you ever wanted to be a social network?

(Disclosure: I work for Google and know the team that built Friend Connect, but am not directly involved in its development. This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.)

Saturday, May 10, 2008

Race for the Galaxy and variety

I'm usually all about variety in games. Sure, I have favorites, but I tend to play a lot of different games a few times each, rather than one game a lot. In past years, I've played over 250 distinct titles per year. Recently, the number has dropped to just over 150 titles, but that's more because of a general drop in gaming than a decrease in variety.

Then, along came Race for the Galaxy. I've played RftG 33 times this year, 53 times ever, which is way lower than many people's counts. But, it is already my third most played game, after Electronic Catchphrase and Crokinole, both of which I've been playing for nearly 7 years. In fact, the most I've ever played one game in a calendar year is Electronic Catchphrase which got played 36 times in 2003. RftG is three games shy of that and it's only May.

What makes Race so different for me? Well, some of it is circumstances. In addition to my usual gaming group, colleagues at work enjoy playing it. But, with any other game, after 30+ plays in under 6 months, I'd be sick of it and really lobbying for something else. For me, Race is optimal in several ways; Length: Race playes in 30-45 minutes with even only moderately experienced players and under 30 without feeling rushed with experienced players. It feels more substantial than almost any other game of its length. Depth: 50 games in, I feel like I'm learning new strategies and tactics. Luck: The luck level in Race is what I consider optimal. Against a total novice, I'm almost guaranteed to win. Against an opponent who has played some, but is still new to the game, I usually win. Against some of those who have played far more than me and/or have more natural talent at it, I usually lose. That level of luck keeps the game interesting to me. Theme: Obviously, for a lot of people, the theme is sort of irrelevant. I find the game deeply thematic and engaging because of that. The narrative presented by a tableau at the end of the game is often quite striking. Complexity: Race is a complex game, but to me it feels like it hangs together so nicely that the complexity is simply translated into depth after a few plays.

All that said, I'm still not convinced that fully explains why Race has so completely broken past my usual game-burnout threshold. Highly recommended.

All my blogs

I like the idea of blogging a great deal, and have been doing it since 2002. Lately there's been a proliferation of micro-blogging and mini-blogging formats, and while there's something sort of oddly simple about the phenomenon, it's an interesting social dynamic and I enjoy it as a way to maintain ambient social contact with friends and colleagues. So here's all my blogs or blog-like things:
  • My main blog: I've been maintaining this (through several software changes) since 2002 and it's mostly about board games.
  • Twitter: Iconic microblogging, which I've used sporadically.
  • Google Reader Shared Items: A Google Reader feature, that, with the new notes feature is a nice micro-blogging/link-blogging format. If you're not reading this on RSS, these sit in the sidebar on this blog.
  • BoardGameGeek forum postings: Not really a blog, but a potentially interesting aggregation of my posts there.
  • This blog. Until I decide what to do, I'll probably mostly do "real" (ie, more than 2 sentence) blogging here, and if I abandon it, I'll move them over to my main/old blog, or if I decide to keep it up, I'll move all the old stuff over.
  • Friend Feed: This aggregates all of the above and a few other not-really-blogging sources, which is awesome, but it's aesthetic and formatting bugs me, but it's manageable when read in Reader.
I also have an iPhone now, so I'm tempted to do a photo "moblog" even if I am several years late to that game. I could, of course, post those here instead of creating a separate blog and will probably do that unless someone tells me "I read your blog but would rather a moblog exist as a separate feed".

Trying out Blogger

I've decided to try out blogger because my old blog software (blosxom, which I love) was getting a little stale and I wanted to support comments again. I'm not (yet) going to migrate my old posts over here, but I might.

I decided to go with Blogger (rather than any of the other also good free choices) for a few reasons:
  • Part of my annoyance with my old setup was that I was sick of dealing with configuring and tweaking it. Blogger is entirely turnkey, including hosting it on my own domain.
  • I already have code that will upload my blosxom files into Blogger if I decide to do the full switch, using the Blogger API.
  • I work for Google, I know some of the Blogger folks and it's good to use your own products, even if I don't work on Blogger itself.