The team behind Spellbreak talked about the development of their game: art style, environment production, texturing, VFX, and more.
The team behind Spellbreak, a new battle royale RPG featuring epic magic combat, talked about the development of their game: art style, environment production, texturing, VFX, and more.
About the Team
80lv: Could you talk a little bit about the team? Where do you guys come from, what do you do, what projects have you worked on? How did you get into games?
Our team comes from all over! The founders were all previously at Zynga and a small startup called Conduit Labs, though previously they also had games like Rock Band, Resistance and Dungeons and Dragons Online under their belt. Since then the team has only grown, and the portfolio of games has as well!
As for the road to get into games, that’s a very different path for everyone. Our CEO started outside of games at Disney Imagineering and then transitioned into gameplay engineering to start his game development career. Our CTO started in games very early, focusing on tools and engine work. Our Director of Engineering spent five years building tech for finance. We think a broad range of backgrounds only helps in building these complicated long-running service based games.
The Start of the Project
80lv: Let’s talk about how the project started. Spellbreak obviously had a longer story before it went public. What were the main influences and goals? How long have you been working on this idea?
After Streamline, we went into a period where we just prototyped a lot of different games. We had one that was more like a Viking Battle Royale, where people used melee weapons to fight. We had another that was actually more of an isometric game that allowed people to find gear and abilities. After a lot of time on both, we decided to take the best from each and ultimately ended up with Spellbreak (about a year ago or so).
Gameplay
80lv: We’d love to talk about the main gameplay. You promote it as a new take on Battle Royale, but it would be amazing if you could discuss it a bit in more detail. What’s so innovative and different about it?
Spellbreak is entirely oriented around making you feel like a powerful battlemage, where your spells affect the world and can be woven together for even more powerful results. As we built it up, we also integrated gear and skills that would make battlemages more effective to allow for a level of dynamic specialization you typically only see in RPG games. This is why internally we’ve referred to it as a BR-RPG for most of its development.
Art Style
80lv: Could you talk a little about the way you’ve figured out the style for the visuals? What’s the technology behind it, how do you achieve this look? How did the earlier prototypes for the game look?
When we were prototyping we had a very different style for the game, that really worked but was more medieval than magical. When our Art director rebooted, he specifically stated he wanted to go with more of an animated, heavily stylized approach that was more reminiscent of titles such as Avatar: the Last Airbender and The Dragon Prince. Working with the rest of the art team, we’re still approaching a lot of this look. We even made our own Kuwahara shader expressly to allow things in the distance to appear more painterly.
Environment Production
80lv: Can you tell us how you generally work on the meshes and the environments in the project? You’ve got to have quite spacious arenas here. We’re super interested to learn how to make these large, visually rich places, and fill them with interactive objects. What’s a good tool for it?
Ironically, we really just use the Unreal Toolset for populating the spaces, and Maya for modeling the assets themselves. Fortunately, our environment artist is extremely seasoned, but this is no substitute for planning out what you want to build. With a solid set of plans, you would be surprised by how efficiently you can populate a map, even one as large as the Spellbreak map.
Texturing
80lv: Could you tell us a little bit about the way you’ve been working on the production of the textures? We’re really interested to learn your general pipeline and especially talk about the shaders you are using. All the textures look very cool and soft, creating this lovely atmosphere of a cartoon.
At a high level we’ve tried to create a strong hierarchy of detail/color/contrast in our shaders/materials that works well for gameplay and mimics the aesthetic of 2D animation. In order of visual primacy – Combat VFX > Characters > Environments. Almost every surface in Spellbreak uses some form of toon shading. We developed a shader for use in Unreal materials that makes use of a ramp-like texture to define how the lighting wraps around surface normals. This material can smoothly blend between an artist-controlled cel-shaded look, standard PBR lighting, and any indirect lighting contribution. Characters are almost always completely cel-shaded, omit indirect lighting, and use very flat textures to reinforce a 2D look. The background/environments are also cell shaded, but we tend to use the PBR blending a little more case by case. Environment textures contain more detail than the characters and are more heavily sculpted with chunkier, impasto-like shapes. We also use some styled edge highlighting and distance thresholds for extra detail, but we use more muted color palettes and try to avoid a lot of noise and high contrast specularity.
There’s often a player expectation of amazing detail up close, but that detail can turn into a lot of noise at a distance. Many of our materials contain distance thresholds to simplify color palettes, alpha masks, and other details so that they can sit properly in the game’s visual hierarchy at any distance from the player. This is probably most noticeable with tree foliage. We set some distance thresholds that simplify the alpha masks at controlled distances so that we can get simpler looking styled tree silhouettes that feel a bit more painterly than if we simply relied on basic texture mipmaps.
Visual Effects
80lv: Another big feature of the game is those stunning visual effects! The explosions are both massive and incredibly well-made. Could you talk a little bit about the way you’ve approached this part of your production? How did you work on the stylized volumetric effects? Did you do everything in the engine or did you use Houdini? What way did you scale the effects and adapt them to the gameplay features?
At the beginning of the project, we didn’t have much experience creating VFX, but we knew that we wanted to capture the look of 2D animation. We spent a while exploring methods entirely in Unreal that could achieve this look, that would be fully 3D, that would eschew time-intensive processes (like actually drawing things frame by frame), and that would allow for a lot of iteration and design changes. For the final results, we’ve developed a handful of tricks all in service of evoking the look of hand-drawn aesthetics.
Our toon shader works great with particle meshes to inject the cel-shading look onto smoke, clouds, and other big volumetric shapes. To further achieve the limited frame look of 2D, we embed a framerate modifier into all of our material animation (displacement maps, normal maps, UV distortion etc.) so that we can tune individual components to animate at frame rates of 12-15 fps vs. the game’s target frame rate of 60 fps.
For transitioning VFX components, we use a lot of alpha mask erosion vs. blended opacity. We pushed this technique even further by creating an alpha erosion technique that’s projected onto objects from the camera so that we can precisely style and shape mesh dissipation in a styled manner.
We have found that our VFX, which often involve large, opaque, toon-shaded meshes, can obscure too much important gameplay. To combat this problem, we’ve added a number of distance-based thresholds for detail erosion and/or pixel dithering/opacity to our materials so that when players approach or move through large VFX, they don’t look ugly, obscure too much, or clip poorly. Sometimes that doesn’t work well enough and we have to iterate on the entire look/feel of an effect. The cyclone effect started as a giant, super bright torrent of wind, but it was just too distracting and impossible to see through. We toned the opacity of it way down and focused more of it’s ‘magic core’ at the base, which ultimately made it look more interesting and serve gameplay better.
Optimization
80lv: Were there any techniques and tricks that allowed you to keep the game running so smoothly and showing all the beautiful stuff you’ve got at a high FPS? Would be awesome to hear about the key things that can reduce draw calls.
Like many games, our game world is composed of highly modular pieces. This is great for design flexibility, but of course, leads to tons of draw calls. So the first thing we do is merge meshes together, both manually and as an automatic process. Artists will make larger meshes in Maya for frequently occurring patterns and replace their usage in the world. This is very time consuming, so we mostly do this automatically by grabbing clusters of meshes and merging them into a single one. Our tooling allows these merged meshes to be broken apart into their original ones, so that level designers can continue to iterate. From there, we use Unreal’s HLOD system to make distant LODs that reduce geometry and merge materials. This gets us within our draw call budget, but you can still run into performance issues in a large open world simply due to the number of _total_ primitives. Level streaming is helpful for reducing memory and load time, but more importantly, it reduces the total number of primitives in the world.
Distribution
80lv: What’s the status of the game so far and when can we expect to explore project?
We recently came to the Epic Store! You can find Spellbreak there, in all of its glory. We are still in Alpha, so you can expect more content updates as we move forward through the year. We’ve already come a long way, and a lot of it is due to our vibrant community. Anyone who is particularly inclined can support us by buying a founder’s pack! Also, if you do, please call out a creator for your purchase – they put in a lot of effort and if their content touched you endorse them. As for our release date, we are aiming for soon(™).
Developers of Spellbreak
Interview conducted by Kirill Tokarev