Twinspell Studio shows the full creation process of their debut project stylized with Maya, Zbrush, Photoshop & UE4.
80lv: Could you introduce yourself to us? Where do you come from, what do you do, what projects have you worked on? How did you get into this whole game industry?
Hello! Previously brewmasters, archaeologists, and graphic designers, we are now a team of five, bannered under the name of Twinspell Studio. We were brought together as Game Art & Design students at the Vancouver Institute of Media Arts. Here we forged the initial vision for Descend over many long days and nights of work. We’ve recently graduated, and have continued working together since.
Project Start Point
80lv: Let’s talk about Descend? What are the main pillars of this game? How did you start this work? What are the things that you wanted to have in here?
Descend came about and was inspired by a session of D&D. We spent a month and a half on pre-production: drawing concept art, deciding the main gameplay elements, and drafting story beats.
Our game is based on three main pillars: A deep story, exploration, and puzzles.
Descend is a game with a richly complex narrative that focuses on Faye and the history and secrets of her world. Descend’s interactive story has different consequences depending on the player’s choices, some lead to disaster while others reveal hidden secrets.
Puzzle platforming: The core gameplay centers around Faye’s corruption magic by which she can absorb life force and reanimate the dead as well as inanimate constructs. This serves the basis of the platforming puzzle but is also challenging to clear as Faye’s powerful and uncontrollable magic might have unintended effects.
Exploration and discovery: The journey takes Faye through the Clader’s Chasm: a dungeon megastructure that calls for a lot of exploration of the world and the story. Players must help weave the story and history together with Faye’s magical prowess and her ability to uncover lost items.
80lv: You’ve done some fantastic 3d work for this project. Amazing art direction. Could you tell us a little bit about the way you’ve been working on? What were the important references?
Our goal with Descend was to develop a style that is charming, familiar, and unique in appearance. Massive and imposing ruins that are both colorful and imposing. This feeling was important so that players can better understand the perspective of Faye: a girl who has lived on the edge of the ruins, her parents and some clan mates never returning from dangerous expeditions. Despite Faye’s outwardly jubilant demeanor, the story can sometimes lead to darker places, which is more present in deeper layers of the dungeon.
The game started with the story of Faye, and as such, it was important to explore who she was and what she looked like.
Having clear 2D art helps to explore concept, design, and color more extensively. Hence, we worked on concept art for Faye to better determine what she looked like and then proceeded to come up with the pallet and design of the rest of the world. Faye is a nomad and her people are ragtag outcasts brought together with their adventuring clan, her parents and her grandparents cursed long ago.
Faye’s outfit is stylish but practical, she has colorful fur lined nomadic traveler’s garb, a well-used backpack, and spellbook that doubles as a journal. Faye’s cursed ancestry was displayed in her horns and purple skin. The colors were meant to pop out from the surroundings and bring across Faye’s outgoing, cheerful, but slightly arrogant disposition.
The stylized look we wanted to achieve was a low poly, cel-shaded look for the characters and a semi-painterly look for the environment. A cel shading material was created for her and the other characters in Unreal, which gave us the bright and colorful look that we were after.
Alongside the characters, we created various art for the environment and went through several iterations of the individual elements of the environment to best tie in with the cel-shaded style of the characters.
Creating a Modular Environment
80lv: Could you tell us a bit about your work with meshes here? What way did you guys approach the modular pieces of the architecture here? How did you model them, what’s the poly count in them, how do you build them?
When building assets, our rule of thumb was always starting with the general shape and work our way down to the details, since the scale of the buildings is always so massive it helps to keep them relative to the player. Because of how fast we were placing things, we were often working on several assets at once. Usually, we were whiteblocking the level and designing pieces at the same time to add detail where it was necessary.
The meshes were made very simply: we spent a total of five days working on 97 of the basic pieces to make the structures seen around the world. We used the boolean tool, among others in Maya, to destroy the mesh and make it look like an authentic piece of rubble, while also keeping the topology low.
Some of the pieces have higher geometry, but it was needed since Faye would often be climbing them. Most of the meshes have 100 to 300 tris, though there are a few detailed pieces that are in the 3000’s. Since most of the assets are low poly with simple textures, we do not have to worry too much about draw calls.
When building the assets, we would only use Maya to build architectural assets and props. Initially, we felt as though simple shapes with strong silhouettes would complement the style of our game. Eventually, we had to add more detail, as Faye would often feel tiny in the scenes.
80lv: You’ve also got some FANTASTIC vegetation here. Lovely work! What tech did you use for your trees and the grass? How do you fill your world with all these amazing pieces? How do you create them? What way do you approach it?
We have taken advantage of the foliage tool to its full extent with Descend. Most of the vegetation in the levels you see are placed with the foliage tool in order to save time.
A lot of time was spent getting the plant life to where you see it now, and we went through many iterations to get the style we were going for.
Our main tool for the trees in Descend is Speedtree, but the rest of the foliage is handcrafted using Maya, Zbrush, and Photoshop.
After considerable research, we found that Fibermesh in Zbrush is the best way to go about making quick, natural-looking procedural grass. Simply import a rectangular plane facing up towards the Y-axis in Maya with around ten subdivisions. You then import that into Zbrush and mask the areas where you want the grass to grow.
We masked out the two ends and the middle of the plane so there were three different variations of grass to work with. Then it was as easy as just playing with the fibermesh settings until we got a look that suited whatever we were working on.
After achieving a good result, we accepted the fibermesh settings to create a mesh we could then export. After exporting the grass high poly we brought it into Maya and placed a plane behind it that would be the placeholder for the UV tile, making sure that the grass fit inside of it. The grass planes above were used to bake information into a texture.
After baking the model information for the opacity map and normal map in substance designer, we made a grass card in Maya for each grass variation and placed the cards in random positions until we had a grass patch that looked right.
The grass in Engine is not anything special, it is just a vector parameter for the color multiplied by the vertex paint for that gradient look you see. That is pretty much it! Nothing too complicated, but it is a look and strategy we are proud of.
All of this was created using the same method, just tweaking different settings and moving around meshes to get a different look using the same three textures.
80lv: Are these some interesting shaders you’ve created for this project? You’ve got some great snow, trees, water and so on. There has to be at least some programming going on here?
We took full advantage of the amazing shader graph that Unreal provides us, and spent many hours experimenting with different methods to make Descend as easily customizable as possible during its design process. One of the most customizable materials we made was for the rocks and cliffs in the level.
Our goal was to make as many assets as modular and reusable as possible, this includes the shaders used on them. We wanted to make an instanced material for the rocks that could be fully customizable, including switches for every season. We also mixed a shader for grass on top of the rocks that switched to snow when it got to a certain height based on world position.
Level Production: Steps & Inspiration
80lv: How do you work on the level production in general? You’ve got some very complex spaces here. What way do you build them? Would love to hear a bit about the way it functions? Is your level design eventually going to be similar to something that you see with ICO and Shadow of the Colossus?
We will often come up with the purpose of the area, both in a sense of story and history before starting path layout. From there we determine the type of puzzle and the path the players can take in a blockout stage. There are often several iterations, and we usually add more alternate paths later. We ensure that there is always at least one primary path to take that is either displayed by simple decals or milestones in the distance.
Our level designer usually blocks out the space and then builds the base ruin. At this stage, we check again if the space is ‘fun’ to play or if it needs some more tweaking.
The level design and architecture is primarily inspired by Shadow of the Colossus, Ico, and The Last Guardian. We wanted the player to feel small and bewildered in the massive ruins, almost as if they do not belong there. Many of the machines, symbols, and general details represent this feeling of alienation as well. The majority of the art in the ruins is supposed to feel obscure or foreign.
80lv: What way do you play with your lighting? How is it set up? What were the temperature and some interesting things you’ve used here?
We played around with a lot of lighting methods, but for many reasons ended up using dynamic lighting. We are playing with very large scenes, and baking times went up tremendously when using static lighting. We strategically placed dynamic point and spot lights in areas to accentuate the mood and played with fog particles and exponential height fog in the areas that needed it. A frequently used strategy that our lighting artist uses is placing spotlights where the sun might not necessarily reach, then placing a point light where that spot light hits to imitate bounce lighting.
The settings we used for the Directional light in our level.
We also placed many post process volumes, each with their own settings and LUTs to help with the palette and mood of each area.
Challenges & Plans
80lv: What were some issues you encountered?
An issue we had was keeping the style and quality consistent. We went through a number of iterations, and everytime we would adjust the assets according to match with the world. Initially the visual style for Descend was a mixture of rough ideas and references, through development we solidified it into what you see now.
80lv: Overall, what’s your next move? What’s going to happen after Kickstarter?
After our Kickstarter, we will be continuing production. We plan on refining our style, developing the world, and continuing to grow from there! Our release date is TBA, our team is passionate about Descend and we want to make it a great experience for everyone who sits down to play. We’re hoping to release the game within two years, but we will spend more time if necessary.