The chat interface will make more difference to the natural feel and enjoyment of the game than any other GUI aspect. It is for human language ? your interaction with the living souls in the virtual world. When I briefly played the-game-that-will-not-be-named, the chat interface was enough to make it unplayable for me. It is very important.
The following is a carefully thought-out chat interface concept:
Application:
One issue is that you want to be able to start typing instantly. As an example, right now in PS switching out of mouselook and then clicking the chat window and then typing is inefficient. There should be one hotkey to press and you can start typing your communication. The hotkey should toggle between the GUI?s two main modes; Movement and Interaction. With Movement Mode you can move around and fight with hotkeys, controls keys, mouse or anything you like, until you press the one hotkey to toggle into Interaction Mode. Interaction Mode will bring up your mouse cursor and allow you to click around your GUI and environment to do things. You could also use this mode occasionally in combat to quickly perform special actions. In Interaction mode, only the mouse is used to interact; any keypresses go straight into the chat panel so you can talk quickly and easily; that is until you press the one interface-toggle key (perhaps ESC?) which will bring you back to Movement Mode. This will also open up the possibility of things like assigning right-click for jump, as there will be less reserved keys/buttons.
Details:
The chat panel itself should consist of two main divisions; Local and Selectable.
The Local division should be one half of the chat panel which is stationary and communicates with people in your immediate vicinity. It should also be used for NPC interaction and important system feedback relevant to your current activity. It should have a toggle checkbox for allowing/disallowing display of ?/shout?ed messages in your current ?town?.
The Selectable division would be more complex. Of course it would take up the other half of the chat panel. You can click items in a list down the side of it to choose the category of communication which it will display and send. Default list items would include System Messages, World-Wide chat (probably full of spam and avoided by experienced players), Buddy List Chat (mutual buddies can communicate), Personal Messages (could be tidily avoided by famous players who get ?/tell? Personal Message Syndrome). Items in the category list would display a different colour if they contained unread messages. You should simply click the desired list item or click into the division?s prompt to use it.
You could then add a variety of your own rooms to the category list. An obvious one would be your Guild room. You could also enter any strangely named room like ?peaceful777? which only your best friends know about, so they can enter it too and you can talk without n00bs and PMS. Rooms like this will save famous players and their friends from resorting to ICQ or similar to escape PMS.
Whenever you toggle into Interaction Mode the cursor should start in the prompt of the division you were last using.
The interface should also support implementation of all the usual conveniences such as TAB autocomplete of names and commands, pressing up to repeat last sentence (with flood control), a clickable buddy list to ?/tell? players, etc.
As far as I know this system should be flawless. It would be a little extra work to implement, but it would address so many issues of current MMORPGs and would make the game so much more enjoyable for everyone, n00bs and pros alike.
havena@psxg.tk