Unreal Riven

Five years ago, when we first discussed the prospect of remaking Riven, our intention was to do it as an expansion for Uru. The original name of the project, before it became the Starry Expanse Project, was actually uRiven (after Uru). Without any official tools to make content for Uru, we produced everything in Blender 3D and exported it to a format that Plasma (Uru’s game engine) could parse. However, after a while, we outgrew Plasma. It was outdated, it could not achieve the graphics we needed, and worst of all, it was no longer being maintained or updated.

And so, the project migrated to the Blender Game Engine. It was the logical next step at the time – we were already using Blender for asset creation anyway, so why not just use the built-in engine for the game itself? Well, it eventually became obvious why: the Blender Game Engine was difficult to work with, and while it could be prettier than Plasma, it was never faster, and at its core, it was simply inefficient.

To make a long story short, we shortly thereafter moved to an engine called Unity 3D. Unity was our first professional engine, and unlike ever before, our goal seemed to be within reach – this was an engine that was used for actual games, and while it had a significant learning curve, it could produce great results. We jumped onto the Unity ship, and the future was bright. With Unity, we showed off Prison Island and an area from Survey Island at Mysterium conventions. It was a huge step up from the Blender days. But, with our knowledge of game design sprouting like a beanstalk, and our team sporting many times more talented artists than ever before, the shortcomings of Unity for our project were becoming more and more apparent.

* * *

By the beginning of last summer, we had begun discussing the possibility of leaving Unity behind. Concerns about Unity’s graphical capabilities had been raised – in particular its ability to efficiently render large, detailed areas. The areas we had produced up to that point were fantastic, but they were already putting significant stress on Unity, and in terms of complexity… well, they were mere specks compared to Jungle Island, the largest island we would have to be able to handle. It seemed that the need for a change of rendering technology was inescapable.

The straw that broke the camel’s back was the release of Unity 4.0, a paid upgrade from Unity 3, which was what we had been using up to that point. As many of you know, we had to raise money in order to afford our Unity 3 license, and we are very thankful toward everybody who donated. Because of this, we were not happy about the prospect of having to either purchase an upgrade or risk becoming obsolete.

The search for a new engine began in earnest after Mysterium 2013. If not Unity, then what?

UDK logo

It wasn’t long before our gaze fell upon the Unreal Development Kit. UDK is a free (provided certain licensing restrictions) framework built on the Unreal Engine. It’s also the engine Cyan is using for their new game, Obduction (they’re still collecting donations, by the way), and in fact, Cyan themselves recommended that we use it for our project. It’s an extremely powerful platform that has been used to produce beautiful AAA games for years, such as Bioshock and Mass Effect. Its lighting and particle capabilities far outstrip those of Unity, and its ability to handle large, detailed areas is in another class altogether.

What’s more is that UDK maintains similar cross-platform support to Unity; games made using UDK can be run on OS X, Windows, and any of a number of mobile platforms. It even has Oculus Rift support baked in. UDK gives us everything that Unity had, and on top of that, it’s faster, it’s more beautiful, and it’s free.

Since the switch, we haven’t looked back. Unity is a great platform, and for a while, it was the platform we needed. While we were disappointed that we were not going to be able to continue with it, we look forward to showing off just how amazing Riven can look with this new engine.