Wednesday 28 February 2018

SabreCSG Level Design Tool Initial Thoughts / Early Review

Available for download here - http://github.com/sabresaurus/SabreCSG

“SabreCSG is a set of level design tools for building complex levels quickly inside Unity. Using Constructive Solid Geometry techniques SabreCSG allows you to add and subtract brushes to create great levels without needing to understand 3D art packages.

With a spatial focused workflow you can also easily rearrange parts of your level without worrying about fixing topology or the underlying meshes, allowing you to focus on making the game space fun!”

Preface: I’m still a beginner in level design and I’ve not used any other level design Unity plugins so this is in no way informed by other existing tools on the Unity asset store. I do however have some basic experience in Maya and Unreal.




SabreCSG, like its description, is a simple yet extremely powerful level design tool for Unity. I’ve not used any other plugins and was drawn to SabreCSG because it is open source. I, like many other beginners in game design and game design learners had to at one point decide whether to pursue Unity or Unreal. This isn’t a comparison between the two game engines, but if the only reason you prefer Unreal over Unity is because of its built in CSG tool, then now you don’t have a reason to disregard Unity thanks to SabreCSG.

Core Features:
* Boolean CSG technology (BSP-like)
* NEW! Draw tools rapidly create levels by drawing brushes directly
* Advanced resize tools allow you to resize spaces intuitively
* Vertex tools to refine and add precision details
* Change materials or edit UVs with surface tools built for level design
* Clip planes allow you to bevel brushes or even split them in two!
* Export built geometry to .OBJ for use in external 3D tools
* NEW! Vertex Colors - Apply vertex colors per face which are baked into the built meshes
* NEW! Code API - Experimental support for procedurally generating levels through code

CSG stands for Constructive Solid Geometry, and it is a technique used in solid modelling. CSG allows modellers to create complex geometry by combining together simpler objects through boolean operators.

What is Boolean Operator?
From Wikipedia

As shown here, you can create new shapes by either adding a cube with a sphere, or using the sphere to subtract the cube, or use the cube to subtract the sphere.

It can get as complex as you want, such as:


From Wikipedia

As you can see, the final geometry is made by using the final green object on the right (which was created by adding 3 cylinders together) to subtract the object on the left (which was created by adding the sphere and the cube together). To hand model the final shape from scratch would obviously be much more difficult and CSG allows modellers to quickly mockup complex shapes and geometry for immediate testing.

What does it mean for level design?

CSG allows level designers to either use it as grey/white boxing tool for quick play testing or to use it to make the final design. I’ve been using it to actually build out my game space just because I haven’t really yet fully explore pass the game sketch and game demo stage of my game design process.

Some thoughts on SabreCSG

  • It is extremely easy to use and intutitive
  • I love the auto snapping feature, it makes things line up easily if you are obsessive compulsive like me. Also if you are using it to build out your final level then you’d probably want it to line up right away instead of having to go back to fix everything afterwards
  • Quickly apply material to the faces of your geometry
  • Edit using vertices for precision
  • Cut shapes up to create even more complex shapes
  • Easily delete faces if they won’t be seen at all from the final camera perspective
  • I had a tricky time trying to use smaller spheres to carve out a spherical room in a large sphere, some faces would just have lines running through them, I didn’t figure out a way out of this, instead I just pulled vertices in until the lines went away.

  • I have experienced some lag especially when switching from perspective to isometric view
  • Whenever I accidentally created a brush underneath the plane in unity, sabreCSG lags like crazy, I just have to wait it out and bring those brushes back on the positive side for it to work normally again
  • So far I have only used it in two projects, and both were pretty simple. I look forward in creating more complex levels with it as I do more experiments and game sketches over the summer

No comments:

Post a Comment

Explorations in Level Design Part 4

Final Level Design Walkthrough In my final level design exploration, I designed a level that was inspired by the the Last of Us with so...