Latest in Gaming

Image credit:

Interview: The Path of Go developers (XBLA)

Kevin Kelly

Nothing says intelligent, timeless strategy like Xbox Live Arcade, right? The Path of Go producer Joaquin Quiñonero Candela is determined to stop people from guffawing at that line when his team introduces this ancient Chinese tactical game to the realm of thumbsticks later this year.

Developing Go is a very difficult undertaking, because it has more possible moves than Chess, on the order of 10174. Take that, Deep Blue! Gameplay also involves strange concepts like honor, and a lack of teabagging, which is hard to foist on the gaming community. However, we spent a few moment with the tutorial, and actually learned how Go works for the first time, and promptly had our ass kicked. So they did something right.

We sat down with producer Joaquin and programmer Markus Jost at GDC this year to talk about the game, that the process was like, the innovative "Play By Message" feature, and how it was all born out of herd of sheep and a German Shepherd. Read on for the full interview.

Gallery: The Path of Go (XBLA) | 14 Photos

Well, first of all, tell me your names and your roles?

Joaquin: Yes. So I am Joaquin Quinonero Candela. I am the senior of Microsoft Research Cambridge.

Markus: My name is Markus Jost, and my position working for Microsoft is ... external person, I guess. [laughter]

You are the lead developer? I guess, the director of The Path of Go? Do you have sort of a title for your developer/creator position?

Joaquin: I guess Markus is the main developer and I am the producer.

And how many people are on the team total over in Switzerland?

Joaquin: There are two people, essentially. So one of them is Markus here and the other one is Remo Zehnder, who has not worked continuously throughout, but most of it. And Remo has done all of the 3D art. And then there is a person who has helped us for just a couple of months who has created a lot of the soundtracks for the game.

Well, this game has a very unique genesis in how it came to be. Can you sum up what brought us from this guy who worked in the banking system, to where he is now developing a game for Xbox Live?

Joaquin: Absolutely. At the end of 2007 and the beginning of 2008, we launched a coding competition where we asked the people to use XNA Game Studio to create a game themed around artificial intelligence and being able to use that artificial intelligence. And we only gave them seven weeks to actually submit a finished game. And Markus here and Remo were the team of two. Markus did all the coding and Remo did the art. They put together this crazy game called iSheep where you are a German Shepherd dog herding some sheep and having to pin them. And we actually loved the game. It was certainly the top submission. So after that, we hired them as interns.

Was that the prize? An internship?

Joaquin: If the legal department was here, they would force me to say that the prize was an interview for internship. We cannot give away internships. And, in fact, we did interview Markus and Remo for an internship. So at the same time, the team at Microsoft Research in Cambridge where I was working at the time had been working on an AI for Go for many years. And so it seemed like, you know, you had the one plus one makes two there. We decided to embark on suggesting an Xbox Live arcade game of Go.

So Markus, where did you guys hear about this competition and what encouraged you to enter?

Markus: From Remo, my friend. We was working not in the same team as me but close to my place. So we had lunch together like once a week or so. And he is like a very enthusiastic gamer. He has like ...

Joaquin: Yeah, 60,000 gamer points.

Wow, that's impressive. We only have one writer at that level.

Markus: My roots go back to the old NES. And so we are both gamers. We went to university together, and he knew that I was a good programmer, so he tried to talk me into participating in that event. Like, first of all, it started like three weeks into the competition when he wanted to join. And second of all, I never had anything to do with 3D programming. Yet, he managed to convince me, so we would just do it. I remember after I came home from work, I was just reading tutorials, like, moving the camera around the first time. After three weeks, we managed to have an actual game that was quite polished and playable-split -- screen-everything.

So that was fun and a very nice experience. Like, programming video games, if you don't know what it is about, it always feels like it is magic. And, you know, I already knew how to program. I took two years of programming, but games, I mean it is games. You don't touch it, it is magic. And that actually was really easy to start. It was just straightforward and such a good start. After maybe five months of XNA, I, of course, started learning C++. And all the knowledge I gamed from XNA has made it so easy to understand the very complicated world of C++ and Direct X.

Was it hard to move from banking into the world of games?

Markus: I think you need to be creative. So if you are a good programmer and you are not creative, you probably don't become a very good game developer. So if you are creative and you understand 3D worlds, map builder stuff, then I think it is easier.

So you were okay with taking a pay cut?

Markus: I was because I knew that it was just temporary.

