reposbox-tabletennis-vrcancel

117 Commits over 92 Days - 0.05cph!

2 Hours Ago
Remove GetPaddleSound
4 Hours Ago
Calculate drag properly, remember that we use kg/in³ and in/s² - fuck knows how what I was doing before worked in the slightest, this feels much better Bounce a bit higher Only use this paddle sound, it's cooler
Do anchor later
Default Paddle Angle to 0 Client prefs will update paddle angle successfully
Fixed error on load with hand materials, fixed up hold position on right-handed serve
Remove UnitAttribute, renamed Flip Hands to Left-Handed, add MinMax and Step to PaddleAngle
Cleaned up hand switching, add save button to prefs
Remove hacky velocity code, set up ball velocity and angular velocity from hands
Support hand switching for the paddle
Send client prefs update when a value changes
Add ray helper for client preferences window, minor fixes.
Whoops, left that out
Implement IHoldable, VrPlayerHand, very much a WIP Simplify InGrip, InTrigger - simulate input to drop held entity if we can. Delete FocusWorldPanel, it's unused Set up client preferences system Clients save the data as a cookie. When the game starts up the client informs the server of their preferences. Ideally this'll be good for flipping the paddle hand, changing the paddle angle and adjusting the VR anchor. Work on ClientPreferencesWidget Set up WorldInput ray Gut out the ServeHand so stuff still compiles Set up PaddleHand, ServeHand to use VrPlayerHand Fixed up paddle ownership Kill off IHoldable, removed more useless code Fixed serve hand anim Toggle ClientPreferences widget with joystick press Hand rewrite, client prefs
Toggle ClientPreferences widget with joystick press
Fixed serve hand anim
Set up PaddleHand, ServeHand to use VrPlayerHand Fixed up paddle ownership Kill off IHoldable, removed more useless code
Implement IHoldable, VrPlayerHand, very much a WIP Simplify InGrip, InTrigger - simulate input to drop held entity if we can. Delete FocusWorldPanel, it's unused Set up client preferences system Clients save the data as a cookie. When the game starts up the client informs the server of their preferences. Ideally this'll be good for flipping the paddle hand, changing the paddle angle and adjusting the VR anchor. Work on ClientPreferencesWidget Set up WorldInput ray Gut out the ServeHand so stuff still compiles
Gut out the ServeHand so stuff still compiles
Set up WorldInput ray
Work on ClientPreferencesWidget
Today
Keep cleaning / refactoring, keep game logic seperated from everything else, isolate RPCs for future lag comp
Set up client preferences system Clients save the data as a cookie. When the game starts up the client informs the server of their preferences. Ideally this'll be good for flipping the paddle hand, changing the paddle angle and adjusting the VR anchor.
Today
Tidy up, remove any concept of serverside balls, isolate all physics logic to its own class
Delete FocusWorldPanel, it's unused
Simplify InGrip, InTrigger - simulate input to drop held entity if we can.
Implement IHoldable, VrPlayerHand, very much a WIP
Yesterday
More sync fixes, got a better idea though Adjust networking even more, this is very playable now, but I think I can still do better Don't bounce on carpet, scale bounce sound w/ velocity
Yesterday
Client decides when it wants to take control, various other desync fixes Haptic feedback when hitting ball
Yesterday
Make the ball completely clientside with a backing server entity for sync, make all of serving clientside too
2 Days Ago
Add tt_togglespectator cmd
2 Days Ago
Remove debug BallSpawnThrowResponse
2 Days Ago
Quick hack to update client values to server values when authority changes to you
2 Days Ago
Fixed DebugPhysicsTest
2 Days Ago
Pack our ball velocity into the usercmd as well so the server/other client can take it over
3 Days Ago
Properly fixed up paddle hit / ball bounce reporting
3 Days Ago
Fixed SinceLastHit never being set on the server
3 Days Ago
Sort out VR serving
3 Days Ago
Fix nametag rotation in VR Server and other clients know about ball bounces and paddle hits
3 Days Ago
Delete active pawn if we're becoming a spectator Upped maxplayers Wrap debug code around DebugBallPhysics
3 Days Ago
Cleanup, decreased spectator fly speed
3 Days Ago
Add SpectatorPawn, SpectatorCamera, assign player as spectator if teams are full.
3 Days Ago
Alternating client authoritative networking * Implement an alternating client authoritative model - whichever clients side of the table the ball is on gets complete authority over the ball position and velocity. * Physics are simulated entirely on the current authoritative client now. Pack the ball position into the UserCmd and the server sets the ball entity's position so the other client can see it and takeover when authority switches. * Substep the physics at fixed(ish) 0.005ms steps within FrameSimulate's delta time, each step moves the ball and checks against the paddle sweep. This may be unconventional but it gives us a perfect result and never misses. * Fix paddle collision sometimes sending the ball backwards because of a negative velocity length, added an abs.
3 Days Ago
implement simple debug slowmo to make sure the angular hits are correct Implement alternating client authoritative - whoevers side of the table the ball is on gets complete control of the ball
3 Days Ago
Neater way of giving client authority over the ball Implement physics substeps on a fixed-ish time step within FrameSimulate, move the ball and try to collide with the paddle each step - this is probably quite unconventional but it gives us the perfect result and never misses
4 Days Ago
Use abs on our paddle return velocity length before multiplying by the sweep normal, stops the ball flying behind the paddle Simulate physics entirely clientside each frame, make the client authoritative packing the ball position into the usercmd. The game should decide which client is authoritative based on which side of the table the ball is on.
4 Days Ago
Parse HMD rotation and show it on the head model
4 Days Ago
Increase drop ball threshold for grip
4 Days Ago
BallPhysics in server tick temporarily
4 Days Ago
Upped decibels on most of the sounds
4 Days Ago
Cleanup, fixed inverted finger presets, knuckles users rejoice