Cryptic Studios and Star Trek Online recently started an open beta for the enabled native Mac client for STO. We are proud to announce that the Mac client is now out of beta and LIVE! This new feature was the culmination of a lot of work from our core software team, in conjunction with our partners at Transgaming. The journey for converting STO, a game that was completely developed for PC architecture, to work with Mac was a long and interesting process.
Cryptic has wanted to get a Mac client up and running since STO launched. We knew there was a market since people took it upon themselves to make their own version of a client that ran on Mac, and we knew that going forward we’d want to support Mac as a company. Once we were well past free to play and we realized we were in a position to actually make a proper conversion happen the team jumped at the opportunity. While we knew that we wanted to convert our game to run on Macs we lacked the Mac architecture expertise internally to actually completely convert the game on our own.
We began to look into third-party companies that assist with these sorts of updates and came across Transgaming who makes a windows “interpreter” called Cider. It acts as a translator from Windows-specific functions to instructions that the Mac can understand, and they customize this for each game port. We decided to work together and we spent months collaborating on the conversion process. On the Cryptic side of things, we had to adjust some of our rendering code to work on the Mac as they use OpenGL and Cryptic utilizes DirectX. We compiled some shaders on the fly for both Windows and Mac and, if all goes correctly, it should be the same set of shaders for both.
We've tried to compile almost all the shaders we think we need on the builders, but with with the DirectX compiler as a fall back just in case. Though, we do end up hitting those fallback cases quite often. Right now, we always compile a small set of vertex shaders on the user's machines as well. Transgaming actually had to update some parts of their engine for our conversion to reduce some Windows systems dependencies. One of the nice parts of the Cider port is that we dropped the Internet Explorer dependency for our launcher. This was a major sticking point for WINE users on both Linux and Mac that made the game difficult to install. Now the game works pretty much "out of the box" on Linux under WINE. This phase was truly collaborative and both sides had to make changes and be flexible to get this critical side of the process finished.
In addition to game-side changes, we also had to create a brand new interface for Cryptic’s error handling and reporting software since those were dependent on Windows functionality. This task was something that is easily overlooked but becomes pretty necessary when crashes start rolling in with no dumps. Once that was complete we were finally able to get this delivered to our internal QA team. We stocked up on a few Macs with the spectrum of our recommended operating systems and they went to work. After a couple of months of internal testing we were able to get it up on our test shard. The response has been fantastic and we’re incredibly excited to make our game available to the Mac community.