Amazing Race: Albeit more geeky and less athletic

It’s called DASH: Different Area Same Hunt. It’s a game where teams solve the same set of puzzles in different locations across the country (hence the name).  I participated in the NYC event, which was a lot of fun!  The puzzles generally contain multiple meta-puzzles.  For example, first one must solve a word-scramble like puzzle, which will give the directions to solve part two.  Both of these answers are needed to solve the third part and finally when the puzzle is “solved,” that answer must be decoded into a symbol which reveals the location for the next puzzle.

The NYC version is played in Central Park.  Puzzle locations whisk teams from the Met, to the Museum of Natural History, to the Hans Christian Anderson Statue, back to Strawberry Fields, etc…  Advanced Puzzlers finish in a few hours.  Amateurs, like myself, are hurried along in order to complete the task, which starts at 11:00 am, by dusk.  We played with a large group of friends, one of which who was pregnant, so we took our time and had fun.  Too much fun, as we did not complete the game and instead split off to a go to a roof-top beer-garden in the Flatiron District, which was packed upon arrival so we went back home.

Having felt slighted for missing a rooftop beer drinking experience, I went out and found my favorite beer: Weihenstephaner Hefewissbier.  Last time I was in Munich, I toured the Paulaner Breweryon the start of the 200th Oktoberfest.  It was a bit quiet, as most of the employees were carting casts of beer from the brewery to the Oktoberfest tents and

Weihenstephaner Wiessbier

ironically, their tap was having problems so we drank (freshly) bottled beer.  However, I really wished I had time to visit the Weihenstephan Brewery.  While slightly outside of Munich, I think it would have been quite the trip.  Maybe next time.

So lesson for next year’s DASH: Solve the puzzles in an german-style biergarten.  If anything, there will be more creative answers… Prost!

If only engineering was like nethack…

I recently read two excellent books on working in engineering teams. Before you shrug them off, they actually are very well written, in fact one of them was awarded the Pulitzer Prize. The books are Soul of a New Machine and Dreaming in Code.

Dreaming in Code is an expose that shows why software is hard. It describes the Chandler project and how they set out to create an outstanding piece of software, and how things went so terribly wrong. As a software engineer, the book is both painful and inspiring. But if you wondering why even today, you have parts of your digital life on work computer, parts at home, and parts on the go, this is would be a good book for you.

The other book, Soul of the New Machine, at its core is about what motivates an engineering team to create something. In this book, the team was trying to create the best computer available circa 1980. A bit more hardware focused, but there are insights for any team of people who set out to create something new. What drives somebody to work endless hours without extra pay and the detriment to health and family?

So, since I’m on a non-fiction technology kick, this is what my reading queue looks like:

I have a queue for fiction as well. I find that when I have too much going on, I can’t really get into the story so I switched to non-fiction.

Lastly, we are currently studying Procedural Content Generation in my Game AI class, which is basically the ability for the game to create its own stories / content. Skyrim, the new game in the Oblivion series, is doing this such that the game is “endless.” It also uses a technique to generate the foliage, since that would take too much more for a single human designer.

This is nothing new of course, nethack has done this for years. And while I have known about nethack and played it once or twice before, I picked it up again and realized it is very good. While it looks rudimentary, it is quite rich with features, rules and player

iteration. Each game is randomly generated, and it is challenging. A modern equivalent that one can play on the iPhone is 100 rogues, which I talked about last post.  Somehow I nethack in progressfind myself playing more and more of it, but it could just be because I have a problem set due…

Forget Skynet. How about an AI that helps you win video games!

This is how I saved my game in the 1980s:

  1. Pause the game, by hitting one of the five buttons on a controller.
  2. Turn off the TV.
  3. Do NOT, I repeat, DO NOT power off the console under any circumstances.

Video games back then were continuous story arcs.  “Saving” the game (as described in

Zork I cover art
Image provided by a Grue at Wikipedia

the function save80s above), risked losing hours of “work” if somebody bumped the Nintendo.  But compared to today’s video games, there was for me, a much stronger sense of accomplishment by beating Super Mario Brothers, or Zelda, or Zork.  So agrees Keith

Burgun, designer of the mobile game 100 Rogues in this podcast.

100 Rogues is “an arcade-style dungeon crawling adventure,” but also, it is defiant to modern games in a crucial way: in a game instance, the player may not win.  Most of the time, the player will die and must restart the game; there is no saving.  In fact, saving in 100 Rogues is very 80s-like in that it can only be paused by nature of switching tasks as provided by iOS.  I’m sure that this is much to the chagrin of the author, who would rather see the game finished by death or victory.

While Keith ideologically stands by a gameplay theory that player skill, not the player’s character skill, must increase for forward game progress, the commercial world designs games to be fun for most users.  Unfortunately for Keith, I believe that most gamers would not find his games fun, mainly because his games are designed to be difficult and require skill.  In this case, skill is how well one can play the game.

So, when I read this Ars Technica article, I was not surprised by the demand for in-game hint systems.  After all, this would have made Myst a lot easier, especially because I can remember clicking each pixel trying to see if there was an intractable object I was missing… UGH!  However, I was surprised in my game AI course to discover that there is significant academic research to solving this very problem.

One such idea involves the concept of the game constructing an emotional player model to detect when the player is frustrated / lost / stuck.  Once detected, the AI offers a hint.  The technically interesting piece here is how to detect when the player is frustrated and how to learn to detect when the player is frustrated through machine learning.  The creatively interesting piece is how to design subtle hints, since some players may not like the fact that the game has declared them “hint-worthy.”

I think this keeps Keith Burgun up at night.  About to die in Halo?  All of a sudden, all sorts of weapons drop in-front of you.  This is game adaptation and it is the next step up from hints.  Does this make the game more fun?  For most, it would seem so.  For those that insist on solving crosswords without glancing and the answers, probably not.  In my current game AI project I’m trying to develop a hint-AI for an interactive fiction (very limited) game.  I’m hoping the players will find it fun, but I hope to design in such a way that it’s still enjoyable and won’t cause the Keith Burguns of the world to send a terminator to assassinate me 🙂

Should peasants think for themselves?

One of the things I find interesting about artificial intelligence (A.I) is its intersection with philosophy.  I read that Blizzard uses some sort of “think” routine for each of the units in its Real Time Strategy (RTS) games (Warcraft, Warcraft II, Starcraft, etc…)  So, while I’m sitting here trying to design different A.I. models for a project, I found myself considering whether I should incorporate a similar think routine for the units in the game.  The idea being that the main A.I. manager would ask the units “what do you think you should be doing?”

It's not that I don't trust you...
It's not that I dont' trust you...

What would a peasant want to do?  Well, in the game there are buildings to build, wood to harvest and gold to collect, but wouldn’t he rather just sit there?  So, I concluded that peasants shouldn’t think for themselves and perhaps there should be a manager thinking for the peasants.

Another philosophical observation occurred when I was working on a Pac-man game.  In a certain implementation, Pac-man would always work to maximize his score.  So, if Pac-man realized, through heuristic search, that he was trapped and would inevitably die, he would dive-bomb a ghost, as each second alive decreased his score, like a good utilitarian.