Как устроен сетевой код в играх | Неткод, мультиплеер, геймдев | Podlodka Podcast

Поділитися
Вставка
  • Опубліковано 8 сер 2024
  • Любой мультиплеер - это набор очень хитрых иллюзий, которые создают ощущение одновременной игры в окружении, где ее принципиально не может быть. Михаил Панин, инженер VR в Meta, а в прошлом техлид популярных мобильных онлайн-игр, рассказал про то, как решаются сложнейшие задачи синхронизации состояний между игроками и сервером, и как программисты сетевого кода оперируют таймлайнами, по запутанности близкими к фильмам Нолана.
    Если вам интересны разработка игр в целом и мультиплеерный код в частности - выпуск для вас!
    ❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: t.me/podlodka
    📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются анонсы новых выпусков, а в комментах идут ценные и горячие обсуждения! 5 тысяч опытных IT-специалистов уже с нами: t.me/podlodkanews
    Полезные ссылки:
    - Статьи Михаила на Хабре про сетевой код
    habr.com/ru/users/marsermd/
    - UA-cam Михаила
    / @michaelpanin
    - Инстаграм Михаила
    / marsermd
    - Подборка материалов про сетевой код в играх
    github.com/ThusSpokeNomad/Gam...
    - Доклад про мультиплеер от Destiny
    www.gdcvault.com/play/1022246...
    - Доклад про latency в Call of Duty
    gdcvault.com/play/1023220/Fig...
    - GDC Networking Scripted Weapons and Abilities in 'Overwatch'
    • GDC Networking Scripte...
    - Replay Technology in Overwatch: Kill Cam, Gameplay, and Highlights
    • Replay Technology in O...
    - Networking Scripted Weapons and Abilities in Overwatch
    • Networking Scripted We...
    - GafferOnGames
    gafferongames.com/
    Тайм-коды:
    00:00 О чём выпуск?
    07:11 Виртуальная реальность и мультиплеер
    12:50 Проблемы с синхронизацией в играх
    19:10 Создание иллюзии одновременности
    25:40 Обсуждение механики стрельбы в играх
    44:05 Проблемы с иллюзией одновременности
    52:04 Проблемы с пингом в играх
    01:06:48 Оптимизация для разных пинов
    01:13:15 Репликация мира и протоколы общения
    01:17:48 Виды мультиплеера и проблемы с ними
    01:31:40 Боты в мультиплеерных играх
    01:36:14 Тестирование мультиплеерных игр
    01:45:38 Борьба с читерами
    01:55:03 Новые технологии и жанры
    02:01:53 Рекомендации для изучения сетевого кода
    02:04:50 Заключение
  • Наука та технологія

