Как мы вошли в Топ-10 крупнейших мобильных издателей мира?
Узнайте из видео!
Смотреть
Gamedev Андрей Верещагин
4665

Метод борьбы с лагами с помощью изменения архитектуры уровней «на ходу»

Пока он работает во Flappy Bird.

В закладки

В конце апреля учёные из Корейского института передовых технологий и Университета Аалто заявили о том, что разработали систему компенсации задержки ввода, основанную на изменении геометрии уровня в игре.

Как правило, лаг компенсируется «отмоткой» событий игры на время, равное задержке, а затем применением данных ввода игрока. Это ведёт к тому, что пользователь замечает несоответствие между локальной информацией и той, которую ему даёт система компенсации.

Свой метод учёные назвали «геометрической компенсацией» и продемонстрировали его работу на примере Flappy Bird. Для этого исследователям пришлось искусственно создать лаг.

Суть «геометрической компенсации» заключается в том, что расстояние между трубами, через которые должна пролетать птица, автоматически меняется в зависимости от задержки на стороне игрока. Таким образом, даже пользователи со сниженной отзывчивостью управления имеют больше шансов на успех.

Пока технология находится на ранней стадии разработки. Как именно она может быть применена в трёхмерной игре — неизвестно.

#технологии

{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438"], "comments": 22, "likes": 39, "favorites": 68, "is_advertisement": false, "subsite_label": "gamedev", "id": 56139, "is_wide": false, "is_ugc": false, "date": "Tue, 25 Jun 2019 22:00:57 +0300" }
{ "id": 56139, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/56139\/get","add":"\/comments\/56139\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/56139"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }
22 комментария

Популярные

По порядку

Написать комментарий...
22

Есть у тебя задержка ввода, и ты такой стреляешь мимо. А тут пришли математики и ты такой стреляешь мимо - и попадаешь.
Press X to Ah, shit, here we go again)

Ответить
11

Похоже на чью-то высосаную из пальца научную работу

Ответить
5

Хорошее решении для Стадии. Делать игры легче для тех кто на стриминге сидит.

Ответить
2

Вообще люди зря считают что задержка будет большой, я с другом через парсек(программа для стриминга игр в которых есть только локальный кооп) играл через пол страны в enter the gungeon и задержка была минимальной

Ответить
0

Играть с другом на весь канал это одно. Стримить на десятки тысяч пользователей из одного ЦОДа с кучей серверов - другое. Даже если 3 ЦОДа на Америку, Европу и Азию - это будет монументальное узкое место. Я вот помню OnLive - оно либо не работало,либо работало так что картинка похожа на 144p видео. А если работало хорошо то в эти редкие моменты оно все равно было заметно ужатым и годилось разве что в ситуациях когда нет норм железа под рукой.

Ответить
0

Онлайв был запущен 15(ПЯТНАДЦАТЬ!!!!!) лет назад, тогда смартфоны выглядели бы как чудо футуризма

Ответить
–1

Инфраструктура интернета большей частью все та же что и 15 лет назад, если не хуже, теперь еще и огромная нагрузка за счет высокого качества стриминговых серверов

Ответить
2

Если у тебя лаг, то в шутере изменится геометрия уровня и пока тебя не разлагает, тебя никто не убьёт.

Ответить
4

Надо на Чукотку обратно ехать и всех нагибать. Буду киберкотлетка

Ответить
7

Тогда геометрия уровня рискует стать неевклидовой.

Ответить
2

Эта штука сможет компенсировать лаг на стороне аксонов? У меня друг спрашивал.

Ответить
0

Мне бы не помешало. )

Ответить
1

Не выглядит как что-то революционное. Тупо компенсация за высокий лаг.

Ответить
0

Это вообще полезным не выглядит.

Ответить
1

«Теперь я магистр какой-то хуйни»

Ответить
0

Суть «геометрической компенсации» заключается в том, что расстояние между трубами, через которые должна пролетать птица, автоматически меняется в зависимости от задержки на стороне игрока

"Как именно она может быть применена в трёхмерной игре — неизвестно"

Кхм, может враги/препятствия будут дальше, медленнее, неповоротливее.

Динамическая сложность (и теперь еще и левел-дизайн, хотя флеппи берд это типа генерация, поэтому всё-таки все-равно сложность) - никогда тебя не видели, и вот опять.

Ответить
0

Выглядит как попытка удалить гланды через задницу: что мешает просто расширить интервал доверия к нажатию кнопок на клиенте на величину задержки? То есть обработка ввода и отображение идёт на стороне клиента, поэтому сервер может просто считать, что таймштамп в задержавшемся пакете может отличаться от времени получения пакета на величину задержки и доверять таким данным.

Ответить
0

То есть, если у меня интернет на полдня пропал, оно там за меня отстреляется?
А с работой так можно?

Ответить
0

3 вещи, которые ассет флиппер должен сделать в своей жизни:
Сделать Flappy Bird
Сделать три в ряд
Сделать хоррор

Ответить
0

сетевая лагокомпенсация по похожему принципу устроена

Ответить
0

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

Ответить
–1

А вот и технологии для Google Stadia подъехали!

Ответить
0

Прямой эфир

{ "remaining": "WzAsMSwyLDMsNCw1LDYsNyw4LDld" } [ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В лутбоксы начали включать багфиксы
Подписаться на push-уведомления