It seems like forever ago that we started developing Source, but it’s actually only been about 2 years now…which in game developer years is like 47. It’s been a crazy adventure in and of itself. The game started out as a simple top down game with 3D graphics, then turned into a full on 3D adventure. All this was created and coded in the Unity game engine. Now, with the game about 2 months away from Alpha, we thought we’d try to switch the game to the Unreal 4 engine.
On the surface, this decision looks extremely risky. Why would we recreate the entire game in a new engine this close to our scheduled launch? Unity, it seems, had us in a pickle with their new release of Unity 5. In order to get our project on the consoles Source would need to migrate to Unity 5 which is easier said than done. After five attempts to migrate to Unity 5 and five crashes and without any hint as to what might be causing the issue we thought it was time for drastic measures.
But it didn’t stop there. We’ve been eagerly anticipating the release of Unity 5′s new rendering technology. About a month ago we were finally able to give Unity5′s lighting a solid test run. What we found was that Unity 5 does some things nice (yet REALLY slow), but didn’t have some of the really advanced rendering tech that we have wanted for Source, such as screen space reflections, reflections of emissive surfaces, pro level motion blur, camera lens effects, and a solid particle accelerator. Mind you, our versions of Unity are HEAVILY modified with Tiny Cube particles, Marmoset lighting, and Amplify screen motion blur, among other gizmos from the Unity Asset store.
In short, we decided it was high time to give Unreal 4 a go.
In two days we saw our level art in Unreal. After three days we had full control of the Firefly character. After a week we were playing the game, having enough of a level worked out to where we knew that we could “rebuild” the game using Unreal 4. There’s still a few things to work out, but we are now confident in our decision to switch game engines.
It’s really fun what you can do in Unreal graphically. Levels that were previously dull look fantastic in Unreal, thanks to the depth of the shaders and lighting effects. The screenspace reflections, ambient occlusion, emissive reflections and motion blur really make it feel that this other world actually exists, which is something that we’ve wanted to achieve since going 3D with the game two years ago. All this, and we’re just scratching the surface of what we can do!