It's great, I got this thanks to
CheapyD
I knew I saw him active in their discord lol.
Just found the dev responding to someone on reddit with a very in depth answer regarding the game vs real life.
1.
various vr headsets have various tracking regions and occlusion issues. I highly suggest the quest2 headset, so i'll just mention it here. The Quest2 headset uses inside out tracking, which means there are cameras on the headset which look out at your room to determine where your headset is in your space. Additionally, they look out for the LEDs on your controllers to determine where they are in space. It does this at about 60 times per second. The controllers themselves have gyro/accel chips which run at about 1000 times per second. Working together, these both give a very good approximation of where the controller is at any given time. The camera sensors are needed because that keeps the gyro sensors in check. The cameras span a cone of some width..I haven't yet measured it but probably something like 240 degrees? (i intend to measure this). If your controller gets moved outside of the tracking cone, such as being held completely behind you, the error in tracking grows quickly over time. For quick in and out of the tracking cone motions, it is fine. However, if you hold it out there, such as backswing, and then long weight, and then hard swing. There will be issues. In Dan's video, you see him at one point hit a behind the back shot. This is what I mean...if the time outside of the tracking cone is short enough, it's fine. What does this mean to you? It means that if your IRL swings are very wide, and you take your time preparing the stroke, you will have to update your stroke. Hopefully future versions of the headset have more sensors to capture a larger cone. Additionally, hopefully other devices that use different kinds of tracking where there is no cone, can have their tracking improved (currently it's worse).
2.
there is a delay between when the application prepared the image to be rendered, and that image actually gets showed to your eyes. If the system were to tell the application where the controller is when prompted, then when you eventually see it, you will see it where it was that latency time ago. To counter this, all vr headset systems tell the application their best guess as to where the controller will be in latency time. This works for 99.9% of games perfectly fine and no one notices a thing. For table tennis, this prediction causes issues. Recently Oculus has released a huge update to reduce the latency by 10ms (from 51 to 41), which greatly reduced the error associated with this prediction. As of 2 days ago, I coded in another tracking update on top of that, which reduced the tracking error by another huge factor. Whereas before the oculus tracking update, a fast swing might skew the paddle out of the swing radius by 2 feet on very hard swings...and after the oculus update a very hard swing can make it skew about 8 inches.... my last update has reduces it to about 2-3 ; and i'll keep trying to make it better. What does this mean to you: at least with the latest tracking update, a shot that you'd expect, for a fast FH, to hit the sweet spot dead center, would hit about 2 inches below that. (and i mean really fast FH...not just a casual looper). If you stop by the discord, i've been posting my work on this in the forms of videos showing this update. So if you just play VR..and you get very used to it, when you back to IRL, there may be a little bit of adaptation needed. (and the same adaptation needed going from IRL to VR). Again, with the latest tracking update, this adaptation has become so small, that you might not even notice it. Especially because of the next point:
3.
When you do eventually hit the ball, there are some differences between IRL and VR. First, the paddle we currently have (but will be providing another option soon), is 25% oversized. Users have been asking for standard size, and I will be adding it. Second, the paddle in game doesn't have vibrational nodes like a real one does. What this means is, sweet spot works differently in VR. There is a geometric effect: the further out on the paddle face the hit is, the faster that bit of rubber is moving, and thus your shot is faster. But a shot that is to the side of center won't be hit differently. I plan to implement this only after i can implement the proper sound feedback to the player - so they know by sound alone where they hit on the paddle. This 25% increase in size, and effectively larger sweet spot, very much helps the transition from IRL to VR. What this means though, if you get lax and start spraying the contact patch, is when you get back to IRL, you won't be hitting the sweet spot any more. Again, this is currently up to you to set up. Also, irl paddle sweet spots are quite large anyway (compared to big tennis) ..because the ball is so light compared to the paddle.
4.
So now you have made contact with the ball: the game physics engine figures out how you were moving and how the ball was moving, and then how the ball should move. The physics engine can't ever be 100% like reality, but it can get closer and closer. (and will get closer and closer). After my current work with tracking updates, I will be revisiting the physics layer; I have a ball machine, high speed camera, and about 9 different rubbers on my desk in a box (few inverted, short, long pips, anti spin, tacky, ox no ox..etc). It will get closer and closer, and the goal is to reach a state where a pro player can't tell if it's off or not. However, whatever % it is off, whether it is .0001, or 1 or 10. That will be some degree of adaptation needed. Similar to how you would if you were all of a sudden given a different paddle, or played with the older ball, or different elevation..etc.
5.
Once you do hit the ball, or the ball is hit to you, similarly to how there is some error (that will be reduced) for paddle collisions, there is some amount of error to table collision, and air forces. Once again... there is adaptation, and the goal is to reach a state where there is no perceivable adaptation needed.
6.collision feel:
the technology right now can only present a rumble to you. Your mind fills in the rest - but it certainly won't push on the paddle in your hand. Maybe one day other tech comes around, but this is currently a dead end. The good news is, the collision feel is irrelevant to the shot produced. IRL collision is around 1ms, there that is around 50-100 times faster than reaction time. IRL feel does educate your self about the hit after-the-fact...so it isn't useless.
7.sound:
this is something I very much want to work on, but it's something very much difficult to do. The goal is to make it sound the same as IRL Currently it's very simplified - you can't tell by sound what kind of shot the person hit..just how hard they hit (and even then, there isn't much fidelity and acoustic resolution compared to IRL.
8. the controller:
I highly suggest getting the Sanlaki adapter. It will make it feel extremely close to holding a real paddle in your hand. You can skip this and just play with the controller, but this will add a large layer of adaptation that can be avoided.
9.Latency:
when you do play with people online, depending on how far away you are from the person, there is different amounts of latency. We have tools in the game to compensate for this, and the other day I was able to play a competitive match against someone on the opposite side of the planet; ..but until we have worm-holes or other faster than light communication means, physics sets a barrier. You'd have to decide for yourself how much it affects your game though. At the very least, it adds time between hits in a rally. This gives you more time to get back into position...but this is again just a function of latency. If you play someone in the same country (that you'd have played IRL at a club), then you'll probably get 10ms of latency which you might not even notice for this. If you play someone on the other side of the world, you will.
But what does the game give you that IRL doesn't:
- play at any time
- play with anyone (100's of thousands of owners of the game, with 500 simultaneous online player typically on weekends)
- you don't have to bother cleaning/gluing/buying paddle stuffs
- you don't have to waste time collecting balls
- there is an AI (that needs a lot of development), mini games (as well will be developed), and other training tools that would be unmatched in reality
- you can wear whatever you want, even play in your underwear
- you will be able to stream your play to anyone who wants to see
- you will be able to record your matches, or load other people's matches, and study them in ways that are impossible IRL. (any angle, any time rate, physics values..etc)
- building on 8, you'll be able to (not yet in game), take any shot in any game recording, and practice against it. So if you mess up returning a serve of someone, you can practice against that exact serve 100,1000, etc times. Next time you see it, they don't get a chance to hit the third ball.
- the game will be able to analyze your strokes (not yet in game) to tell you exactly where your issues are and what drills to use to improve.
someone mentioned something on the discord just now that I forgot.- the game doesn't yet (but will) prevent your paddle from moving through the table. I intend to enable this within the month. What this means unfortunately is if you don't respect the table geometry, then you could 'cheat' and swing through the table. This invalidates short serves. The good news is, you don't see this almost at all outside of accidents/tracking issues, for player at the top. All of them respect the table just as they would in real life.Once I implement paddle<>table interactions, this discrepancy will be gone.
another plus in the game: you'll never need to argue with an referee :). The game will know if someone is serving 1 atom over the line, or 1 degree too tilted, or the ball nicks the net barely.
another issue on the negative side:
VR currently only tracks controllers and headset. There are some variations that track more bits, but it's not widespread at all. We will be adding full body avatar systems (or upper body at least), but that will at best be a guess as to the shape of the body. So there is a bit of information loss here. On the opposite side of this, at least until we set up the new system, no more armpit serves where you can't see the ball :)