A More Epic Battle, and a Technology Mini-Roadmap (April 11, 2013)
Good afternoon from Andrew! Thanks to all of you for checking out the video last night. Here’s a small update, showing the same engine demo but with 1000 characters instead of 500. Epic indeed! A few things I wanted to emphasize:
- Under the hood, we’re not drawing the same character hundreds of times. We’re actually loading up hundreds of copies of each model, because our game engine has to support hundreds of unique models. No two characters in the world should be exactly the same. We’re going to have a huge amount of character customization in Camelot Unchained, as I’ll detail in an upcoming post.
- We’re still missing level-of-detail also known as LODing. Normally, game engines will have multiple versions of each model, some for up close and some for far away. When a character is 100 pixels high, there’s no reason to render him with 10,000 triangles. Triangles that are smaller than a pixel just don’t contribute anything to the scene, but they do slow things down. But right now we’re doing that, and fixing it is my project for, literally, today. That should get our frame rate up even higher, which then gives us room to max out effects and environments -- but those are things that we’ll fit in around the characters. The characters are the thing. They’re the reason for going custom with this.
- The animation is really rough. That’s not the fault of the renderer. It’s also not the fault of our animators -- they just had a couple of hours to do a very quick take on this. For an example of what they can do, check out this trailer, which we did all in-house. Funding them to do that level of work on Camelot Unchained is a big part of why we need to do this Kickstarter.
Now, where we’re going with things: Over the next week, I’ll continue tweaking our engine and drop in an effects system. A lot of people have been saying “but how fast will it run with effects???”, so we’ll answer that for you. We’ve got a really powerful design for the tech, heavily inspired by something the tech director on Wildstar showed me back in the days when we worked together at Troika. (The game industry is a very small place.) A little story on that -- on one of the projects we had at the time, an artist came to me and said his level was running a little slow, and I found out that he’d accidentally spawned out five million invisible particles that were bouncing around forever. The fact that we could sustain that on 2002 hardware gives me great optimism for what we can do on modern hardware and taking advantage of GPU computing.
That brings me to the next goal over the remaining three weeks, which is to connect this front-end demo to the back-end server tech we showed you for “CSE SmackHammer”. When you can use DirectX 11 as a baseline (entirely reasonable for a 2015 launch), there’s a huge amount of work you can offload to the graphics card, and that’s a good thing for us. Right now, with 1000 characters, we’re hitting around 6% CPU load. That gives us all the room we need to do the kind of prediction, decoding, and lag compensation we’ll need to handle the networking for a ton of players and “real” projectiles in a very dynamic world. I’m looking forward to sharing -- and maybe even playing in that demo -- with you!