Does anyone know how to make a spinning platform similar to the one in Squid Game?

I’m trying to create a moving platform similar to the one in the Squid Game mini game “Mingle Carousel.” The platform should spin smoothly and allow players to move with it. However, I’m encountering a glitch: the platform starts working only when I turn CanCollide off, but this causes players to no longer spin with the platform.

I’ve looked into solutions on the Developer Hub and found some methods for moving platforms, which partially work. However, in this mini-game setup, the platform glitches due to having a central object and invisible walls. My current workaround involves connecting all spawn parts to the platform and repeatedly teleporting players to the spawn parts to simulate spinning. While this works, I’d like to find a better solution.

In this screenshot, I have this object in the middle and also invisible walls, which is scripted to be removed once the platform stops spinning.

Does anyone have any suggestions or ideas to resolve this issue? Thanks in advance.

(Also, this is my first post, so apologies if it’s not perfect!)

Did you check the toolbox?

I typed in spinning platform.

The first two models worked perfectly.

These spinning platform free models do work; however, the player does not spin with them, which is what I want to achieve.

Nobody should be using free models for their game :skull:

1 Like

You can add an Angular Velocity to the platform. Because it also does physics simulations unlike tweening or lerping. You can also try to make a separate collision group for the platform, so the players can collide but the objects around it can’t.

use a hinge or a cylindrical constraint

I did use it, but the problem is that when it spins, it has these weird Collision issues. The only real solution right now is turning CanCollide off which just defeats the whole purpose of platform. I was wondering if there is a better way of handling this or something.

I tested the first two, they worked perfectly.

Did you try them?

The first one is not a free model, it is a part that shows how to use a prismatic constraint to spin a part. The second one is a part with a circle of pads welded to it - for the same purpose.

Let me try it in a baseplate, this may work.

If you got it from a toolbox, its a free model, because they are free, and anybody can use them, there is also no guarantee that the models are safe and don’t have a back door.

Please don’t refer people to free models, people use them without understanding what they do, which is a terrible way to learn.

It also leaves a bad habit, because its probably the fastest way to make a game.

Here is a screenshot of the free “model”.

The toolbox is a great resource for learning - which is why I mentioned it.

You could simply use a hinge constraint or instead just have a loop with tweenservice.

2 Likes

learning from the toolbox is sort of an old way of learning now i feel like using the docs, and devforum are way more useful.

also alot of the scripts in the toolbox are old and have bad code.

2 Likes

There’s quite a few suggestions here but what I recommend is to use constraints for this.

  1. Anchor the bottom platform and un-anchor the top platform
  2. Under the model tab there should be something above where it says constraints that has a create button with a dropdown menu.
    Screenshot 2025-01-04 at 4.23.25 PM
    You’ll want to make a hinge constraint.
  3. Connect one side of the constraint to the top part, and the other side to the lower part.
  4. Once this is done find the X, and Z positions of the two platforms (these should be the same.) You will want to adjust the X and Z positions of the attachments in the constraint to match this so that the platform is centered while spinning.
    Screenshot 2025-01-04 at 4.25.36 PM
  5. Now go to the upper (unanchored) platform and change the AssemblyLinearVelocity to make it spin. Check which axis this is by rotating it the way you want and seeing which value changes for its orientation. (You will probably end up changing this value through a script though based on what it looks like you’re doing.)
    Screenshot 2025-01-04 at 4.28.04 PM

Now you should have a spinning platform!

This is usually better than using scripts because the players won’t move with the parts and it will require more memory if you’re constantly changing a parts orientation to spin it.

I also made an example linked below for you to look at.
SpinnyBoy.rbxm (4.3 KB)

Wait I’m dumb sorry, instead of doing the AngularVelocity stuff just make the hinge a motor.

Under the properties of the hinge constraint you can change the ActuatorType to Motor and it makes everything else a lot easier.

Screenshot 2025-01-04 at 4.36.46 PM

You’ll have pretty much the same result but now the mass of the players won’t slow down the spinning because you can increase the MotorMaxTorque.

New Example

SpinnyThing.rbxm (4.3 KB)

1 Like

Thank you very much. One question I have is how I can make the platform behave like a script that noclips through objects. While this approach worked, its glitches a lot due to invisible walls, the floor, and other objects. If you could help me with this, it would solve my problem.

You can give the object different collision groups so that they don’t interact with each other.

The part of this documentation that discusses collision groups explains it pretty well:

Although roblox physics constraints are probably easier to use they can have alot more downsides.

Tweens have less of an impact on network resources, physics constraints can sometimes break, and may even be exploitable. Because the part can’t be anchored in order for the constraints to work, meaning the owner of the part will be the player if their character is close enough. Exploiters can then do anything they want to the basepart and it will be replicated to all other clients.

Of course you could manually set ownership to the server, but this can cause jittery physics compared to tweens.

I would suggest using tweens performance wise, but physics constraints are obviously easier.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.