Advertisement

Massively interviews the makers of The Old Republic's game engine


Earlier this week, the official announcement went out that BioWare has spent the last two years making Star Wars: The Old Republic aided by the middleware MMO development toolkit HeroEngine. Certainly interesting, but a bit faceless. Why was the respected developer using this toolkit? What are the benefits, and how did HeroEngine get hooked up with SWTOR in the first place?

We had the chance to answer all of these questions by speaking with Neil Harris. Neil is an Executive Vice President for Simutronics, the creators of HeroEngine, and shared with us an overview of their collaboration with BioWare. Join us as we talk about the fateful meeting between Simutronics and Gordon Walton that lead to their collaboration, BioWare's reliance on the software, and some encouraging news for players who may still be looking forward to their demo game Hero's Journey!

Read on to the full interview >>

%Gallery-35034%

Just to get a broad sense of where things are, how did this announcement come to be? What's the context of your collaboration with BioWare?

Neil Harris: The announcement is one that we've been waiting for, for more than two years. We signed an agreement with BioWare about two and half years ago and they have been using our engine and working with us on the Star Wars project since then. We had to keep our lips zipped the entire time. We're very pleased to announce it finally. There had been early discussions that they had been using our tech for something but now we're free to talk about exactly what it is that they're doing and why they chose us and so forth. So we can finally talk about this amazing project that they're working on. It's great!

There are still a lot of other amazing projects we're not allowed to talk about yet, but we can talk about this one now.

So it's been two years now that they've been working with the product. Obviously HeroEngine offers a lot-- just off the shelf, offers a lot of potentiality to a development team. How heavily has Bioware been involved with you guys in customizing it for what they're doing with Star Wars?

Neil: Well, they have done quite a bit of customization with us, both in collaboration with us and on their own. They took a full, world-wide source-code license that enabled them to modify it in any way they like, and in fact part of that-- part of the necessity for that was that two and a half years ago, we had decided to license it, but we hadn't really gotten to the point where we were ready. They said "Well, we need to start now, and we want this now. If there's parts of it that you're not going to work on for two years, we'll just do what we have to." and so we said "okay!"

So at this point they have the BioWare engine and we have our engine, and they're very similar but there's some key differences that they built for a number of reasons, including some specific features that they wanted that we just weren't ready to build at the time that they wanted it.

People who license it today get a lot more stuff than they got but, you know, they were in a hurry.

What elements of the backend design-- of the production process; which ones are they using HeroEngine for and which ones had they done more in-house?

Neil: My understanding is that the production process is largely intact from HeroEngine. There's some upgraded features that we've added and some upgraded features that they've added but by-and-large it's the same thing. The whole concept of doing your development online in real time with your entire team logged in to the same development server remains intact.

That is really why they licensed it. That's the thing that makes this so special.

We've seen HeroEngine in use at various conferences and conventions. Can you give us a sort of boiled down version of the kind of talk you guys give there?

Neil: Well, it's great because it's fast. It lets you develop in real time so that you can see what you're doing, play with it and tweak it. So our goal with HeroEngine is to enable the developers of the industry to make better games. By making better games, we mean how the games will play. And the reason we think we can do that is because the first day that they're using HeroEngine, they can actually be building game.

They can put objects into the game world, they can program how they'll behave and they can actually walk into the world and interact with those objects; they could be creatures or machines or whatever they're building, and see how they work and the entire team can be there at the same time.

The ability to prototype and test iteratively is incredibly powerful and makes people extremely productive. If they simply want to build the game faster they can do that, but most teams want to take the time and just build it better and that's what we're trying to bring to the table through this new methodology.

The differences are basically like the way online games used to be, before World of Warcraft hit and took a lot of the drudgery out. They looked at the state of online games and said "Well there's a lot of stuff in there that's really not that much fun. Why don't we just throw that away and leave the fun stuff?"

And that's what we try to do with the engine. At a lot of other shops, people are building games by writing a lot of really hard-to-write C code and there's 50 different members of the team using 20 different tools that aren't really very well maintained. There's this really laborious process to take all the results of their work and do an overnight build to get them all to work together.

Which may or may not work...

Neil: Which may or may not work!

I'll date myself here, but I remember when people used to write computer programs using punch cards and you'd be offline typing all your code on punch cards, and then you'd bring it to the machine which would read them all in, and you'd hope that you had a bug-free program. This overnight build process is the same thing. You don't have to do that with HeroEngine! That's all gone! Build it and it's there!

There's all kinds of tools, but they're all in one integrated package for the whole team, including the management tools. If there's a bug report or a project list, that goes into HeroEngine and gets funneled out to the various members of the team. You can even, say, send a bug report to somebody that knows where the bug is in the world physically so they click on the bug report and not only does it tell them what's wrong, but it moves the camera to the right spot in the world so that they can fix it, right then and there; or it can navigate them to a 3D whiteboard where you've sketched out what you want people to build.

It's incredibly powerful and it's all integrated in with the engine rather than having just a bunch of separate pieces.

On to Page Two >>