Dev Blog, Oct 18 2017: The New UI Is Coming!
This Blog Post was part of the Gorgon Website blog. It was posted by Citan on Wednesday, October 18, 2017.
- Previous Post: Alpha, QA - and why we need you!
- Next Post: New UI Preview
Additional Blog entries can be found on the Developers page or in Category:Game Blogs
The New UI Is Coming!
If you've kept up with these blog posts, you've seen me talk about the "new UI" -- it's been in the works for a long time. But we're getting close! The new user interface (UI) is in the final stages of development, just a week or two away. Let me talk about the logistics of this change, some of the technical details about why this is happening, and what benefits players will see.
What Will Happen
The new UI is a complete rewrite of the old user interface of the game, with entirely new code. As such, it will have a lot of bugs. We'll need your help in testing it! But in this first launch, I'm worried that the new UI might be missing critical features that you need (or they'll be too buggy to use). So in this first update, we're going to have TWO versions of the game to choose from, depending on how you configure the launcher.
If you do nothing differently, you'll download the existing UI. It has essentially no new features, but it should still work as well as it does now. If you're more adventurous, you can choose to add a parameter to your launcher before you run it. (There'll be specific steps for how to do this, don't worry.) This will cause the launcher to download the new UI instead.
You can switch between the two versions by removing the parameter or adding it, then re-running the launcher, but you'll have to re-download everything each time you switch. So if you're worried about download speed or bandwidth, I'd suggest just using the existing UI at first.
After players have had a week or two to bash on the new UI (and we've had time to fix new bugs), we'll update again. We might have two versions again, or if the new UI seems pretty stable, we'll just switch to using it as the new permanent version. We'll keep you updated on that as we see how the new UI does in the field.
Why Is This Happening?
(The explanation is semi-technical, so if you don't care, just skip ahead!)
Project: Gorgon's game client is written in Unity. (The server is not; it's largely custom Java code.) When I started making the game five years ago with Unity 3, Unity's user interface system was extremely poor -- it was designed for FPSes like Doom, which have only a screen or two of UI. But we needed a LOT of screens!
So I created a custom UI library on top of Unity's system, and that's what you see in the game now. And I'm proud of it! It took a lot of work. I wrote my own custom HTML-lite rendering engine, custom window manager, custom... well, custom everything, because there was nothing else.
But my custom library is showing its age. Some of the things we want to do with it -- like letting players create custom chat tabs, for instance -- would require me to revise my library a lot.
And starting around Unity 5.5, Unity finally overhauled their UI features. So we had a big decision to make: double down on my custom library, or switch to Unity's new library? Eventually I decided it would be better to go with Unity's library instead of mine.
Thanks to the successful Kickstarter, we were able to hire a contract programmer to rewrite everything in Unity's new UI system. That was over a year ago. It wasn't supposed to take a year, but there were complications: some of Unity's new UI features weren't as robust as they looked.
While Unity's new UI system is VASTLY better than the old one, it's still tailored to smaller games. MMOs are not small, and require a lot of UI screens. Project: Gorgon has over 50 different UI screens, and that's not unusual for an MMO. And many of those screens have to deal with a tremendous amount of data. The sheer volume of data often made the Unity UI system choke. So Jon, the programmer we hired, had to create custom versions of many Unity features, including custom text editors, list boxes, window managers, and more.
Jon handed off the new system to us about a month ago. It's been a bumpy road, but the investment is paying off already: with the added muscle of Jon's improvements, we have a nicer-looking, more powerful UI that's also very fast to code with. I can create new screens in a day or two, instead of in a week or two. That's a huge benefit for a small team!
Right now, Sandra, Ryan, and I are going through every single screen in the new UI and testing everything, rewriting things, tweaking things, making them all work. Jon wasn't intimately familiar with the quirks of Project: Gorgon, so many little details need to be fixed. For instance, he didn't know that the side-bar could suddenly expand when you drank a potion. Or that entering a certain zone of the game should cause a Body Heat Meter to appear. The game is full of hundreds of weird special cases. And I love that about it! But now we have to make sure all those special cases work, which ... I do not love as much. But we're grinding through the details at pretty rapid pace. In addition to fixing bugs we've also been adding some new screens and features -- though many more improvements have been postponed until after the initial roll-out.
In the coming weeks we'll present a test build for you to try out. I'm sure we'll have missed many bugs, but I'm also sure you'll help us find them! And from there on out, it'll be much easier to add new interface features.
What Benefits Will You See?
To reiterate, the main point of this rewrite is to make it easier for us to add UI features in the future. So in this first version, the most important thing is that we don't lose any important features from the old UI.
But there are some tangible improvements. The new UI's appearance was designed by a top-rated UI artist. It has a cleaner look while still fitting in a tremendous number of functions and features. And we've taken the time to add some improvements -- many small ones and a few big ones -- that will make your gaming life immediately better.
More natural controls:
We're able to provide more traditional widgets in a lot of places. For instance, in the new UI, the skill tree has collapsible sub-skills, making it easier to manage. (The + and - symbols expand and collapse the sub-skills of a particular skill.)
Another example: when you research a word of power, the pop-up box lets you select the word, so you can easily copy and paste it into your notepad, or chat, or wherever else you like.
We are also now able to provide right-click context menus in all sorts of places. Right-clicking items in your inventory now shows a list of actions, and we can add custom actions for certain items. Here's the right-click menu for a bottle of water:
Much more information:
Notice the "More Info" option in that menu? Choosing it brings up the Item Info screen, a new feature that gives you a quick rundown of what an item is good for.
The More Info screen is available from the crafting screen, too, letting you hop between ingredients and requirements in a fairly intuitive way.
Item tooltips are getting more information, too. For instance, if you've never eaten a certain meal, the tooltip will tell you that:
The "Stuff to Do" screen is being overhauled to give more hints and direction, if you find yourself stuck or frustrated.
More customization: You can move almost everything in the new UI around the screen, docking things to corners or resizing them to make them bigger or smaller. The Settings window also offers more granular controls. Here I'm scaling the font size for particular parts of the UI. (There's also a general scaling feature, letting you scale up or down the whole interface to suit your taste.)
The load-out screen also lets you customize the names of each load-out so you can remember which is which:
The chat screen has customizable tabs:
And we'll be able to add a lot more customization features in the future.
Still In Development
This is a complete rewrite of the UI. It's a HUGE undertaking that involves over a hundred thousand lines of code. This is a major stepping stone to being ready for Steam Early Access, because it will let us evolve the game much more quickly based on player feedback. I'm very excited about getting this first version out the door and into your hands! But I don't have an exact release date yet.
Since we're largely in bug-fixing mode, it's very hard to tell exactly when it'll be ready: it'll be ready when we stop finding bugs! However, I would really like to get the Halloween update out before Halloween arrives, so we're working crazy hours to try to get everything ready before the end of the month. Fingers crossed!
Talk about this blog post on our forums here: https://forum.projectgorgon.com/show...w-UI-Is-Coming!