If you haven't been reading my blog it may not be immediately apparent what I am about to talk about, but that's ok, you can go read the pertinent material here if you like, or just stick around for a bit. I wanted to talk about the design of battle.net and why I feel, and have felt for a long time now in the PC space, that games (post 2000's) have woefully ignored the robust nature of the platform, and how the current SC2 client could be improved upon to create a better experience worthy of the PC.
You can certainly place a lot of blame on the console market for this slowly developing trend as when a company designs a cross-platform game they need to take into account the various levels of interaction that a user can or will have with their title. In designing these levels of interaction, the more succinct the operation the less development time is needed, and less bug testing. So at least monetarily speaking I can understand this decision to a degree. That being said, having recently played System Shock 2 (or simply reminiscing on older PC games I've played, Deus Ex being another good example) and the more direct usage of the keyboard as an interactive source in the world (typing on keypads for instance) I am continually reminded of past days where these accoutrements were fantastic editions to the impact of the system and the more directly affected nature of interacting with a UI on this level.
Thus we come to Blizzard, a company who hasn't designed a game for the console since they were known as Silicon and Synapse (games include Lost Vikings, Rock and Roll Racing, a N64 port of SC1, and SC:Ghost....uh...well ok, Chris Metzen just announced D3 to the PS3 and 4 so...), and it is for this reason that I am left disheartened and confused as to why contextual navigation has all but disappeared as a tool, or only used sparingly (the last time we saw this type of system was for WC3). There are so many fantastic reasons in the positive column that make, of all their IP's, StarCraft so in line with the use of a robust and fully developed keyboard navigation system, and because of this apparent synergy I would like to present an idea as to how to approach this. I also have a number of bugs, graphical inconsistencies, or conceptual issues that I also wanted to point out post 2.0.4 that I found along the way (that haven't been already in previous threads, such as this). Let's get started shall we?
Before I get into the specifics I would like to note that I only spent a couple of hours in total in looking over all the new patch, and coming up with the structure (along with the bugs or other oddities found).
I briefly covered this in my blog on The Economy of Design, but now that I had access to the updated UI in full I wanted to talk about how the hierarchy currently functions in real life, and allows for this kind of contextual navigation to happen with relative ease. Essentially as we look at it, there is a top level, main level, float level, and secondary and ternary sublevels of navigation menus within those three overall categories (the UI redesign team should get some kudos here for restructuring the complete mess of post 1.5 into something more concise and clean). The top level could be described as any navigation or pane that is not contextually oriented. That is to say, it functions at every level of the client, or is only at the very front end (such as the login screen). The items that accompany this are:
- The bracketing shows what level these systems lie in, and how the login is an autonomous and separate function. Also I should note that hotkeys are now found in menu/options/ but is an entirely separated screen, so it falls under the float category.
- Coinciding with this separation, the use of the [number keys 1-6] will cycle between the menu bar items while the use of the [Alt + Tab] key will cycle between open group windows only (see below for more global options).
- + Show Spoiler [login] +
+ Show Spoiler [profile] +
+ Show Spoiler [party] +
+ Show Spoiler [friends] +
+ Show Spoiler [groups] +
+ Show Spoiler [menu] +
+ Show Spoiler [news and community] +
- + Show Spoiler [campaign] +
+ Show Spoiler [matchmaking] +
+ Show Spoiler [custom games] +
+ Show Spoiler [arcade] +
+ Show Spoiler [replays] +
- + Show Spoiler [hotkeys] +
+ Show Spoiler [map info/game info] +
+ Show Spoiler [create game] +
+ Show Spoiler [score screen] +
what it immediately apparent through these images, hotkeys aside, is that we see this kind of sublevel navigation all the time, in the structuring of websites. What also is visually apparent is that, and somewhat nicely, as a result of this hierarchy we rarely get past the ternary level of navigation, though I will touch upon a few problems I found with the sublevel navigation later.
A few notes on the above system should also be noted, in that certain global options retain their functionality. They are:
- [~] Will toggle text fields as active or inactive. Default is inactive for search fields, and active for chat and login fields.
- [Tab] Will cycle through tabs in groups window, or menu items with left_side orientation (example: custom games_navbar, or the top_navbar in the score screen).
- [Alt + Tab] Will cycle between open chat windows. Shift works the same way (back function when added).
- Orange colored buttons such as the find match always are activated by the enter key.
- Similarly ok, cancel, and close are always activated by the [esc] or [ent] key. This level (regarding esc) would normally override the hotkey for the menu/, however it always seemed bizzare that the activation key was escape, so I just rebound it to F10 (a longstanding choice in Blizzard titles). There is an additional problem that I'll discuss below as well.
- The [Back] key toggles between a minimized open pane, or closes it depending on the context (would minimize in for instance a joined game where the x close is replaced with a - minimize button)
One final thing I just want to put out there. In keeping with all the training ideas and apm exercises, I also felt that by instantiating this system would give rise to a potential tool or training game option. This would be to have a number of navigation strings (e.g. get from point A to B via these hotkeys) that are set and that you have to execute precisely and quickly, with a number of difficulty tiers. This game does two things, it teaches or at least is one way to help with apm efficiency and speed, but also serves to teach the user the system navigation as well. Sound like an interesting tool for newer players?
So I did mention that I noticed some errors or inconsistencies, bugs, or other problems with the new system that I find perplexing that someone didn't catch in quality assurance. I'll get to those now. These are in no particular order and kind of as I wrote them down:
- In the profile 'settings cog', the "copy link" option is not clear as to what it intends to impart to the end user. This is seen in a few other places, but this option copies your profile link, though I am unsure as to what it's is used for (seems client oriented in that the output of starcraft://profile/#/############## doesn't follow standard url link structuring).
- I mentioned this in my blog, but I still find it problematic that in the arcade section of 'Open Games' only has a max of 30 games total. This seems far too low considering the current options, and eventual expansion of the array, especially when placed next to Valve's longstanding system that can populate over 200 open servers in less time that it takes to parse these 30 instances.
- In the Replays/Multiplayer/ section, the scrollbar is bugged. When dragged the visual bar lags behind the cursor and ends up feeling like negative acceleration as you have to move your mouse further to reach the bottom of the scroll area. This needs to be reprogrammed and is likely a very easy fix from my experience.
- A small thing, but you'll notice in the hierarchy that I occasionally have the racial order as PTZ and not the standard expansion order of TZP. This is because the actual menu system has this in the wrong order, where every other instantiation is the latter (yes this is nitpicky, but it is an inconsistency).
- In the Profile/Achievements/ section the ternary level and beyond is visually undefined in that if you were to just look at that screen without context, you would have no idea where you were in the navigation of your client. An easy solution is to add in a breadcrumb (again, commonly used in web design) in the Identification pane (top left area that identifies the sublevel):
- Victory Screen: After finishing a match, you see the new fancy victory screen. I tend to listen to my own music so I have disabled the music, so when the race victory music played at that instance I immediately looked for a way to turn that off as it seemed odd that I had disallowed music, yet, here music is. Unfortunately there is no option to disable this effect that I could find, it's just always there until it's fixed by Blizzard. Please flag this as an music source.
- The new hotkeys created a problem. I rebound my camera location keys to F1-5 a long time ago, so when I first played a game with the new UI and got an army, the new army selection overrides my camera hotkey entirely (worked before army, not after). In trying to fix this I unbound it, and somehow I entirely broke my left-click drag box functionality, and could not recover it without leaving the game and starting a new one. For competitive players this seems problematic should this happen with any regularity.
- As mentioned before, the [esc] key activates the menu, and I find this very problematic for one reason. If you wanted to get to the menu via keyboard but want to stay on your current pane, that is not possible in the current iteration. The above suggestion of retaining F10 solves this issue. Essentially escape has a dual function in the client (one as the 'menu activation', and one as 'back one level'), and this is very poor design.
- We all are used to the standard race icons for SC2, however I should point out that the new Profile/Ladder/Grandmaster/ section (easiest example, but is for all ladder lists) uses an entirely new set of icons which look terrible. I'm not exactly sure what the intent is here, but the graphics were poor changes as they do not reflect the color scheme of each race, nor are they in line with the traditional set (left of the new icons). This is nitpicky I know, but there is no good reason to fundamentally change the icons in this instance.
- Additionally, the new random icon has two items regarding its look. The addition of the question mark into one of the sides is a redundancy that seems somewhat out of place, in that a die is really the only thing necessary to impart the 'random' aesthetic (you could use the ? or dots only, but using both ? and dots seems an unnecessary redundancy). Also, the proportional design of the die itself does not mimic how it would look in a real world scenario, being overly stretched in the middle bottom area at the point of intersection between the 5 and ? sides meet (from a real world perspective it is imparts an overly stretched look).
(edit: sushiman points out in the thread that the proportions are based on a 2-point perspective approach)
- the very first time I started the battle.net client, it recognized that I owned Swarm (preordered, no beta), and showed me options that I do not have in Wings (see below). On subsequent logins, these options disappeared as if the game was saying "oops, my bad!"
- Hotkey panes still have the previous graphic styles of 18.104.22.168 (Wings release client) in both the left and right panes (bind hotkey, profile, etc...). While not necessarily bad this is the only place they are ever used. See differences between this and the Options/Help/Protoss Units/ section's visual identity. This entirely new UI is not 'entirely new' I guess.
- In the right pane in the main screen, when you add in channels you will see a scroll bar for navigation, up to 5 as we've seen previously. Unfortunately when removing past 1 instance the window are resizes and the hr graphic element at the bottom does not move, creating a visual inconsistency. This is easily solved by adding in a temporary blank placeholder for the removed channel until the scroll function has been activated and then the item can be removed and the window properly resized.
- in-pane highlighting is not consistent. The replay highlighting is distinctly less bright/saturated than other instances and this makes no sense.
- There are two different button glows, as seen in the Matchmaking/ section (mode and race rows). This different 90° gradient and brigthness difference isn't necessary as there is no functional or directional necessity to separate the visual identity from other buttons of this kind.
- In the login screen the buttons on the left are semi-transparent. This is the only time in the client where they are.
- Select all larvae in the Menu/Options/Gameplay/ section makes you select all larvae automatically and is the default option. I do not understand why this function was created (e.g. redundant feature with no purpose) and as someone who does individually select larvae so I needed to change this.
- Similarly, in Menu/Options/Gameplay/ in order to be able to select enemy units you must check the box for 'Enable Enemy Unit Selection' else you cannot select them at all. I find it rather hard to believe there is even a need for an option such as this, let alone this being the default (competitive players will be very annoyed with this). Maaaybe all-stars, but that still doesn't strike me as a pertinent selectable global option.
- In create game, there is no option to create a private game when in Custom Games/Browse/. You can also create an offline game, but it is only accessible by right clicking the map inline pane. This does work normally however from Custom Games/Bookmarks/ and from Custom Games/Recently Played/.
- Play as guest has disappeared. I guess you need an account now. How does this affect the starter edition functionality?
- Add player and invite player to games or replays means the same things, but its nomenclature is different for some reason. There should only be one naming system here.
- Stage Two and Three percussion at the start is not flagged as a musical source?
- Larvae birthing sounds are not at the same dB level as the rest of the game and thusly stick out a little more than they should.
- Group/chat windows do not remember my resizing choices. It always opens as the default size.
- when watching a replay or observing a game, clicking on the image placeholder in the production tab will automatically center the camera on that area specifically.
- Stage one training has a build order feature that is directly lifted form YABOT.
So that's pretty much what I wanted to cover. I hope that some of the things I've found here are helpful, or things that Blizzard are seriously considering in their various design/planning phases that they go through. As PC only title I really wish that companies did more of this kind of functionality as it only serves to enhance the directness and impact of the system onto the end user (that and bugs are not cool).