Torchlight III Early Access Update - UI Scale and Widescreen
-
Category: News ArchiveHits: 973
Last week’s early access update for Echtra Games’ action-RPG Torchlight III primarily talks about a feature I wouldn’t mind seeing in every single video game out there - the ability to resize the UI. The update, then, tells us a bit about Torchlight III’s implementation of this feature and some of the issues the team ran into while trying to make it work. We also get a brief mention of the game’s road to full widescreen support. Check it out:
During Early Access we want players to get up-to-the-moment information about what's going on with the game & dev team focus. This week's State of the Game letter comes from Tyler Thompson, Project Lead at Echtra.
Hello Frontier Family, Not every feature follows the same path. Each one goes through its own journey. Here is one feature and its journey.
As with many features, the idea came from a few places at once. We had gotten feedback that the UI was too large. We kept shrinking the UI in various ways. Eventually our team was divided: “Make it smaller!” “Make it bigger!”. There was a desire to add a UI slider to Options. Around that time, we also got a specific request via Nolt that we add a UI scale slider to the options - with a ton of votes in Nolt.
Now, as an aside, I hate adding Options. We debate thousands of things during game development. If we ended every debate with something being thrown into Options, it would have hundreds of screens with checkboxes, sliders and drop-downs. QA would have to test the game with thousands of different configurations. Instead of turning everything into a checkbox, I prefer that we find good solutions that truly address a problem - not switches that ask players to figure out what the game should be.
Nevertheless, we decided to add a task to add a UI scale to Options. The task sat in our database for months. It never was urgent to do it. It was not as important as many other bugs, features and content that needed to be supported.
Eventually, I saw the task, realized I could do it, took ownership of it, and started working on it. We already had a few sliders in Options. I found that code, copied a couple of things, and wired it into the DPI Scaling code we already had in place. I tried it out in the editor. Moving the slider adjusted the UI immediately. It looked great. Immediate feedback!
Then I saw what happened when I clicked and held onto the slider. The whole UI wigged out as a feedback loop would both cause the UI to scale and move the slider at the same time. So, I found a way to only apply it when closing the Options. It all looked pretty good. After about 2 hours of work, I sent the code up to be reviewed, cleaned it up after some feedback and then checked it in.
Features never stop there. At Echtra, we talk about doing “the second 90%” of a feature. A few days after I checked it in, a bug came back from QA saying the UI scaling didn’t work until the game restarted. I opened the game in the editor, tried it out, and saw it working. I scratched my head and looked through the other 100 bugs on the medium priority list, and found something I knew how to fix.
Many weeks later, our bug list was getting smaller. Sara said in Stand Up that she was going to look into the bug. The next day, she said she figured out what was wrong. Apparently, the Unreal Engine updates the UI scale frequently in the editor, but it only does it when the resolution changes in an actual application. So this feature would work in the editor but not in the actual application.
To fix this, we would need to change our copy of the Unreal Engine code. That’s usually not a big deal. We tweak the Unreal Engine when we have to, but this particular change would require releasing a new Engine version across the studio. This is hugely disruptive - usually taking developers several hours to get back up to speed. We do that about every 3-4 months. To make it worse, we had just updated the studio last Friday.
So… this feature is currently broken. We are still not done with the second 90% it takes to get it ready for launch. We almost have a fix ready. However, we will wait until we have a few more similar fixes before hitting the whole studio with the big speed bump it would require.
Additionally, after another round of Options debate for widescreen players, we are working to add a "pillar box" option with black bars on the side so you can play the game on an ultra-wide with full in-game height. This will let you choose between full (ultra) width but squished in-game height or full in-game height with black bars on the sides. This is also not quite ready yet, but we hope providing more options as opposed to less will allow players to enjoy the frontier as they prefer.
And although we aren’t quite done yet, that’s a bit of how the sausage gets made. Often it’s more complicated that it seems. It involves constantly adjusting priorities and considerations. It takes a team. It’s messy. I love it.
- Tyler