КОМЕНТАРІ • 37

  • @user-dc7lh8hl2m
    @user-dc7lh8hl2m Місяць тому +2

    всегда слушал только в аудио, а у вас, оказывается, не только приятный голос, но и приятная внешность

  • @kazus11
    @kazus11 13 днів тому

    Я вообще даже не близко к геймдеву, но играю в игры и это супер интересный выпуск!

  • @rkniazev
    @rkniazev Місяць тому +3

    Топовый контент на ютубе!
    Года три не слушал вас, но вот ютуб формат живее и инстереснее!

  • @Ge0graph
    @Ge0graph 14 днів тому

    крутой выпуск, интересно рассказывает, сложно оторваться

  • @ilmerainen478
    @ilmerainen478 Місяць тому +2

    Очень интересный позитивный гость. Спасибо за выпуск)

  • @gamedev_expert
    @gamedev_expert 23 дні тому

    Тоже работаю около сетевого программирования, редко встретишь того кому нравится, очень рад был услышать настолько увлеченного человека как Михаил. Интересно почему после хардкора такого вы ушли в VR, я в этом ничего не понимаю, но кажется что в разы проще чем сеть.

    • @JavaAverageBadCoder
      @JavaAverageBadCoder 21 день тому +1

      мне с7:50 есть ответ: намного больше денег + мета как компания с большой аудиторией

  • @TheTmntmike
    @TheTmntmike Місяць тому +2

    Не знал, что Эрик Бана так хорошо на русском говорит.

  • @shikasd
    @shikasd Місяць тому +4

    Есть еще очень интересный доклад про мультиплеер и физику от Rocket League: ua-cam.com/video/ueEmiDM94IE/v-deo.html

  • @user-yt6zl3gh3t
    @user-yt6zl3gh3t Місяць тому +1

    Топовый гость. Топовый контент. Топовый канал.

  • @millkiway3682
    @millkiway3682 Місяць тому +1

    51:10 в cs 1.6 игрок не привязан к движущейся платформе. Более того если платформа двигается при этом игрок подпрыгивает с нее и в прыжке висит неподвижно относительно карты, то если ему на пути встретится игрок движущийся на платформе, то этого игрока столкнет с платформы

  • @aleksey2793
    @aleksey2793 6 днів тому

    А какие бест практис для реализации аутентификации в играх с распределенной архитектурой на бэкенде? В каждом фреймворке свои решения? А в случае написания своего бэка пишут что-то свое или применяют keycloak и аналоги?

  • @JFFby
    @JFFby Місяць тому +2

    Ставлю лайк за фокус

  • @kirillkhlopkoff252
    @kirillkhlopkoff252 Місяць тому +3

    Как раз начал писать мультиплеерку)

    • @MichaelPanin
      @MichaelPanin Місяць тому +2

      Удачи и большого терпения:)

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

      Не свисти

  • @aleksey2793
    @aleksey2793 Місяць тому +2

    А может подскажете или укажете направление - какие варианты реализации сетевого взаимодействия используются в простых мобильных баттлерах с автобоями в ПВП и метагеймом? Просто REST? Или есть какие-то более правильные подходы? И если REST, то как выйти из ситуации, когда игрок может эмулировать клиент игры чем-то своим, например создать бота, реализующего запросы к серверу?

    • @MichaelPanin
      @MichaelPanin Місяць тому +1

      Авторитарный сервер -- это маст. По сути так как нет интерактивности, можно делать тонкий клиент который только проигрывает отсимулированное на сервере.

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

    Тут можно вспомнить об онлайн шутере THE FINALS. В этой игре есть и интересно реализованная система разрушений зданий и физическое взаимодействие с объектами и движущиеся платформы. Возможно эта игра на данный момент является самым высокотехнологичным мультиплеером.

    • @MaruiInfantry
      @MaruiInfantry 26 днів тому

      Нет, там всё застейжено и засинкано до жопы. Всё рандомизированное - только на клиенте. Физика не синкается.

  • @aleksey2793
    @aleksey2793 Місяць тому +2

    2:02:00 Какой сайт озвучен? На слух не слишком понятно)

    • @MichaelPanin
      @MichaelPanin Місяць тому +1

      А, видимо в ютубе нет ссылок. Но на сайте подкаста все ссылки есть.

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

      А ютуб видимо удаляет из комментлв еще ссылки, хаха:)
      gafferongames ищите в общем.

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

      @@MichaelPanin не нашел на сайте этот выпуск, только аудио подкасты

    • @MichaelPanin
      @MichaelPanin Місяць тому +1

      хаха, я тут пытаюсь оставить ссылки, но ютуб трёт.

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

      @@smival gaffer on games ищите.

  • @user-xl1qb5yn1z
    @user-xl1qb5yn1z 29 днів тому

    41:45
    19 пропущенных звонков от Кристофера Нолана

  • @TMANandMAISON991
    @TMANandMAISON991 15 днів тому

    11:50 в доте это же не так лол
    если у тебя пинг 1 секунда, у тебя будет всё лагать на 1 секунду и у тебя будет ехать крыша

  • @iGotton
    @iGotton Місяць тому +1

    +

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

    Анализ фокуса показал, что мальчик достал из центра две карты, а не одну. Только я не совсем понял как, когда он засунул нормальную карту в середину он вернул ее. То ли засунул под верхнюю карту, а не в середину, то ли вернул, когда не туда не ту карту ложил

  • @vadimkozub3400
    @vadimkozub3400 Місяць тому +1

    Как можно 2 часа так интенсивно давить лыбу? Инфа водянистая.