Uncategorized

Level design: Blocking of a voxel game?

Hi, I’m Joan Aparicio Casamada, level designer of DEEXIT and game developer of SandBloom Studio! How are you?

It’s been a while since we started DEEXIT development and we improved all of our processes and the tools we use to design every part of the game. One key part of our process now is BLOCKING!

Blocking, Blockout, Greyboxing… this process has a lot of names, and that is because everyone does it their own way and uses this process for different purposes. For me, Blocking refers to the process of creating a simple 3D layout of the level. This allows all the team to have an idea of the size of the level and how it feels to walk through it. Once the Blocking is done, it’s easier for the graphic artists to model the ambient assets and the props respecting scale they will need to have in the final version of the level. For me, the next part of the process is Greyboxing. This is the phase in which I prototype a puzzle or a stealth zone and test if it feels well and fits correctly with the rest of the level. But more on Greyboxing in another devblog.

So, how does our Blocking process go? Before starting the process in itself, I design the level on a 2D layout, defining where the puzzles, stealth zones and alternative and secret path’s will be. Once I have this, I create a scene in Unity and start to reproduce all its elements with simple shapes, based on the 2D layout and the concept art of the zone. Initially, I used cubes and simple meshes to make all the blocking but it was really cumbersome and the final result wasn’t as precise as I wanted.

That’s why I started using Probuilder, a tool of Unity that allows to create geometry directly in the scene. I have to thank my teammates for telling me about this tool, because it makes the whole process easier and the result looks closer to the final shape the level will have.

With Probuilder, I can create any shape I need to fit the level’s layout. I start with a simple shape given by the tool by default and then modify it’s faces; I move, rotate and scale its vertex and edges, and even create new ones. Probuilder also allows me to extrude faces, so I can create new geometry in a moment and get the Blocking of the level faster than using simple shapes.

Well, now that I talked about the tools, let’s talk about the steps I take when building the Blocking of the level. It takes me several iterations to get a final version, and knowing that, I try to not be too picky in the first ones. Normally I start by creating the floor of the whole level and maybe some walls at the edges, it’s better not to do too much at first because it’s almost certain that the scale will need to change and it’s better to rescale fewer things than all the props of a level. On a second and third iteration, I start to add some new elements, using probuilder and some old assets to fill all the corners.

For the corruption and the grass for example, I use a cylinder shape of probuilder and move its edges to recreate the shape that this part of grass or corruption will have. Then I disable the collider so the player can walk through it like they will in the game.

Finally, It’s important to understand that the Blocking layout will change during the whole development process and it must be flexible and agile. That’s why it is a good practice not to spend too much time in each iteration, and test it as many times as possible.

I hope you liked this sneak peek into the Blocking process of one of our levels. It’s possible that in the future I will add other tools to my belt, like Terrains for example. And if I do, I will tell you more in another DevBlog!

If you want to know more about Blocking, you should know that sometimes I do streaming while working on the level and I announce it on our Discord channel. To be informed of this and know more of DEEXIT’s development process, do not hesitate to join us there.

Thank you for your attention, and remember that you can follow us on Twitter, Instagram and subscribe to our Newsletter to get fully informed of the whole development process.