Обновить

Стрельба в шутерах по-простому: от мгновенного луча до отката времени на сервере

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели10K
Всего голосов 20: ↑20 и ↓0+24
Комментарии3

Комментарии 3

Реально интерестная статья, но хотел бы упомянуть тот момент который меня смутил в псевдокоде. В самом начале есть псевдокод projectile, и мне кажется что он слишком упрощён. Вы создаёте пулю и задаёте ей линейную скорость по направлению выстрела, что хоть и является физически верным, но создаёт некоторые проблемы с синхронизацией.

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

Так-же стоит использовать паттерн обджект-пул, но это в целом тут реально минимальное допущение в пользу простоты кода.

Ага, да это просто плейсхолдеры. Понятно что боевая система делается иначе. Но это целый репозиторий собирать.

Как мне помнится, в CS на траекторию пули ещё влияет движение игрока. Если юзер бежит, растёт спред. Если юзер стрейвится, траектория пули двигается в сторону

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации