How Does BloxBurg do the windows on walls?

Okay, I don’t have any code, but I do have a placement system in the works that is decent. But I have no idea where to start implementing windows on walls, the way Bloxburg achieves it. How did they get that effect where the player can drag the window around, seamlessly, along walls in place, and not show the walls in the windows? any ideas?

1 Like

My best guess would be that Bloxburg gets the position of the window relative to the current wall, then splits the wall into 4 parts based on the window size and window location, making it look like this:


Then what you can do is position the window to fit into the hole you just made.

6 Likes

Adding onto what @SimplyData, they’re probably making it seamless looking with the stretching and moving by doing it on the client side first, then when you verify the position/let go, it sets it on the server side.

2 Likes

I came across this code from EgoMoose, in which he provides a solution for cutting and slicing parts. This may be where I should start.

1 Like

I’ve played bloxburg before and when building, what @SimplyData and @3rdhoan123 said is absolutely correct, when moving the window you can see the tiny lines on the sides of the window, and if you are watching someone else build you cannot see when they are moving the objects, only when it is placed. You could try getting the mouses target and then making the wall duplicate and the 1st wall shrinks to a certain point depending on the size of the window, and the 2nd wall as well, the same thing with the height. Oh and also making the object follow your mouse target. Good luck with your script :slight_smile:

Yeah, I agree with @SimplyData and @3rdhoan123… I was afraid I’d have to do something like that… but I think EgoMoose provides an eloquent solution, and I’m going to try implementing and posting the results of it here, tonight. Thanks for the luck… i need it.

I have an idea.

They most likely use UnionAsync on the server, but making the builds invisible for all other clients. Making the wall visible to one client, but not the others.

https://developer.roblox.com/en-us/api-reference/function/BasePart/UnionAsync
https://developer.roblox.com/en-us/api-reference/class/UnionOperation

Although a good idea, this doesn’t allow the ease of applying textures, collisons can be messy, tweens on client with union wouldn’t look right, and other annoying problems that could come with UnionAsync.

UnionAsync is pretty good in doing simple tasks and operations in small amounts however, for many windows on buildings, it could get pretty laggy and messy pretty quickly.

2 Likes

Unions would be super difficult to store, unless you’re not doing data storing.

If you’d like i could try it out? i doubt i could do anything good but if it helps i can do my best.

Well you cannot make unions from a script first off, or atleast not that i know of, and also you dont need to know any of the parts, you simply save every parts position, size and color or anything like that, and then load it afterwards. It would be the same with unions, save position, size, orientation. Something like that im not sure.

Yeah I thought of possibly doing it this way, and started messing around with union operations in studio, but I don’t think the walls used in Bloxburg are dynamically created union objects… its an interesting idea though. And yeah, for purposes of storage, not as easy… but perhaps could be done… thanks for considering my question…and the idea!

1 Like