Are you now wanting to stay in the game arena and develop more games?

Markus: That is a tough question. I mean, you know, I love programming games and I will never stop programming games. But if I look at the industry and I see all these underpaid people, you know, being handled like slaves, I definitely don't want to be part of this. But I will do games. Even if it is just for fun or for my own company, whatever opportunity I have, I will do games. But I am not ready to work for a lower salary or work 15 hours a day.

At what point was it decided, "We are going to bring these guys on as interns and they are going to work on Go as a game."

Joaquin: Yeah, we had a lot of brainstorming around that. What platform to go for was one of the big initial discussions. It turns out that Silverlight was just coming out as well in that time, in the summer of 2008. So Markus actually, in record time, put together a very nice Silverlight prototype of the game that had network functionality, so we did actually spend quite a few afternoons in the lab playing against each other using that. So that was a great first step. And then one of the big questions was, are we going to try to make something for the PC, or are we going to attempt the Xbox. And we had heard about XNA community games as a shipping vehicle.

But, of course, you aim as high as you can. So we sort of thought, "Let's just try to convince the publishers at Microsoft to do a proper full Xbox Live arcade game." So I think, yeah, it was sort of a joint brainstorming decision. Markus was extremely keen on seeing his name on a game on the Xbox, and so were we. I mean we are all very keen gamers. In fact, if you came to visit us in Cambridge, you would see that most of us have a big screen and an Xbox in our room. Whenever we have a bit of time, we actually spend time playing.

What kind of games do you tend to play?

Joaquin: We spend way too many hours playing Halo 3. And part of the reason for that is that the team in Cambridge worked together with Bungie on tuning multiplayer for Halo 3. And obviously, you need to test it extensively. It is required work, right?

Oh sure, that's required. [laughs] So had any of you actually played Go?

Joaquin: I had never really played go before, and I believe neither had you Markus, right?

Markus: No. the rules were a bit peculiar.

Joaquin: The guy who played Go a lot was actually the person who was my manager back then. His name is Thore Grapel [senior researcher, Microsoft Research, Cambridge]. He has written a couple of academic papers on Go. And we owe him for the AI. He is a pretty decent player. In fact, he perfected his skill in Japan. He was there for a period of time.

Have you guys had Go experts play this and give you feedback?

We have had Go experts, yes. In fact, we were lucky that we have, in our lab, we have a 4th Dan player, which is an extremely strong player. His name is Robert Matescu [researcher at Microsoft Research, Cambridge]. He has played a lot, yes. Definitely.

I was reading about Go and it has a lot of concepts that are sort of foreign to games, like the concept of honor is one thing where you won't make a move because it isn't honorable. How do you get a computer to understand that? What was the move difficult part of developing the AI?

Joaquin: That is hard to say. I mean I suppose that the answer lies probably in the timelines. Not to say that Markus didn't work extremely hard. I mean Markus has been working more hours than the day has in the past year. But really, the research that has gone into the AI has been going on for probably about five years. So if we hadn't had the AI, we would not have been able to develop it in one year. That's for sure. We did strongly leverage all the research that had gone into that already.

So, this game is really interesting because it has a "Play By Message" feature. That sounds great for playing when you aren't on as the same time as a friend. How does that work?

Joaquin: Absolutely. OK. So that is quite simple. Do you want to explain that one Markus?

Markus: Technical or in terms of the user experience?

Joaquin: No, just from the user experience.

Markus: So, what you have is you have friend that you can fit with games. So you invite a friend. The other player has to be a friend because of technical limitations. But you just invite a friend, and then you initiate a game, and then you make the first move. The other player then receives a message saying, "You got an invitation to play a game." You can then go into message and look. If you got the invitation, you will find that game, accept the invitation, and from that point, you can just play a move, the game sends a message back, and the other guy can start his Xbox, play a move, send a message back, and so on. And what you can also do is, at any time, also play live if you both are online. Then that game, you can continue it, exit the game, and restore it ...

It goes back into play by message?

Markus: Yes, and that is a very nice opportunity to actually finish a 19x19 game.

Yeah, which could take 16 hours or longer.

Markus: Well, I think one hour is really all it takes.

Joaquin: It depends, really, on how seriously you take it. But, yeah, actually, this brings us to the board sizes. So indeed, Go is played on a 19x19 board. We decided to put a lot of focus on the 9x9 board because we were building an arcade game. When you play an arcade game, you don't want to pick up the controller and put it down 16 hours later. So message play was a way to alleviate that. As Markus was saying, you can save the game at any point. You can actually make a move asynchronously if both players are not online.

