Planning a VR game's framework

I asked a question here a while back about how to code a VR game and since than I’ve made a prototype using what I learned there. Now that I have a working demo, I ran into some problems that aren’t coding problems but are framework issues.

In my game, the way I make the player’s arms replicate to the server is the player just sending a RemoteEvent to the server saying where it’s server-sided player model is kept and all the data about the size and positioning of the body parts. The only issue is there’s no way of the server to detect if a player is in VR mode, thus allowing any player to edit their own body parts folder even if they aren’t in VR (you can’t change other people’s body parts folder). This game here accomplishes this task somehow and I’m wondering what the structure of the game is that allows only VR players to have a copy of a server-sided VR body and only VR players to be able to edit them via RemoveEvent.

1 Like

Perhaps you should contact that games developer and ask what was done.

1 Like

Great idea, but do you have any suggestions of what the framework would look like?

Could you run a FireClient and get a response to state VR is enabled?

1 Like

It’s a great idea for doing a VR game’s framework, but what type game of the frameworks are you going to work on your project, but mostly be very unique about the VR game’s, and you can try make a first-person action sreen, or third-person, but just try think something really good no one can’t not do of your style, and people will like your VR game’s on planning it.

Do you think if I had it sent very early in the join process it would prevent exploiters from saying they are in VR mode then moving their copy of arms via scripts?

I think for a great idea for prevent exploiters are trying to trick them, and moving those exploiters to a cheating server because they will learn their lession about it, but you have to get a game bot. But, mostly try your best of your ways to prevent an exploiter because it can learn some mistakes, then you can fix them.

Tricking exploiters doesn’t always work because once your trick is known, people just avoid it. Instead it’s a better idea to just lightly punish them in-game or prevent them from getting too far. But this is unrelated, so back to the topic.

I would not rely on the response being the same throughout the game.
I would verify the response each time a request for a change to the server side was placed before carrying out the action required.

Yes, this is what I’m doing currently to make sure that only the player requesting can edit their arms and etc. But the problem that I presented in the first topic is the server has no way to verify if the client is in VR mode.

Just resolved this with somebody in DMs.

I don’t suppose you could summarise what was done so others who want to proceed with VR will be able to continue. At least let us know who helped you.

2 Likes

I got help from the creator of the VRLib module, @Wunder_Wulfe, and we discussed that the basic pinging system that I was using (just the client sending data packets to the server about the vr body location) was not the best solution. Instead it was recommended that I used a RemoteFunction data packet system so that information could be returned and it would create a cycle of information being sent from the client to the server then the server to the client and so on. Along with this, as there isn’t really a way of telling from the server if a certain client is in VR mode as it could just be spoofed. Due to this the most you can really do is make sure that all the limbs that the client has are within a certain range of each other. And in regards to exploiters setting positions of arms (via script executor) that they own without being in VR mode, well it’s just simple. Why go though that tedious coding process just to do something that any other VR person could do. Essentially they are just wasting a huge amount of their time to do something that they could do if they had a VR headset. It would also take a large amount of the fun out of smacking people around: because you’re not in VR. Sked’s VR playground has had a lot of attention but you never see people somehow getting the arms to work in non-vr mode. Unless he is using some good method that we don’t know about, that game is probably facing the same possible exploiter issue. Nobody has gone through the effort to make a cheat like that though, so that’s great. To be completely honest, if you really wanted to try to stop this issue you could always require a ping from the client so the server knows that the client is in VR mode or else it gets rid of their server-sided arms. It could be bypassed by running a very early ran piece of code on the client but as far as I know, it’s as close as you can get. Moving on from that, Wunder_Wulfe plans to update his VRLib module to contain features that solve and cut down on these problems. Some features that we discussed were a server-sided version of the module and a pre-made pinging system as I discussed before.

1 Like

I don’t think that’s what he was asking for but OK!