It IS Rocket Science! The Physics of Rocket League Detailed

Поділитися
Вставка
  • Опубліковано 23 кві 2018
  • In this 2018 GDC talk, Psyonix's Jared Cone takes viewers through an inside look at the specific game design decisions and implementation details that made the networked physics of Rocket League so successful.

КОМЕНТАРІ • 102

  • @Jambax
    @Jambax 5 років тому +92

    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.

  • @hellfishazeroth
    @hellfishazeroth 6 років тому +21

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

  • @seP4
    @seP4 Рік тому +8

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

    • @Kokuyous3ki
      @Kokuyous3ki Рік тому +1

      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

  • @JosephR225
    @JosephR225 6 років тому +87

    What a save!

  • @ZeroZ30o
    @ZeroZ30o 6 років тому +5

    good talk especially on networking

  • @abalorias333
    @abalorias333 5 років тому +1

    Awesome talk, thanks Jared!

  • @Narc0YT
    @Narc0YT 6 років тому +11

    Good shout to Rocket Science.

  • @thuraoo2295
    @thuraoo2295 9 місяців тому +4

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

  • @felenov
    @felenov 2 роки тому

    Actually some very interesting stuff. Very appreciated.

  • @demonblade04
    @demonblade04 6 років тому +1

    Wow! Nice Shot!

  • @Dewey-yu7gc
    @Dewey-yu7gc 6 років тому +1

    You blown my mind

  • @1N2345
    @1N2345 3 роки тому

    Great talk. Amazing game.

  • @falxie_
    @falxie_ 3 роки тому

    Fascinating stuff

  • @weirdsciencetv4999
    @weirdsciencetv4999 Місяць тому

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

  • @lucbloom
    @lucbloom 10 днів тому

    Amazing

  • @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 ✌

  • @nomadcrossfire
    @nomadcrossfire 6 років тому +3

    Hey it's full length this time!

  • @Sashik
    @Sashik 6 років тому +20

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

  • @stevesan
    @stevesan 6 років тому +14

    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 2 роки тому

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

  • @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

  • @nosenose338
    @nosenose338 4 роки тому +5

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

    • @fartmerchant
      @fartmerchant Місяць тому

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

  • @beastdrummer555
    @beastdrummer555 6 років тому +18

    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

  • @falxie_
    @falxie_ 3 роки тому +6

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

  • @donloder1
    @donloder1 5 років тому +3

    2:38 i know that feel often

    • @donloder1
      @donloder1 5 років тому

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

  • @noninvasive_rectal_probe8990
    @noninvasive_rectal_probe8990 3 роки тому +1

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

    • @uHaveNiceKeys
      @uHaveNiceKeys Рік тому

      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.

  • @Kokuyous3ki
    @Kokuyous3ki Рік тому

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

  • @jayantbarthwal4470
    @jayantbarthwal4470 3 роки тому +1

    did they used photon networking for this???

  • @jekmoha3
    @jekmoha3 5 років тому +4

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

  • @dola8305
    @dola8305 Рік тому

    This is Rocket League!

  • @cosminvoinopol705
    @cosminvoinopol705 6 років тому +21

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

    • @sherlockli4439
      @sherlockli4439 5 років тому +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 3 роки тому +3

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

    • @Bleeglesplotch
      @Bleeglesplotch 2 роки тому +2

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

  • @einfachConny
    @einfachConny 6 років тому +6

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

    • @sherlockli4439
      @sherlockli4439 5 років тому +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 2 роки тому +1

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

  • @AntonKozikowski
    @AntonKozikowski 6 років тому

    rocket league 11 yrs.

  • @AndrewRiggs-zp3rv
    @AndrewRiggs-zp3rv Рік тому

    Gc2 thanks amazing game

    • @edgeribble
      @edgeribble 2 місяці тому

      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 2 місяці тому

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

  • @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 2 роки тому +1

      as far as i know tickrate is actually 60hz

    • @skiplogicgg
      @skiplogicgg 8 місяців тому

      @@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?

  • @cody.onewheel
    @cody.onewheel 3 роки тому +1

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

    • @DigitalJedi
      @DigitalJedi 2 роки тому

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

  • @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.

    • @half.step.
      @half.step. 6 років тому +3

      Sounds like that's what they started with

  • @AntonKozikowski
    @AntonKozikowski 6 років тому

    cars love to play soccer

  • @Eirenband
    @Eirenband 5 місяців тому +3

    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 2 місяці тому

      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

  • @yellowmonkee0
    @yellowmonkee0 3 роки тому +3

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

  • @VincentVanGirth
    @VincentVanGirth 2 місяці тому

    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

  • @jekmoha3
    @jekmoha3 5 років тому +8

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

    • @lavanaut
      @lavanaut 5 років тому +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.

  • @DjTinnio
    @DjTinnio 3 роки тому +2

    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 .

  • @AaronVoegele
    @AaronVoegele 3 роки тому

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

  • @maljamin
    @maljamin 4 роки тому +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 3 роки тому +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.

  • @MrADEL84
    @MrADEL84 4 роки тому

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

  • @jiro4559
    @jiro4559 2 роки тому

    Why every speaker thinks that he's a comedian

  • @flaming7488
    @flaming7488 3 роки тому +2

    This games physics suck

  • @RevJ7
    @RevJ7 3 роки тому +1

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

  • @FilipeCSR
    @FilipeCSR 3 роки тому +1

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