• "At last week’s Game Developers’ Conference I delivered a talk titled “AI-driven Dynamic Dialog”, describing the dialog system used in Left4Dead, Dota, and basically all of Valve’s games since The Orange Box." This is a brilliant talk – really worth going through the PDF for. In a nutshell, it's how the Left4Ddead conversation works – something I tried emulating with my Twitter bots a while back – but also sheds light on how I could have sped up some of the decision-making code on Hello Lamp Post. It's also good on what designing (andwriting) for this kind of work looks like. Might have to write something longer on this.

A new year, and a new toy to begin it.

This all began when Tom started tweeting the prose from the back of a chocolate box.

Tt tweets

One look at that and, having gagged a little on the truly purple prose, there was only one obvious continuation: a machine to churn out chocolate descriptions infinitely.

Which was as good a time as any to play with Markov chains. Wikipedia will explain in more detail, but if you’ve never encountered them, a very rough explanation is: Markov chains are systems that model what the next item in a list will be based on the previous ones. The more previous items you have, the better it can predict the next thing.

They’re often used in toy text generators. You give them source text to seed them, randomly pick a word from the source text, and then start choosing what should come next. What’s nice about this is with nothing other than a piece of maths, and a tight corpus, we can produce things that usually read like English without having to teach a computer something as complex as grammar. Of course, sometimes you get grammatical-yet-nonsensical English out, but that’s hardly in a problem in our case.

So I took the full prose from the back of Tom’s chocolates (Thornton’s Premium selection, for reference), some Markov text-generation code from an illuminating installment of Rubyquiz, and fiddled for a bit.

A short piece of work later and I had Markov Chocolates.


Roughly once every four hours (but it varies), you’ll get a fresh, tasty new Markov Chocolate in your Twitter feed. It’s another of my daft toys, but it still makes me chuckle. I’m thinking of expanding the corpus soon, and I hear the Markov coroporation are keen to branch out into new product lines. For now, you can get your chocolate fix here.

  • "One succeeds because it leverages the player's motivated, explorative, self-driven experience; the other fails because it relies on a hackneyed, disjointed "epic" plotting (told in 3 separate plot-lines via cutscenes) with incongruous settings and 2-dimensional characters. One succeeds because its formal systems directly feed the player's connection to the world and characters; the other fails because its formal systems bear no discernible relationship to the stories the game wants to tell." This is strong stuff from Michael; I am increasingly fed up of the focus on (poorly-told) stories in games.
  • "Know that there are no "accidents" in this game design. Everything you notice about the game, and every subtle interaction that you experience, is intentionally packed with meaning." (Gravitation, still, being my favourite of Rohrer's games, I think).
  • "Crucially, Goodrich entreats the public to note the following: "this change should not directly affect gamers, as it does not fundamentally alter the gameplay." This one statement should cause considerable distress, as it suggests a troubling conclusion about Medal of Honor as a work of public speech.<br />
    <br />
    To wit: it suggests that the Taliban never had any meaningful representation in the game anyway. If a historically, culturally, and geographically specific enemy can simply be recast in the generic cloth of "opposition," then why was it was called "Taliban" in the first place?<br />
    <br />
    And if the Afghan war in which the new Medal of Honor is set was one explicitly meant to drive the Taliban from their strongholds in Afghanistan, why should it matter that the game is set in that nation in the present day at all? In short, how was this Medal of Honor title meant to be a game about this war in particular?" This is a marvellous, critical piece of writing from Bogost.
  • Nice post on Awk basics – most of which I knew, but the examples are still great, especially those involving variables. The links out to the Hacker News and Reddit threads are also full of good stuff.