Speaking of the user experience, you are playing in this game as your avatar, I am guessing.

Joaquin: That is correct. We have full avatar integration. A lot of kudos actually have to go the Xbox Live Arcade, both the producers and the testers from there. So Chad Long from the test group in Xbox Live Arcade actually suggested message play. And you know how it is. The day he suggested it, we looked at him and said, "Are you crazy? We are not doing that." And then Scott Brody, who is a producer, said, "Oh, you guys should have avatar integration." And we basically gave the same reply. We said, "Are you crazy? We are not doing that." But then we did both and it turned out to be two absolutely great ideas that made the game a lot better.

Is this the first Xbox game that will have play by message? To my knowledge it is.

Joaquin: I believe it is, yes. I am going to leave a 1% uncertainty level there and say with 99% confidence, I believe it is.

So you have three sizes of boards you can choose from? 9x9 is the "casual" board.

Joaquin: 9x9, 13x13, and 19x19.

And then you have the different backgrounds, five different backgrounds.

Joaquin: There are five different environments. There is the temple where you meet the grandmaster first. Then there is a lake that you need to cross. There is a fairly lady that keeps that lake. Then you reach the top of the first small mountain and there is a hanging bridge. Then there is a cave where something happens. I don't want to spoil the game. And then finally, there is the top of the mountain at the end where something even more exciting happens. And all those scenes have different environments. And in fact, it is at different times of the day. You pretty much go through a day. It is morning initially, then sort of midday, then the afternoon starts to fall, and then eventually it is night at the top of the mountain.

This is the story mode.

Joaquin: That is through the story mode. And then if you play against a friend or if you play a local game, you can play on any scene that you have unlocked through playing the story mode, just to encourage you guys to go and sort of finish the story.

I am guessing the game is called The Path of Go because that is something that you can trademark, versus just calling it Go. Was that decision?

Joaquin: I have to say I don't have a good answer to that question. The only thing I can say is you can spend hours and days thinking about a title for a game. [laughs] I suppose the reason why we chose The Path was because we wanted a metaphor for the process of learning. It really feels like a journey. We also toyed with The Journey of Go. And then, of course, there is the joke, you know, Go as in going. So we sort of thought it would be fun to call it that. Yeah, we definitely wanted to sort of convey the idea that it is a journey, really.

We should stress, I guess, that this game is not quite finished. You said you guys are still working on it. Is it anticipated to be out sometime this year?

Joaquin: Absolutely, yes. I am fairly confident that ... I will not commit to a date yet. I think that would be risky. I am quite confident that we will be able to make it available this summer as an Xbox Live arcade game.

Have they said anything about pricing?

Joaquin: Yeah, I don't have a good answer to that. It is definitely going to be a middle or full priced arcade game. That decision also is a decision that we don't make unilaterally. That is also done together with the Xbox Live Arcade team.

Does you have the ability to add stuff to this game later, like different environments? Is that something you could drop in?

Joaquin: Oh yeah. That is definitely an option. It is very early days for us now to tell if this is something we want to do. I mean we want to finish it first.

What happens with the team once this title is finished? Are they off to the winds or are some of them going to stay on fulltime?

Joaquin: That is also a completely open question at this stage. I mean there is obviously two factors that come into play. One of them is personal choices. So some of the members of the team are committed to families and jobs and all that. Some of the members of the team we would love to see stay on at Microsoft. So we are going to do our best, basically, for both sides-to do what is best for all.

What about you, Markus?

Markus: My personal trajectory is actually diverging from games. I think what kept me doing games was really the overlap between my background in machine learning and artificial intelligence and my passion for games. And I could do that as a researcher at Microsoft Research. But I've recently transitioned to Microsoft Ad Center where I am applying machine learning techniques to optimizing online advertising. And that is consuming increasingly more of my time, so I am probably going to pause games for a while, but I would love to get back to it.

Well, if this becomes a smash hit overnight, they may make you come back and say, "All right. We want some more games. Right now."

Joaquin: That would be fun. [laughs]

Well, thank you guys. We look forward to playing The Path of Go.

Joaquin: Thank you very much.

Markus: Thank you.

From around the web

ear iconeye icontext filevr