Last week I was working on the new version of the client's console UI.
On the whole things are progressing at a nice pace now that all the lower-level components are in place. A very significant UI change has taken place: I've removed the old console UI completely. However, the old Control Panel will still be kept around for a while. The Panel is quite complex and it will take time to redesign and implement it using new widgets.
I've been trying to stay away from adding any visual chrome as much as possible. At this stage it is more important to make sure everything is working correctly. However, I am paying close attention to animations, spacing and typography. Later on, we will start applying some extra chrome as we finalize the engine's new UI style.
I've also been rethinking the basic principles of the UI. There are a few important changes in the pipeline:
- First of all, the engine's UI will be built around a "task bar" widget, which is a bar at the bottom of the screen containing other UI widgets suitable for the current operating mode. One can think of it as a mixture of the Windows task bar and OS X Dock.
- Secondly, say goodbye to the console opening key. There will only be one special key reserved for the engine UI, and it will be "Esc". In practice this means that the game's menu and the engine's UI are merging somewhat: when one opens the game menu with Esc, the engine's task bar will also appear and the mouse pointer is released for UI interactions. Also, Shift-Esc will be repurposed to be a shortcut for opening the console message history and focusing the console command line. Instead of Shift-Esc, for now the Control Panel can be accessed via a button in the task bar. Of course, in time the Control Panel will also be dropped in favor of menus and other widgets appearing in connection to the task bar.
The master branch has been stagnating long enough — before Friday's build, I'm going to merge the new console UI into the master. There will likely be a period of heightened instability before all the wrinkles are ironed out. As soon as I can make the necessary modifications to run the new UI on Windows, I plan to make an out-of-cycle unstable build.
When it comes to the stable 1.11, we've decided to postpone it a few weeks into July so we have sufficient time to finish up with the ongoing changes and not rush the job.