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

Ғылым және технология

Любой мультиплеер - это набор очень хитрых иллюзий, которые создают ощущение одновременной игры в окружении, где ее принципиально не может быть. Михаил Панин, инженер VR в Meta, а в прошлом техлид популярных мобильных онлайн-игр, рассказал про то, как решаются сложнейшие задачи синхронизации состояний между игроками и сервером, и как программисты сетевого кода оперируют таймлайнами, по запутанности близкими к фильмам Нолана.
Если вам интересны разработка игр в целом и мультиплеерный код в частности - выпуск для вас!
❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: t.me/podlodka
📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются анонсы новых выпусков, а в комментах идут ценные и горячие обсуждения! 5 тысяч опытных IT-специалистов уже с нами: t.me/podlodkanews
Полезные ссылки:
- Статьи Михаила на Хабре про сетевой код
habr.com/ru/users/marsermd/
- KZread Михаила
/ @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 Заключение

Пікірлер: 32

  • @gamedev_expert
    @gamedev_expert4 минут бұрын

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

  • @user-dc7lh8hl2m
    @user-dc7lh8hl2m18 күн бұрын

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

  • @rkniazev
    @rkniazev25 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    18 күн бұрын

  • @ilmerainen478
    @ilmerainen47828 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    28 күн бұрын

    ❤️

  • @user-yt6zl3gh3t
    @user-yt6zl3gh3t27 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    18 күн бұрын

  • @JFFby
    @JFFby22 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    18 күн бұрын

    Спасибки:)

  • @TheTmntmike
    @TheTmntmike27 күн бұрын

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

  • @unray
    @unray7 күн бұрын

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

  • @MaruiInfantry

    @MaruiInfantry

    3 күн бұрын

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

  • @user-xl1qb5yn1z
    @user-xl1qb5yn1z5 күн бұрын

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

  • @millkiway3682
    @millkiway368228 күн бұрын

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

  • @shikasd
    @shikasd28 күн бұрын

    Есть еще очень интересный доклад про мультиплеер и физику от Rocket League: kzread.info/dash/bejne/p5l5z8t9fZyaeag.html

  • @kirillkhlopkoff252
    @kirillkhlopkoff25229 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    29 күн бұрын

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

  • @millkiway3682

    @millkiway3682

    28 күн бұрын

    Не свисти

  • @aleksey2793
    @aleksey279328 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    28 күн бұрын

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

  • @aleksey2793
    @aleksey279329 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    29 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    28 күн бұрын

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

  • @smival

    @smival

    28 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    28 күн бұрын

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

  • @MichaelPanin

    @MichaelPanin

    28 күн бұрын

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

  • @iGotton
    @iGotton28 күн бұрын

    +

  • @dontyta3562
    @dontyta356220 күн бұрын

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

  • @vadimkozub3400
    @vadimkozub340025 күн бұрын

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

Келесі