Sponsored By

Developing Ultimate Epic Battle Simulator's large-scale carnage

Robert Weaver's sandbox game needed an engine that could render tens of thousands of combatants. "There really aren't any engines that support battles on that scale," he says.

Joel Couture, Contributor

April 26, 2017

4 Min Read
Game Developer logo in a gray background | Game Developer

One of the most important considerations for any developer is selecting an engine for their game. You need to consider time frame, learning curve, your budget, and perhaps most crucially, the genre and needs of your specific vision. But the difficulty is exacerbated if you’re building a game the likes of which has never really been attempted before.

That was exactly the issue confronting Robert Weaver, the developer and programmer behind the one-man operation Brilliant Game Studios, when he began designing his latest creation, Ultimate Epic Battle Simulator (not to be confused with Landfall Games' Totally Accurate Battle Simulator). While other games had done large scale battles, none of them had reached the sheer size he envisioned.

Imagine being able to restage the most memorable combat sequences from Game of Thrones or Lord of the Rings. Or see how the 300 virtual Spartans would  fare versus 20,000 virtual Persians. Or how 1,300 WWII soldiers would hold out against a horde of 30,000 zombies. Or how a lone Medieval knight would deal with 20,000 furious chickens.  UEBS is a sandbox for the most massive, ridiculous combat scenarios you can envision, and it's already found a large audience after its recent early access release.

“Originally I was looking to build an open world game for VR,” Weaver says. “My last title was The Last Sniper, a VR game for the HTC Vive. While making the game, one of my goals was to have massive battles, so I started researching ways to increase character count. Eventually I came up with some solid algorithms, which allowed me to render vast amounts of characters, potentially more than had ever really been done in a game.”

300 Spartans vs. 20,000 Persians

This revelation lead to a completely new concept for his game, the idea that would eventually crystallize into UEBS.

“While testing battles scenarios, I couldn't help but notice how much fun I was having," he says. "I've always enjoyed setting up battles and playing around with AI. I began to re-think the project.” 

With this new idea fixed in his mind, Weaver started experimenting, trying to find a fit for his fairly unconventional design. “Through the first years of game development, I jumped around between engines but eventually I just stuck with Unity," he says. "I found I work very well with Unity...the tools as well as coding in C# just feel right."

30,000 Orcs and Romans duke it out. Ooops, and then they all get nuked.

This isn’t to imply it was all smooth sailing after Weaver had landed on his engine. He faced a number of obstacles that he had to solve himself. "There really aren't any engines that support battles on the scale of UEBS," says Weaver.

“The entire project has been one giant challenge," he adds. "The code base for the AI is massive and continues to grow by the day. Dealing with the high expectations of the gaming community can add a great deal of stress as well. It's hard to explain to people why the AI in UEBS can't have the intelligence and animations of a modern triple-A game that only has 20 characters on screen.” 

The massive scale of the project and the conflicts Weaver aimed to simulate worked against him, as every adjustment to an individual character’s behavior had exponentially more weight than in games that rendered individuals or small groups.  “Every single new feature and bit of intelligence added to the AI has to be extremely efficient and carefully coded so that the numbers can stay up," he says. "Using Unity allows me to develop fast and efficiently; it exposes many raw commands that many engines would not, which give me a great deal of flexibility when developing my own engine features.”

One noble knight versus the furious pecking power of 20,000 chickens

Of course, no engine is perfect, and Unity has certainly been the target of its share of criticism, as well as suffering from an image problem. Weaver has his own list of features he’d like to see added in future updates.

“I would love to see improved multi-threaded rendering in Unity. I would also like to see improved stability across different PC hardware.” 

About the Author

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like