J. Todd Coleman spent the last several years building the biggest MMOs that you may not be familiar with: Wizard101 and Pirate101. Prior to that, he directed Shadowbane, one of the earliest PvP-focused MMOs in the history of the genre. In 2013, Coleman partnered with Gordon Walton, best known for his work on Ultima Online, Star Wars Galaxies and Star Wars: the Old Republic, and the two launched a company called ArtCraft Entertainment in Austin, Texas. They pulled together a world-class team on their new project; Raph Koster, who was the lead designer of Ultima Online and creative director of Star Wars Galaxies, came on board to help.
The resulting production is Crowfall, which was recently Kickstarted to the tune of $1,766,204. Crowfall is not your average MMO, not about raids or instances or leveling up through battles against endless monsters; rather, Crowfall's design leverages the core strength of an MMO – the other players. The result is a "Throne War Simulator", an MMO blended with a strategy game that allows for fast-paced, physics-based combat in a player-mutable world. The result is a unique mix that shares elements of the territorial combat system of Shadowbane, the economy and crafting systems of Star Wars Galaxies and Ultima Online, as well as the vast, sprawling societal ideas that coalesced to become Eve Online.
In Crowfall, the player is an immortal, and can travel between Campaign Worlds (what most MMOs call realms or shards) to collect resources, relics and the souls of the damned. Each immortal (or "Crow") resides on a permanent Kingdom World, which can be grown and developed, making the player more important and illustrious in the process. The resources needed for expansion, however, can only be obtained by going off to the Campaign Worlds: unsafe areas that are being consumed by a mysterious force known as "The Hunger." These procedurally-generated worlds spawn throughout the game's universe, and these worlds are dying – your task is to go in, fight other players for control of the Campaign World, claim victory and get out with the precious resources before that world is destroyed, forever.
"Performing a full server-authoritative physics simulation for hundreds of players in a shared world is a daunting technical challenge," says Bill Dalton, ArtCraft's vice president of development (and resident astrophysicist PhD). "Ultimately, players need to experience a smooth, reasonably realistic interaction with the world, and one another, in spite of Internet latency issues and server load constraints." Crowfall's design ambitions go beyond this: Crowfall's voxel-based world also supports player-driven construction and destruction. Players will have the ability to place structures in the world, and to destroy structures and to change the terrain. "Individually these two facets of the Crowfall design are formidable, but in combination they become even more difficult to achieve," says Dalton. Both systems must work smoothly and naturally together, and perform well under player load.
Unity is a major component of ArtCraft's strategy to deliver this experience. "Out of the box, Unity supplies all of the essentials to develop, package and deliver a AAA game to players, on multiple platforms," says Dalton. "It’s an amazingly polished product, with well-designed and tested patterns for all game development disciplines to accomplish their work. Art pipelines are intuitive and straightforward, and extension points for programmers to add game features and tools are extremely well supported. The existing capabilities and polish of Unity allow our team to shift attention from many of the common game development tasks, and allow us to focus more on these demanding technical challenges."
Dalton notes that Unity's strong physics engine is the core of the team's strategy to deliver a server-authoritative, physics-based play experience. "The physics engine is highly optimized, and can be tuned in a number of ways to suit the particular needs of a given game," he says.
Physics simulation is a computation-intensive operation, however, and even the best physics engine has limits. To reach the scale needed for Crowfall's worlds and player base, the game will use multiple Unity physics services working cooperatively. "We accomplish this using a number of distributed computing techniques and Unity's advanced scripting capabilities," explains Dalton. "In short, Unity exposes an enormously powerful scripting language – C# – that enables us to extend the engine's capabilities in a clean, performant way that preserves all of the engine's basic capabilities."
Historically, changes like this have required developer access to engine source code, and forks in that code’s development to support each game's special needs. "This is an expensive, time consuming way to develop a feature, and it carries an ongoing cost if the feature-specific branch needs to be maintained over multiple releases of the core engine technology," Dalton says. “By extending Unity's capabilities, rather than modifying its core function, we continue to benefit from all that Unity offers out of the box, while safely supporting our specific needs over time."
To support realtime destruction and world modification in Crowfall, the team at ArtCraft required an engine with extremely flexible rendering, physics and gameplay simulation pipelines. Dalton explains that there are many constraints involved in generating and consuming voxel data, both in terms of speed (being able to dynamically create and render these ever changing objects) as well as flexibility (the geometry created in the voxelization is distinct from the geometry typically generated by a program like 3ds Max or Maya).
Once again, Unity became an essential piece of the puzzle. "Not only does Unity expose enough hooks for us to be able to customize the game as we need, it does so in a way that lets us apply effort exactly where we need it without disrupting the rest of the engine," Dalton says. "As much as we’re able to extend Unity’s physics system, we’re able to significantly extend Unity’s rendering technology."
"At the highest level, the Standard Shader not only works great out of the box, but encourages developer customization," Dalton continues. "Its modular structure and well-organized format make it easy to identify areas that need to change for our project, specifically without impacting areas we wanted to leave alone. For most games, this level of visual customization is probably enough to come up with a unique style or to solve some specific shading or material needs, but we’re able to go further."
The next layer down is the command buffer system which gives the team fine control of the actual scene render loop, allowing them to specify render operations and control how and where these operations are executed in the frame render loop. "Even deeper lies Unity's native render API, which not only gives us the ability to interact with the low level graphics API directly, but also gives us the option to potentially make use of existing third party technology regardless of any built in Unity support," Dalton says. It's worth noting that this is in addition to the native plugin API, which ArtCraft uses for things like communicating with its VoxelFarm service.
"Even more impressive than just the existence and foresight the Unity engineers had in building their tech this way, is the way they were able to give us this power without sacrificing anything in terms of performance," says Dalton. "Our highly modified render pipeline performs shockingly well in initial stress tests, and continues to adapt well to the challenges that face a dynamic and procedurally generated world."