Dev blog – Natural Roads

Sharing is caring! Our dev blog is here to give you insights on how we work at Largelabs, the tech that we use and create as well as our art/tech pipeline. If you are a game developer, this is for you to read, comment and share 🙂 

Natural Roads

When we started the development of Escape, our first game, we immediately started looking into the technical solutions that we could apply to have some variety in the paths that the character follows in the Great Office. While defining the structure of the Office, we came up with the following statements :

– The Office’s structure is constantly evolving.
– The Office was built and is still being built by adding new blocks under the existing structure, mostly by lifting it with an ingenious system of spiral bevel gear pairs and cranes.

 

This is what gives the Great Office its wobbly structure. The fact that it’s still in one piece is a real miracle ! And it’s all thanks to the ingenuity of the administrative employees, who always find new and innovative ways to expand their workspace, between two sessions of stamping. But as a result, the inside of the Office is a real maze in which it’s very easy to get lost !

This involves that the roads and paths the character runs on need to testify of this complexity and total destructuration. Therefore, having straight roads like in Subway Surfers wasn’t enough to represent the infinite complexity and madness of the Great Office. Having intersections every now and then like in Temple Run didn’t seem enough either.

Therefore, we developed a very flexible road system that we called Natural Roads. Natural Roads’ core is based on BSplines, a mathematical tool that allows us to create curves that we can ask our character to follow precisely, and around which we can build 3D structures that will graphically represent the road.

BSpline also allowed us to create a convenient coordinate system with which it’s easy to place some cool content (office furniture, office boxes, administrative employees…) on and around the final road.

This is how we defined the general structure of our roads :
Roads are separated in segments. We ensure the continuity between these segments thanks to the mathematical properties of the BSpline. Each segment consists in a succession of sections that all have :
– A curvature
– A slope value
– A length

Thanks to Natural Roads and the tools we created for it (Segment Generator, Segment Designer, Segment Content Inspector, Segment Fragment Editor…) we can now create all kinds of shapes for our roads and fill them with all sorts of content.

A part of the Office is full of corridors and intersections ? Some roads are not fully built yet ? The director’s office is on top of a hill ? For some reason, the edges of the are road broken, beveled, sharp ? Natural Roads gives us the flexibility to include these ideas and many others into the game. It also gives us the capacity to create other types of 3D runners in the future, with many new challenges !

Looking forward to it ? 🙂

Thanks for reading,

Keep it Large.

The Largelabs Team.