How to work efficiently using BSP?

Hi!

I have a question regarding building a level using BSP. I’m quite new to level design and I’m trying to build a simple tutorial, consisting of a few “chambers” (similar to Portal).

When I started building the level for the first time I created a cube, made it hollow and deleted the external faces. That way, I thought, it would be a lot easier, because I could see the inside of a corridor while being outside of it. Then I started extruding the cube to create the corridors. Sadly, during developement a few problem have arisen. Mainly - I couldn’t create additive shapes outside of the chambers (they were invisible; meanwhile subtractive shapes carved holes in the air) and the editor started crashing. It looks like I broke something :confused:

So I decided to do it another way. I started building the level using modular pieces. Every wall, ceiling, etc. became a seperate cube.

This took me a LOT more time to create and I can’t look at my level from the outside, but this time nothing was broken, at least.

So now I’d like to ask - what’s the best way to work with BSP. Is it one of the techniques I used? If not, what method should I use to create my level?

Hi Bproof,

Your first method should work but you may be using add / subtract BSPs incorrectly. When you’re placing add / subtract BSPs, they are put in a stack. The most recent BSP will override the ones before it. This means if you place an additive Cube BSP, then a subtractive Cube BSP that intersects it, it will subtract part of the BSP. If you put another additive Cube BSP that is intersecting the subtractive one you just placed, it will not be subtracted from. I don’t know of a way to reorder BSPs once they have been placed, so deleting and re-adding would be the only method.

I hope this helps. If you still need help, please let me know.

Hi, thank you for the reply!

So, just to clarify - are you telling me that building a level out of little pieces is not the way to go?
And how would you go about creating a corridor? Would you create a hollow cube and delete the exterior faces? Or would you just flip the cube to create a room?

A lot of this is based off preference and which workflow works better for you. I personally would do it all as separate pieces so that if I changed my mind later on, it’d be much easier to move things around than to mess with how the add/subtract BSPs stack. It’s also easier to attach meshes to single objects instead of trying to attach multiple meshes to one big object.

Is there anything else you require information about? In the meantime, I’ll be marking this question as resolved for tracking purposes. Feel free to comment and the question will reopen.

Working with BSPs is having any impact on performance compared to static meshes? And if yes then why and when and where should we use BSP and static meshes?

Hello ,

BSPs are less optimized than Static Meshes. BSPs are normally very useful for prototyping and setting up the initial parts of a level. It would be best to replace all BSPs before finishing development, which can easily be done with the conversion tool.