It IS Rocket Science! The Physics of Rocket League Detailed

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.พ. 2025

ความคิดเห็น • 112

  • @Jambax
    @Jambax 6 ปีที่แล้ว +103

    This is awesome.
    It shows just how much you *can't* rely on a complex physics engine when making any kind of physics-based multiplayer game that needs to be stable. Simplicity and smoke and mirrors are the key - whodathought.

  • @seP4
    @seP4 ปีที่แล้ว +21

    underrated talk 🙏 5 years later and many AAA car/racing game devs can still take notes from this

    • @Kokuyous3ki
      @Kokuyous3ki ปีที่แล้ว +5

      Logic is universal.
      As an example, Quake is borderline the oldest actually 3d fps yet its engine code still hides inside here and there. Hell, Call of Duty has been using quake3 engine last time I checked. Even the newest ones. They did change things in there obviously but some of it remains...
      If you look at it like that, 5 years is not a long time.

    • @seP4
      @seP4 ปีที่แล้ว

      @@Kokuyous3ki i mean in terms of determinism and netcode many racing games are still years behind this

  • @thuraoo2295
    @thuraoo2295 ปีที่แล้ว +9

    I've been making a networking game and struggling with client side prediction and this guy's talk solves a lot of my problems.

    • @lucbloom
      @lucbloom 7 หลายเดือนก่อน

      Cool

  • @hellfishazeroth
    @hellfishazeroth 6 ปีที่แล้ว +25

    I love that you have a slide called "Rocket League Goals"

  • @JosephR225
    @JosephR225 6 ปีที่แล้ว +94

    What a save!

  • @Sashik
    @Sashik 6 ปีที่แล้ว +20

    A hour just passed like nothing. Decent talk, decent game! Nice shot!

  • @stevesan
    @stevesan 6 ปีที่แล้ว +15

    another question: it seems that, while it helps, 100% deterministic physics isn't actually necessary here. since you're doing corrections anyway. i guess if the physics was REALLY non-det, then you'd get a lot more corrections, but it doesn't seem like a hard requirement (vs. deterministic lockstep, for example)
    Edit: ah I see it is indeed not perfectly deterministic! But the corrections take care of it. Cool :)

    • @jcdentonunatco
      @jcdentonunatco 3 ปีที่แล้ว +1

      you are right, a deterministic simulation is not required, but it certainly makes things easier!

  • @ZeroZ30o
    @ZeroZ30o 6 ปีที่แล้ว +7

    good talk especially on networking

  • @Narc0YT
    @Narc0YT 6 ปีที่แล้ว +12

    Good shout to Rocket Science.

  • @nosenose338
    @nosenose338 5 ปีที่แล้ว +5

    39:25 how fast do you apply a correction to catch up with frame you were?

    • @fartmerchant
      @fartmerchant 8 หลายเดือนก่อน

      if I understand it correctly, they do the (rollback + simulate to the frame you were) all within one frame

  • @weirdsciencetv4999
    @weirdsciencetv4999 9 หลายเดือนก่อน

    Instead of increasing update rate, you could internally back up the collision to the point of contact after it is detected.

  • @abalorias333
    @abalorias333 6 ปีที่แล้ว +1

    Awesome talk, thanks Jared!

  • @nomadcrossfire
    @nomadcrossfire 6 ปีที่แล้ว +3

    Hey it's full length this time!

  • @alaharon1233
    @alaharon1233 6 ปีที่แล้ว +34

    The last video on this subject was much more detailed. In an hour you can't possibly have the amount of detail in a concise, under a minute video

    • @informant09
      @informant09 6 ปีที่แล้ว +1

      ;)

    • @vrhyrsh
      @vrhyrsh 6 ปีที่แล้ว +3

      Do you mind letting us know which video you're referring to?

    • @alaharon1233
      @alaharon1233 6 ปีที่แล้ว +12

      Andreas Ertelt They've since taken it down, but they had put up a video with this title that was just the gdc logo and tye person saying the title of his talk

  • @beastdrummer555
    @beastdrummer555 6 ปีที่แล้ว +19

    I'd really like to get my hands on, or have Psyonix release a build of the game with more "realistic" physics. See how much more difficullt it coiuld be

  • @felenov
    @felenov 3 ปีที่แล้ว

    Actually some very interesting stuff. Very appreciated.

  • @demonblade04
    @demonblade04 6 ปีที่แล้ว +1

    Wow! Nice Shot!

  • @falxie_
    @falxie_ 4 ปีที่แล้ว +6

    I hope that the the devs are contributing back to the Bullet source with the fixes

  • @noninvasive_rectal_probe8990
    @noninvasive_rectal_probe8990 3 ปีที่แล้ว +1

    Could they use varying tick rate based on speed of objects?

    • @uHaveNiceKeys
      @uHaveNiceKeys 2 ปีที่แล้ว

      I believe that's a benefit of multi-threaded processing they decided to go without, or a feature that was overlooked during development. Cone did describe the launch as stressful, so I'm gonna roll with overlook as why.

  • @Dewey-yu7gc
    @Dewey-yu7gc 6 ปีที่แล้ว +1

    You blown my mind

  • @jayantbarthwal4470
    @jayantbarthwal4470 3 ปีที่แล้ว +1

    did they used photon networking for this???

  • @einfachConny
    @einfachConny 6 ปีที่แล้ว +6

    how could you possible give us more info than you already gave us in the first video?

    • @sherlockli4439
      @sherlockli4439 6 ปีที่แล้ว +3

      Hi, do you know where we can watch the first video? Thanks.

    • @robosergTV
      @robosergTV 4 ปีที่แล้ว +2

      Hi, do you know where we can watch the more detailed video? Thanks.

    • @chadfranklin47
      @chadfranklin47 4 ปีที่แล้ว +2

      Hi, do you know where we can watch the first video? Thanks.

    • @Bleeglesplotch
      @Bleeglesplotch 3 ปีที่แล้ว +1

      Hi, do you know where we can watch the first video? Thanks.

  • @KokahZ777
    @KokahZ777 5 หลายเดือนก่อน

    Is no input considered an input on a physics frame ?

    • @debjoybhowal1952
      @debjoybhowal1952 4 หลายเดือนก่อน

      yes i would assume so. In that case it should run the physics state. like a car just decelerating and coming to a stop. And no input is still an input. I think what gets passed is the input state. Like the value of an analog stick on X axis can be 0 or can be 0.5 or it can be 1. All of these are values which will determine the calculation of the physics frame.

  • @ty_teynium
    @ty_teynium 6 ปีที่แล้ว

    This is going to be random but what's the follow up on star citizen? Love this by the way ✌

  • @cosminvoinopol705
    @cosminvoinopol705 6 ปีที่แล้ว +21

    Last one had too many details so this one is a simplified version

    • @sherlockli4439
      @sherlockli4439 6 ปีที่แล้ว +5

      Hi, do you know where we can watch the more detailed video? Thanks.

    • @robosergTV
      @robosergTV 4 ปีที่แล้ว +4

      Hi, do you know where we can watch the more detailed video? Thanks.

    • @chadfranklin47
      @chadfranklin47 4 ปีที่แล้ว +4

      Hi, do you know where we can watch the more detailed video? Thanks.

    • @ckskydives
      @ckskydives 4 ปีที่แล้ว +3

      Hi, do you know where we can watch the more detailed video? Thanks.

    • @Bleeglesplotch
      @Bleeglesplotch 3 ปีที่แล้ว +2

      Hi, do you know where we can watch the more detailed video? Thanks.

  • @1N2345
    @1N2345 4 ปีที่แล้ว

    Great talk. Amazing game.

  • @Kokuyous3ki
    @Kokuyous3ki ปีที่แล้ว

    As someone who is suffering through simply physics replication currently... yea, Rocket League is terrifying me :)

  • @lucbloom
    @lucbloom 7 หลายเดือนก่อน

    Amazing

  • @donloder1
    @donloder1 6 ปีที่แล้ว +3

    2:38 i know that feel often

    • @donloder1
      @donloder1 6 ปีที่แล้ว

      in the case of laggy player, i wonder who made the more prediction the computer/server, the player. or the high blood pressure.

  • @jekmoha3
    @jekmoha3 6 ปีที่แล้ว +3

    Hmmm. Heavy car bug is probably that client prediction getting messed up or simply stops working for that client.

  • @falxie_
    @falxie_ 4 ปีที่แล้ว

    Fascinating stuff

  • @stevesan
    @stevesan 6 ปีที่แล้ว +3

    this is an **awesome** talk! thanks so much. i had a question: was the 120hz only chosen for consistency? could it be argued that the game would probably work just fine at 60hz? maaayyybe the most expert players would notice in very specific situations (like kick off), but is it fair to say vast majority would not?

    • @f0kes32
      @f0kes32 3 ปีที่แล้ว +1

      as far as i know tickrate is actually 60hz

    • @skiplogicgg
      @skiplogicgg ปีที่แล้ว

      @@f0kes32 you can measure the tick rate with some external tools and it's 8.33ms per tick as far as i can tell. i think that's 120hz?

  • @dola8305
    @dola8305 ปีที่แล้ว

    This is Rocket League!

  • @Sypower94
    @Sypower94 6 ปีที่แล้ว +1

    Has rocket league always ran on a 120Hz physics tick rate? Or was that changed in one of the patches? I feel like I would have noticed something like that but I've never heard of it.

    • @julie-the-julie
      @julie-the-julie 6 ปีที่แล้ว +3

      Sounds like that's what they started with

  • @cody.flowart
    @cody.flowart 4 ปีที่แล้ว +1

    would you agree there is no randomness at all when talking about the way the ball reacts?

    • @DigitalJedi
      @DigitalJedi 3 ปีที่แล้ว

      RL is deterministic. The same exact inputs will always produce the same exact outputs.

  • @yellowmonkee0
    @yellowmonkee0 4 ปีที่แล้ว +3

    It's just beautiful how this android made such a great game.

    • @yoeymeme
      @yoeymeme 3 ปีที่แล้ว +2

      Android?

  • @AndrewRiggs-zp3rv
    @AndrewRiggs-zp3rv ปีที่แล้ว

    Gc2 thanks amazing game

    • @edgeribble
      @edgeribble 9 หลายเดือนก่อน

      I think they should add the ability to cancel side flips to the game. It would add new mechanics, make recoveries faster and raise the skill ceiling of the game plus it wouldn't detract anything from the game because there are no mechanics that rely on sideflips not being cancelled

    • @edgeribble
      @edgeribble 9 หลายเดือนก่อน

      do u think chaining wall dashes would be harder if u could cancel sideflips

  • @JetpackBattle-lc7ob
    @JetpackBattle-lc7ob 2 หลายเดือนก่อน

    8:07 Such is game dev D:

  • @MarsLaaars
    @MarsLaaars 4 หลายเดือนก่อน

    26:36

  • @AntonKozikowski
    @AntonKozikowski 6 ปีที่แล้ว

    rocket league 11 yrs.

  • @VincentVanGirth
    @VincentVanGirth 10 หลายเดือนก่อน +1

    I wonder if I could hire this genius to help me fix my FPS dips on my new PC, I'd prefer not to have to learn all of this XD

  • @PeterSvP
    @PeterSvP ปีที่แล้ว

    When hackers know more than you :D

  • @AntonKozikowski
    @AntonKozikowski 6 ปีที่แล้ว

    cars love to play soccer

  • @DjTinnio
    @DjTinnio 4 ปีที่แล้ว +3

    Having the game at capped 240 fps, makes my inputs randomly react different. Having the game at 120 fps, everything is normal. I heard the physics tick rate is 120. Is there a way to increase that to 240 ? A dynamic tickrate , syncing along with the fps would be a solution i guess ? I can easily pull 240 fps at max settings. And it is sad, that it is unplayable then. Also, i noticed, that the sensitivity of my mouse is lower, the higher the fps are. Oh and, the walls sucking the cars towards them is kind of , disturbing. And when releasing the throttle, the car accellerates, when shifting down. In realtiy a car slows down when downshifting, because of the engine brake. Ideal would be the car getting slower in a linear smooth way, without speed changes, in Rocket League, because of course, you have to calculate the distance to a ball. The sound effect of changing gears , should only be a sound effect. Accellerating is completely linear, so , decellerating should be linear too then, especially if you have an automatic gear change, wich is only happening at predefined rev ranges, so there is not even a revving up happening. Why is the game acting like someone is hitting the clutch at decellerating, taking the gear out, so it can roll easier, and decellerates less ? The thing is, you can't get a feeling for , when the automatic gear will switch a gear down on its own. You can't predict, when the car is making that push forward. And it does the push forward, because you guys, implemented the effect of an engine brake, in the complete oposit way, than what it is in reality. I guess you thought, a higher revving motor, means being faster, wich is just wrong, at decellerating. What is true is, the car , wanting to roll on forward, because of its weight, is revving the motor up, if a lower gear is put in MANUALLY, because it is a lower transition, than the higher gear. It is then harder for the wheels, to transfer energy into the motor through the transmission, and that's why it is slowing the car down. The energy transfer between transmission and the engine, flips, when releasing the throttle. Not the engine spins the tires anymore, the ground is spinning the tires, and they spin the transmission, wich spins the motor. The energy for that comes only from the rolling forward momentum. If you switch to a lower gear then, the transition is lower, wich forces the engine to revv higher, but the energy for that , is coming from the road that is spinning the tires. Spinning up the motor that way, costs energy, and that's why the car is braked by that process. But in Rocket Leage, again, the car accellerates, when it shifts a gear down. It needs to be fixed. And since it is an automatic transmission, which changes gears at ideal revv ranges, without causing these weird engine revving, the so called engine brake is also reduced, to put less stress on the engine and transmission. This means you could simply change it into a linear decelleration, when releasing the throttle button. Tnx. And why the heck is accelleration spelled with 2 c's , but decelleration with one c ... ? I am german, sry :-p .

  • @jekmoha3
    @jekmoha3 6 ปีที่แล้ว +8

    "Input delay is not an option" :D This is the only game where I experience major input delay.

    • @lavanaut
      @lavanaut 6 ปีที่แล้ว +4

      That's not input delay, that's your deadzone settings.

  • @christianhagberg5417
    @christianhagberg5417 6 ปีที่แล้ว

    Hey look this one's more than a minute long...

  • @Madash023
    @Madash023 6 ปีที่แล้ว +4

    I've been struggling with tuning vehicle parameters for a while. It was a great talk, but as someone who loves simulations and realism, it's disappointing to hear that the answer is "Cheat and don't use physics."

    • @ZoidbergForPresident
      @ZoidbergForPresident 6 ปีที่แล้ว +9

      Of course, because it's better. For games that is.
      Read about some simulation being made for a racing game and nobody could play it except for professional pilots.

    • @cartridgeinside
      @cartridgeinside 6 ปีที่แล้ว +1

      ZoidbergForPresident that is so false lol

    • @ZoidbergForPresident
      @ZoidbergForPresident 6 ปีที่แล้ว +3

      You must be read, I must have read that book in my dreams.
      I yield to your all powerful argument.

    • @1forgiven2
      @1forgiven2 6 ปีที่แล้ว +1

      Realistic vehicle physics becomes very complex very fast though. In racing simulators there is not really a way around it without making it feel arcade-like. If you can find something on iRacing car physics for example you'll see that they simulate things such as drivetrain and body flex. And of course the tire interaction with the car and the road surface.

  • @AaronVoegele
    @AaronVoegele 3 ปีที่แล้ว

    Great part is how everything he says pretty much is antithesis to online sim racing games.... lol.

  • @Eirenband
    @Eirenband ปีที่แล้ว +4

    I appreciate this talk, but I'm also so disappointed in the developers. They simplified and simplified and simplified until all the cars were the same, and all the maps were the same, removed voice chat, removed trading. They got so good at simplifying that they only know how to take away.

    • @edgeribble
      @edgeribble 9 หลายเดือนก่อน

      voice chat is back and i think trading could come back in ue5. I think they should add the ability to cancel side flips to the game. It would add new mechanics, make recoveries faster and raise the skill ceiling of the game plus it wouldn't detract anything from the game because there are no mechanics that rely on sideflips not being cancelled

    • @GewoonEenNick
      @GewoonEenNick 6 หลายเดือนก่อน

      ​​@@edgeribbleTrading wont come back. People get scammed, and epic games dont wanna fix that

    • @edgeribble
      @edgeribble 6 หลายเดือนก่อน

      @@GewoonEenNick I heard the reason they removed trading is because it was illegal in some countries

    • @joaoruxa
      @joaoruxa 6 หลายเดือนก่อน +1

      ​@@edgeribble they removed trading because so you could use your items in Fortnite on a dead gamemode called rocket racing

    • @edgeribble
      @edgeribble 6 หลายเดือนก่อน

      @@joaoruxa everybody knows that the real reason

  • @maljamin
    @maljamin 5 ปีที่แล้ว +2

    They have bots.. I wonder why for other-player prediction they don't just run whatever the bot algorithm is. It's got to be at least as good as just sort of decaying inputs (as if the player just slowly lost muscle function or something). You'd think even a dumb bot would get closer to what a real player does, bots know where the ball is and where other players are, and they pursue reasonable goals (sorta). He talked about using machine learning but.. why, you've already got bots. And definitely from there, you've got a ton of training data if you ever want to involve ML in improving the bots. Just keep comparing predicted inputs to real inputs, given the known physics state at that moment. Seems really ripe for ML... I bet you it's on the horizon with lots of games... killer bots and improved player input prediction. Which would help for the both prediction on the client side and on server.

    • @clonkex
      @clonkex 4 ปีที่แล้ว +1

      He only talks about ML because he realised that's what the question-asker was meaning by "prediction". In reality it's not prediction, it's just simulating the world from the last known server state onwards ("speculative execution" would be a better term than prediction). The problem with using the bot AI would be that a) it might not be stateless so it would be hard to implement, and b) what if the bots _don't_ actually do what the player does? What if every frame, the bot tries to turn right, but the player continues turning left? For any ticks where there's no server input, the car would turn right, but then would be corrected to turning left for one tick, then continue turning right. It would look terrible. I also can't imagine how it would be more likely that the bot would correctly predict the player's next move than simply repeating the player's last inputs. Like unless the bot predicted the player's move within one tick of accuracy it would be actively detrimental to the experience, not beneficial.

  • @jiro4559
    @jiro4559 2 ปีที่แล้ว +1

    Why every speaker thinks that he's a comedian

  • @MrADEL84
    @MrADEL84 4 ปีที่แล้ว

    They gave all the power to the server and they put in a crappy servers in game, screw this crap

  • @flaming7488
    @flaming7488 4 ปีที่แล้ว +2

    This games physics suck

  • @RevRyukin7
    @RevRyukin7 4 ปีที่แล้ว +1

    A whole hour to explain how the physics are nonsensical garbage? wow. I did it in just a few seconds.

  • @FilipeCSR
    @FilipeCSR 4 ปีที่แล้ว

    Now I know why this game sucks... lazy game design.