In case you didn’t see yesterday’s press release, Dancing Dinosaur Games has officially licensed a full version of Unreal Engine 3 for use on Collateral. This is a big deal because of the added flexibility it gives us for development and all the added perks of having support from Epic as well. What does this mean to you, the players? Let me explain.
Some of you may be thinking “But I thought you guys were already using the Unreal Engine,” and technically, yes we were. Until recently we’d been using UDK, which is the Unreal Development Kit. This is a free version of Unreal that Epic allows people to use with a lot of the features of the Unreal Engine and even a great indie-affordable license deal if you want to start selling any games you’ve made with it. While we won’t discuss the fine details about what’s different between UDK and UE3 (Unreal Engine 3), it basically means we now have full control over how we use the engine.
Why did we need to get a full engine license? So that we can make a better game for all of you! I know that sounds like lame pandering, but it’s true. We hit some bottlenecks in performance that we couldn’t work around within the confines of UDK, and we didn’t want you guys suffering with terrible frame rates if there was a way we could make things better. The main issue was the fact that UDK only allows programmers to use Unreal’s own language UnrealScript and DLL binding. That meant that without a full license we would be unable to do anything that required using native C++ code. Now that we have access to the underlying native code we can use that to do a whole lot of useful things, not the least of which is use multithreading.
What is “multithreading”? Basically it’s the ability for a program to execute multiple parts of itself, individually called threads, simultaneously while sharing resources like memory and processing power. This can significantly increase the speed of a program if the threads are trying to achieve goals that don’t interfere or overlap with each other.
So now that you understand the concept of multithreading, why do we need it and what effect will it have on Collateral? Well the simple answer is that it will improve performance. The biggest bottleneck I mentioned earlier is that we have a whole lot of non-player vehicles flying around, and the more of them we have all on a single thread the worse the performance was getting. We hadn’t even added the pedestrians (they’re coming eventually, it’s just taking them a while to get here on foot) and already we were reaching the limit of vehicles that we could put in the game before it started noticeably slowing the game down. Instead of giving you guys a game that seemed like a neon ghost town we wanted to breathe life into the city with more vehicles and people and other interesting things.
When will you guys see the benefits of all this? Well unfortunately it’s taking us a little longer than expected to translate Collateral from UDK to UE3. Sadly it’s not quite as simple as you’d think because of a bunch of recoding that needs doing. This will probably add a bit to our expected completion date but we’re still aiming for a release late this year.
There are a number of other benefits we’ve gained from this license, but I’m starting to feel like this is an imposing enough wall of text already. I’ll talk more about all that in future updates. For now, we’d like to say a massive thanks to Jay Wilbur, VP of Epic, who was awesome enough to personally set things up for us to get a license after a trip he made to Melbourne last year. He’s a totally awesome guy.
We’ll have much more to talk about in the weeks to come. For now, thanks for reading! -David