Client Text Handling
UO makes heavy use of text data for a variety of purposes. Overall I think that UO probably has the best model of all the games I've played and the use of a unified text system is a key part of that success. However, the model could be radically improved with some very basic tweaks.
- Player speech text: It has always annoyed me that
other players could manipulate my local game environment by imposing their
text colors onto my game. Since the client sends the display preferences of
the player along with the text, this essentially allows characters to override
my personal display settings, to my disadvantage. In networked applications
there are two basic models for determing how data is displayed: publisher-side
technologis like web pages allow the publisher to control the display environment
within the context of those pages (only!), while display-side technologies
like email usually allow the viewer to control the display environment. UO
uses the publisher-side model, although this is the wrong model for this kind
of environment. Instead, it really needs to use the display-side model, with
the gamer controlling how textual data is represented within the game world
that he is playing within [this is kind of similar to why we also need themes,
but on a narrower scale].
To make this easy, I propose that text coloring be associated with the highlight color of the character that is speaking. For example, normal "blue" characters should have "blue" text of the same coloring, while "green" guild members would have the same green colored text, red characters would use that coloring for text, and so forth. This allows for a variety of natural benefits. For one thing, users already have the ability to override character highlight coloring in the options interface, so if a particular color is not suitable to their purpose they would be able to change the default coloring and all of the associated text would change simulatenously. Furthermore, this model allows journal text to provide relevant historical context (red text means I was talking to a red character). - Process-output text: The UO skill code also needs
to be normalized so that standardized, appropriate output is consistently used
for different kinds of feedback messages. Currently, each skill generates different
colored text for different kinds of outcome, and sometimes uses different text
placement mechanisms, all of which is highly confusing and not at all helpful.
For example, successful use of the hiding skill results in baby-blue text above
the character avatar saying "You have hidden yourself well", while
successful use of the stealthing skill results in normal (grey) text appearing
in the lower-left text output area saying "You begin to move quietly."
Meanwhile, failure to use the hiding skill results in bright-red text above
the avatar saying "You fail to hide" while failure to stealth produces
the normal grey text in the output area saying "You fail in your attempt
to move unnoticed." This stuff really needs to be standardized to produce
a cleaner and more consistent experience for the user.
My suggestion here is that successful use of a skill or item should use a baby-blue text that is in the lower-left corner where it will not be obtrusive. Warning text that is not an error should use a yellowish color, with the text location depending on whether the event affects the player or not. For example, "you are poisoned" messages should appear above the character in bright yellow, while general warnings like "you repair the item but it looks less durable" should go into the general text area. Errors or failure text (insufficient resources, your special move was parried, etc) should use a bright red text, with the same sort of positional logic. System messages should use a bright orange color that clearly stands out, but should use the text display area, since it is not directly related to the character. - Mutable text area: I would also like to see an option to make the text-display area mutable. Essentially, this would mean that users could choose to view textual data in the main window, or in the journal window only, or in both windows (this is the current model, with no other options). With large screens, routing all text to the journal window is entirely feasible, since that window can be left open and too the side of the main window. Furthermore, the journal window can be made themeable, so that it contributes to the user's playstyle. All of that is possible today, except that we are also forced to tolerate text in the main display window, which is sometimes detrimental (ie, spam at the bank, or excessive amounts of textual data that is generated in busy places like champ fights). The current mode should remain as the default for new players, but there should also be a way to eliminate the lower-left text display area.
Some of these changes should be easy to make. Granted, reviewing all of the text messages in all of the skills and normalizing their output will likely be time-intensive, although this would be a big help to the players (and may also assist in EA's ongoing internationalization and localization efforts).