I am looking to make a game where the players play with perspective and as one of the trippy mechanics, I would like gravity to affect different players differently. My current plan is to simply rotate the world for each player to give the illusion of gravity changing. However, the problem here occurs with replication.
My initial plan was to make the players client-side movement independent from the server movement and then send remote events to the server to update the player’s CFrame. This CFrame would have math to make its position independent from the way the world has rotated. For example, if a player goes on the wall, the clients world will rotate so they are on the floor in their game instance but the CFrame getting sent to the server would be on the wall in their instance of the game.
The issue here is that the player position automatically replicates. If I send the modified position to the server, it would automatically replicate for the client as well which wouldn’t be accurate in their instance of the game. I need to remove this replication so the players position can be different in their game than it is in the servers instance. How would I disable this automatic replication?
Also, can you think of a more efficient way to go about this? Maybe rotating the world isn’t the right way to go or maybe there is a more efficient way to replicate than repeat remote events.
Sorry if I didn’t explain everything clearly, I am willing to clarify.
This picture may help show what I am looking to do. The purple arrow represents how gravity seems to be affecting the player.