Most standard navigation systems depend on the interconnections of nodes in a web; Monument Valley's nodes were dotted across the objects' walkable spaces, which allowed the team to connect nodes where Ida should be able to transition to a different part of the object. This let the team design puzzles where the player would have to experiment with their own sense of reality, and sensible connections and paths seem to suddenly reveal themselves. "Every time you made a configuration like this and then did what was necessary to stop bad connections forming, as soon as you wanted to modify that or iterate on it, you'd have to do it all over again. So we had to find a way to make it automatic -- it involves ordering those nodes in depth order from the game camera, and then going through them in depth order and deciding which ones should occlude the ones that are in front or behind." "Getting the system working took a while, but when it was finally working, that automation transformed how easy it was for us to make levels. Everything was perfectly flexible, and that suddenly made making levels really pleasurable," says Pashley. Ida's interaction with objects depends on her orientation: Something that is a ladder if it's approached from one angle could be a ripple on the floor if approached from another. "The solution is to have two nodes, basically in exactly the same place, one as a ladder and one as a floor," Pashley explains.
"Making this impossibility work easily is about simplifying it."
UsTwo could also mark up navigation nodes as accessible or inaccessible, in part to account for the player's likely imprecise touches on the delicate shapes from time to time -- areas Ida can reach in a certain configuration have highlighted nodes, and that path of highlights shifts if the geometry shifts. This keeps Ida from walking someplace other than where the player intended, or from breaking the rules of her own universe if the player's touch is slightly off their objective. "Instant communication was really key to being able to collaborate on these levels," Pashley says. Monument Valley's levels were built in three stages: Conceived as a configuration, tested for functionality and then edited to conform to the game's aesthetic principles. Minor duplication and transformation of simple building blocks in Unity, then adding navigation markup directly to the geometry made it relatively easy to experiment quickly with new ideas, and it also made the team comfortable throwing things away and only pursuing concepts that really worked. After building the level geometry and concept in a "whitebox" stage, the next phase involves making the world "visually functional." "Often there are elements players don't understand, because their geometry is all the same color, and you have to call something out," Pashley says. Just minor differentiations in color made levels easier to develop, test and prove. "The 'visually functional' stage was the point we could make a decision about a level, and say it works, and is good, and we could commit to spending the resources to making it look really pretty," explains Pashley. Ten months isn't a particularly long time to create a game, so the team took pains to ensure it was spending its time wisely when it came to investing in visuals, and did all its experimentation and throw-aways earlier in the level refinement process. Very little went to a stage of further polish without the team being absolutely certain that it wanted to include the level.
"We didn't use standard 3D lighting techniques: Point lights won't work, because here, things that are next to each other aren't next to each other."
The geometry was made of quads instead of cubes, so as not to waste polys and to make levels easier to texture. "That was a critical part of the pipeline for us: We wanted the artist to really quickly be able to add variety on the geometry. We knew we wanted clean lines, but we also wanted to be able to get new artwork in there as quickly as possible," Pashley says. "We didn't use standard 3D lighting techniques: Point lights won't work, because here, things that are next to each other aren't next to each other," he explains. "And we wanted to keep the pipeline simple." The use of quads, though, meant that there was still some "sparkling" behind the seams of the world, and some artifacting. So before final builds, everything gets exported, which takes massive lists of quads and condenses them into a combined mesh. "This is really important: It's how we make something that looks good, but runs well," says Pashley. As for the actual rendering, the team starts with textures, applies textures, and develops a clean and basic look for the game. "But it somehow feels 'dead', and what we really wanted was for this to feel like a real world, 3D and weighty, with an illustrative quality." So the team applied ambient occlusion through standard unity light map generation tools -- it doesn't just look better, but creates a real, "chunky" feel for the game's geometric places. They also applied a semi-transparent quad oer the entire works, creating a gradient overlay. "It just brings it to life a bit," he says. Lastly they apply vignette around the edges, achieving the feel of a real, printed piece of artwork. "It ends up with a bunch of art we can hang on gallery walls, that people will buy, that allows us to say we fulfilled our aim of making each screen of game something you'd want to print out and frame, and hang on your wall." "The process of making your game is a user experience for you as a game developer, and you should make your tools as easy as possible."
"The process of making your game is a user experience for you as a game developer, and you should make your tools as easy as possible."