I'm happy to announce that Klingon Academy will now fully support higher screen resolutions. This support will also be available in the forthcoming multiplayer demo. I know that this was a major area of controversy, concern, and angst with many people, and with the state of games these days, I think it was at least justified.
For the longest time, we have publicly stated that we wouldn't be able to support these higher resolutions in KA, and even if it were possible, it would require a lot of work to be re-done. In light of the fact that we are now saying the exact opposite, some explanations are in order.
Higher screen resolutions support is something we've wanted in the game for a long time now, but there were two major hurdles preventing us from achieving this goal. The first had to do with a code module that is responsible for initializing Drect 3D, including the display resolution. This part of the code is something we inherited from SFA, but unlike the rest of SFA, there was no way for us to modify it because the original source for it was lost quite some time ago. All we had, literally, was the object code that was pre-compiled and linked to our code base. This module was not something that we could just rip out and re-write, like we had with other portions of the code, it was embedded throughout and would have taken considerably more work to re-write it than to just simply work around it. The bottom line was that without the source code for this, changing the resolution was impossible-or so we thought.
John Panettiere, our lead programmer, tried an idea that was risky, but ended up working beautifully. He found a means by which to force the higher resolutions despite what had previously been hard-wired. With further help from Robert Coultrip, our AI/physics programmer, they worked out a means by which to arbitrarily set the resolution for the game. Yet despite their ingenuity, we were still left with the challenges posed by adapting our many interface screens to these higher resolutions, and the initial rush of John's achievement was a bit tempered by this cold fact.
The next step that we knew we had to take was to re-position the HUD elements for each of these higher resolutions. Thanks to Mark Murakami's expertise with these interfaces, and with the old SFA code, he was able to get this support into the game very quickly and efficiently, but, we were still left with the daunting task of addressing all the other interface screens, and this is where most of the challenge remained.
Due to the fact that KA is a serious starship simulator, we designed and implemented a variety of bridge stations that provide for a redundant control interface and also help to impart more of a 'Star Trek' feel. These bridge stations total nine in all, and this is not even including the other interface screens for the rest of the game (main menu, multiplayer screens, etc.). Now, the best way, in terms of quality, to support hi-res, is to have unique art for each of these screens at each respective resolutions. Unfortunately, we had neither the time nor the resources to take this route, even if it were left up to us.
The only alternative we had was to leave the interface screens at a lower res while the HUD would fully support hi-res. This left us with a very uncomfortable feeling, but something that we had to accept if we were to have hi-res support in the game at all. What this would mean to the player, is that all interface screens, except for the HUD, would be in a small 640x480 window, no matter how high the 3D screen resolution was.
We were prepared to live with it and ship the game this way, but John surprised us again. He found a means in code to stretch the interface screens to fill the entire display without requiring a large investment in time from either the artists, or the programmers. There is, however, a trade-off for this, a lot of the text on the bridge stations (but not the HUD) appears blurry. We've looked at it several times now, and although the degradation is noticeable, all of the text is still very legible. Also, it isn't even all of the text on these stations that is affected this way, all engine-generated text is clear, no matter what the resolution. What this means, is that any text serving as labels within the bridge stations is a bit blurry, while the rest is mostly untouched. In any event, this is really the best we are going to be able to do for this, and I firmly believe the trade-offs are well worth the gains.
All of you who download the multiplayer demo will now be able to play the game in resolutions up to 1280x960, providing your video card supports this, of course. And to those of you who have yearned for this feature in KA, I'd like you to join me in thanking John Panettiere, Mark Murakami, and Robert Coultrip for giving us this, and for once again accomplishing the impossible.