Universal Tech Interface
One of the trickiest elements of developing an MMO that isn’t set in the middle ages or some magical incarnation thereof is the way that players in the game interact on a technical level. Obviously, since this is “future time” (to borrow the phrase from the creators of Alpha Shade), the way in which tech is handled is vastly different from how (or even if) it’s handled in games like Everquest and World of Warcraft. Much like the modern world, technology is everywhere, and the number of devices we need to use in the real world to achieve a complete digital lifestyle “package” is rather immense, depending on the depth of your digital life.
I don’t want this concept to carry over into Phoenix. However unlikely it is that all of the tech developers the world over will have resolved their differences and allowed one platform to monopolize 100% of the consumer market share, doing it makes things a lot easier on both the development team and the players themselves. There are times in a digital realm where options and niche-market designs become counter-intuitive and simply serve to bog down the interface. To again borrow concepts from Uru, the objective is to create a KI-like device which will interface with anything and enable a seamless and consistent interface to be put on virtually every technology-driven task. In a way, it’s sort of the realization of the combined visions of Apple and Microsoft in a virtual realm.
I know a lot of people disliked the KI in Uru. I think there was a fair amount of ball-dropping at Cyan when it came to the documentation of the device to begin with, but in addition to that, it was a bit convoluted and not the most intuitive thing in the world to get used to messing with. Understand that when I say I want to create something like the KI, I don’t want to re-create the KI itself (though unfortunately my initial design renderings in Photoshop look rather KI-ish in appearance… oy, originality is a bitch). I want to create something that much more closely mimics the design and human interface guidelines of modern OS software (with probably more than a little bit of leaning on Apple in particular, if only because their human interface guidelines are actually accessible online ;)). What this means is descriptive icons, text, and a simple yet useful interface that feels a lot like a Palm or PocketPC user environment. I’ve come up with something which I call a PAD (for present lack of a better word). It has two display modes, much like the KI, but for now I’ll be focusing on the full-screen mode.
The device - a mock-up for which is shown on the left (click it for a larger view) - has 3 screens: the menu/chat screen, the buddy list screen, and the “main” screen where “applications” load. Right now I’m just using OS X icons as placeholders until I make my own (which is time-consuming), but the icons arrayed around the ring in the top-right are all “application” icons. There will be apps for various things, like chat/buddies, PAD settings, photo organization, text notes, mail, audio content, video content, a “web” browser (sort of like EVE’s in-game web browser, which will actually open sites on the web related to EVE), etc. The second segment of the ring is the devices dock. The single icon currently in the dock is the PAD itself, and it’s always listed. When you are close to PAD-enabled devices (computer terminals, public photo billboards, etc.), the device will appear in the devices list. Clicking on the device will cause a new set of application icons to spin into the app ring. Basically, the apps listed in the ring are what the currently-selected device will allow you to do. Sometimes there will be only one or two items in the ring, if there are any at all, and sometimes there will be a number of them, depending on your level of access to the device and what the device is actually for. The name of the app that is currently open will be displayed in the top half of the circular screen (in this case, “Chat” is open), while the bottom half will display the current date/time (only, 900 years in the future ;)). The other element of the top screen is the text chat system. Unlike Uru, you will be able to communicate in a number of various channels (not at once, mind you), and switch between them at will. There will, of course, be the typical “global” chat channel, but there will also be various smaller channels that you can retreat to when you want a break.
The buddy list will function somewhat like Uru’s does, in that there are groups of buddies that you can collapse, and clicking on a group or individual will send your messages to the selected person(s). Unlike Uru, however, you can create your own groups to put buddies in, and any organizations you join will be listed in the group list, along with all of its members. I’m still refining the way that private or group conversations are depicted, so it’s a little rough around the edges still. There are also actually 2 buddy lists on this screen. The one selected in the mock-up is your buddy list, but there’s also the Channel list, which lists everyone currently in the channel you’ve selected (think of it as taking the Age Players list from Uru’s buddy list and putting it in a separate tab, since not everyone on that list will be a buddy). The “Call Buddy” button will ring the buddy’s PAD, enabling you to voice-chat with your friend even when they’re on the other side of the city. In Channel mode, this button becomes “Add To Buddies”, which will add the selected person to your buddy list. I might also change “Buddies” to “Friends”, but anyway…
Finally, there’s the main screen. Unlike a fully-fledged computer, you can’t have more than one app open at a time (yeah, I know, everyone loves to multitask, but not in the future :P). This screen will be filled by whatever application you’ve selected from the app ring. While the interface for each app will be different in terms of what is displayed, the design of each app’s interface will be consistent with all of the others, so it shouldn’t be too hard to get the hang of. Plus, we’re not dealing with D’ni communications conventions, but rather tried-and-true human interface guidelines and symbols, so understanding what’s going on shouldn’t be nearly as difficult.
Since I’ve decided to display the chat screen (I thought when I started that it would be the easiest… I was wrong), I’ll go into a little bit more depth about it. The Channels column provides you with a list of all active channels on the communications network (which is referred to in-game as the Backbone). You can select any channel and add it to your favorites, and can always be removed at any time. You can also search through the list of channels to find one with the title you’re looking for (anyone who knows what Spotlight or Google Desktop Search are should get how this search will work). The UI in the mock-up is slightly inconsistent, as the selected channel is in the Favorites list, and as such, the button at the bottom should say “Remove From Favorites”, but oh well. You can also choose to drop out of the public chat system entirely, which will limit your communication to private or small-group communication with those on your buddy list. I imagine this could also be parental controlled so that younger players can be kept off the public chats, but anyway, moving on. The Buddies frame provides a list of all of your buddies and groups. The mock-up isn’t quite complete in this area, as it doesn’t show that user-created groups can be deleted (this is done by selecting a group and clicking the button at the bottom, which will become a “Remove Group” button, rather than Add). Clicking on a group name will display all buddies in that group. To view all of your buddies, click the “Show All Buddies” text.. The options in the box below Groups are for your buddy list. The first will display the names of buddies who are offline when checked, and hide them when unchecked. The second will hide any groups without online buddies in them from being shown in the buddy list screen (this doesn’t affect the list of groups in the Groups column of the Chat app). The buttons next to each buddy in the list will display that buddy’s profile card (the “i”) or remove the buddy from the list (the “X”). To add buddies to user-created groups, just drag and drop. No annoying little arrows needed ;). Buddies cannot be added to or removed from system-created groups, as the system groups display members of organizations you’re a part of. I should also point out that scroll bars will be added to the Groups and Buddies columns when they get long enough to need one.
Organization control and whatnot will be handled by another app on the ring, so that information is not displayed here. I’ll probably be doing more screen mock-ups as the days and weeks and months roll by, so stay tuned.
January 14th, 2006 at 9:00 am
Have you thought about making the “apps” scripted (e.g. LUA+XML+CSS+PNG)?
It would allow you to develop them fast, add and improve them later, guarantee a consistent design and allow your players to extend functionality. If you include a “library” of data exchange systems that is mandatory (no direct scripting access to files, streams, etc.) there should be few interoperability problems, even consistent exports (e.g. XHTML) would be easy for every app.
In the end it might even allow to include nifty things like a stand-alone app, so people can access their internal mail without firing up the game (I know some people have requested this for Uru).
January 17th, 2006 at 1:50 pm
I’ve seen a few games, including Splinter Cell, that actually use Palm as their user interface. I think this could have worked for Uru as well, and generate a bit of cash from product placement.