Monday, November 03, 2008

When I'm interacting with my computer, there's a range of interfaces I use. On the “high” end, there are full screen specialized UIs sometimes with specialized controllers. I have a highly customized World of Warcraft interface that's tuned for the special keyboard I got for playing games. These UIs typically use your full attention, and you don't do anything else on the computer at the same time. On the “low” end, there are simple interfaces that are usually text-based and line-at-a-time. Twitter and instant messaging let me send and receive short lines of text. These UIs typically use very little attention, and sit unobtrusively on the side while you do something else.

Most games I see are on the “high” end. They have specialized interfaces that you have to learn, and you're not often multitasking. Browser based games are somewhere in the middle. They're not using up the full screen, they have simpler UIs that fit with the browser's UI, and you can have other things going on at the same time, although you'll probably ignore them if the game requires your full attention.

For some kinds of games I think it would make sense to have multiple interfaces to the same game. Outside of games, you see examples like EBay, which has a main interface (through a web browser), some “rich client” applications that you can download, and mobile phone alerts. They all access the same database. You can get more out of the rich client, but it's not something you run all the time. You do have the mobile alerts on all the time, but you can't do very much with that interface. Also look at television shows like Lost or Heroes, which have a main “rich” interface through the TV show, but also expose other aspects of the show through their web site, novels, discussion forums, comic books, and games. The Matrix series of movies had other aspects of the storyline revealed in comics, anime, and video games.

What kinds of games would benefit from multiple clients? I think it's most useful in games that have interactions with other people. In these games, things can be going on when you're not playing. A lightweight client would be useful for finding out what's going on, and perhaps inducing you to play with the full interface. You already see notification of this sort in a very simple setting: play-by-email Chess or Go. There's the game itself, and there's a lightweight communication mechanism (email) that lets you find out what's going on. But I'd like to see this in a lot more games. For example, in Halo 3, it would be nice to see if my buddies are playing online. Imagine an IM bot that showed in its status message how many buddies were online. Even better, what if you could talk to that bot to chat with your buddies in the game, and see their replies in the IM window. That way you could see what was going on, even if you're not able to play right away. And if you saw that your buddies have been playing quite a bit, you might go into the living room and boot up the XBox. Second Life, World of Warcraft, and any other game with a chat interface might benefit from having chat interoperate with an IM client.

Another kind of game I'd like to see with multiple clients is persistent world games. There are things going on in the world when you're not playing, and it'd be nice to keep track of these. For example, in my brother's game, Barren Realms Elite, you'd send attack forces out to distant worlds, and the attack would happen at some time, usually when you weren't playing. It'd be nice to have a web page or RSS feed or gadget (Mac Dashboard, Vista sidebar, etc.) that showed me the status of my attack force and the outcome of the battle. These days, MMOs are the most obvious sort of game where this would be useful. In World of Warcraft, I'd like to know that Stormwind City is under attack by 60 Horde, or that my guild just defeated the bosses of Karazhan. The state of the world could be displayed in a web page, and major attacks could be sent as IM or email or RSS alerts.

Another sort of interaction I'd like with a game is for part of the game – not just status or chat – to be accessible in a lightweight client. In EVE Online, I'd like to track the economic game – my buy and sell orders, as well as production – even when I'm not in the full game client. EBay mobile alerts likely increase people's usage of EBay; my guess is that having that lightweight client that lets you track your EVE Online business dealings would make you play EVE Online more.

Even in single player games, there are some interactions with other people. For example, suppose a new high score in Scrabulous was sent to all your Facebook pals. That'd both remind people to play Scrabulous, and it would also encourage everyone to try to beat that high score. Scrabulous is a Facebook game, but you could imagine doing the same with other games. If XBox achievements were sent to my Facebook account, it'd be more fun to get those achievements than if people saw them only when they turned on their XBox.

To summarize, I'd like to see a lot more games with multiple interfaces. Some ideas are:

  • Status (web, IM status) to passively see what's going on in the game, even when I'm not there.
  • Alerts (RSS, email, IM, SMS texting) to actively be notified of major events in the game.
  • Chat (IM, email) to allow communication between people playing right now and people who might not play until later.
  • Play (web) to allow playing some subset of the game through an interface that I can use when I'm doing other things.

For some, the lightweight game will augment the full game. Many will end up participating in only the lightweight part of the game. For others, the lightweight game will be a gateway that leads them to try and enjoy the full game. I think that's a good thing. Not everyone uses all the EBay clients; not everyone who watches Heroes reads the comic books and plays the online games; not everyone who watched The Matrix also played the game. Different people will participate in different ways. Use an interface that's simple and widely accessible to complement the interface that's rich but not there all the time. We'll have much more interesting games when lots more people participate in them.



schnalle wrote at November 05, 2008 7:08 PM

great idea! i think an interesting pseudo-external client for WoW is the armory.

and for different playable clients: you probably know dwarf fortress ( the game is incredibly rich in detail, but the graphics ... wait, there aren't any - it's ascii. not all people like differently coloured @'s for different monsters, and so there are hackers who fiddle around with memory and hack a graphical client onto it. very hard and inefficient.

every now and then theres a suggestion in the dwarf fortress wiki to split it up into a (singleplayer) server/client architecture. toady (the creator of DF) doesn't want to open source DF (understandably), but all the magic happens inside the server. so what the people want is: split it up, make the original ascii client open source, document the protocol and let people build their own graphical 2d/3d/isometric clients. sadly, that won't happen in the near future - but in my optinion it would be great. ascii for the hardcore conservatives, 2d for those with slow computers, 3d-eyecandy for the rest.
dwarf fortress would be just perfect for this - it's a pity.

regarding external clients for ingame chat - my expect a huge potential for misuse (spamming, monitoring, ...), if not done right - you would have to be very careful implementing something like this. often enough i don't want (certain) people to know i'm playing ... or imagine a third party chat client for wow (even when using blizzards official protocols) where you have to provide your account name and password - i'd expect a lot of account napping.

Amit wrote at November 06, 2008 5:52 PM

Yes, I imagine that having chat open all the time would change the dynamics a bit. But I was expecting that it'd be done with your game account, so that it's the same potential for spam as now. And you may not want people to know you're playing, but if the game chat account can be used outside the game, then you won't actually know if they're playing. :)

Oddur Magnusson wrote at June 18, 2009 3:50 AM

EVE Online exposes some of it's data though an API:

There are multiple client which use this api to deliver offline playing experiences. For examples and

Sebastian wrote at September 27, 2013 2:36 AM

I'm reading your older posts and it is quite funny to see how many of the things you were saying, unavailable at that time, got to be a real thing today.

Take a look at world of warcraft. From your smartphone you can keep in touch with your guild members, see who is online, talk with your friends that might be in-game or remotely logged, play the auction house and you even have limited management to your characters. The economic and social aspects of those kind of games do not require the hardcore graphics the game usually provides. So it makes a lot of sense to provide such slim clients that are able to be used even on a smartphone or in a web browser.

I'd expect to see in the near future games that also have side applications that you can keep in your taskbar or notification area. From time to time a bubble would raise letting you know important stuff.

Think of your little simulation pet project. You can play it but if you feel like doing something else as well, just keep it minimized in the taskbar and let the simulation go. You get notified if something important happens and maybe even take limited decisions from a slim windows interface. No need to open the full game for this.

Anyway, great ideas and great blog! ;)

Amit wrote at October 04, 2013 11:02 AM

Oddur: I just learned that Guild Wars 2 added an API as well. It's not economic data like EVE but it does show current events in the game.

Sebastian: thanks! Yes, I think it'd be neat to see something that integrates better notifications. Browsers are now adding notification APIs too so it could be done through a web app instead of having to install something.