Вы видите копию треда, сохраненную 12 сентября в 06:29.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Нужно ли честно симулировать колёса?
Подходят ли существующие физические движки для этой цели?
Есть ли готовые к применению бесплатные контроллеры для распространённых движков?
Должны ли различаться модели физики для гонок на трассе и для езды в городе?
Правда ли, что самое важное в гоночной игре - не повороты, не подвеска, а механика торможения?
>чтобы было интересно ей управлять?
Вкусовщина ведь.
>Нужно ли честно симулировать колёса?
Зависит от того, что нужно получить...
>Подходят ли существующие физические движки для этой цели?
Зависит от того, что нужно получить...
>Есть ли готовые к применению бесплатные контроллеры для распространённых движков?
Есть, лол, и ты об этом прекрасно знаешь.
>Должны ли различаться модели физики для гонок на трассе и для езды в городе?
Странный вопрос, что тут имеется в виду?
>Правда ли, что самое важное в гоночной игре - не повороты, не подвеска, а механика торможения?
Опять же вкусовщина, каждому своё.
>В серии GTA физика машин такова, что тормозить практически не приходится.
О, ГТА - мои любимые гонки, я как раз хотел привести МТА в пример. Там у машин низкая максималка и обычно (потому что мапмейкеры дают нитро) быстрое ускорение, в результате количественно разница между разного скилла игроками получается небольшая - все едут близко. а это весело, никому не интересно отстать и наяривать круги в одиночестве.
Кстати играю 15 лет и до сих пор изобретаю новые техники вождения и при этом отстаю от задротов на секунды за минуту, не представляю как они это делают. Как проходить повороты? Тормозить боком от ручника? Тормозить с блокировкой а потом проходить без газа или с газом или зажать газ и тормоз и так поворачивать? Тормозить слегка и трейлбрейчить? Причем большинство задротов играет на клаве.
>Дрочь кнопок даёт небольшое преимущество за счёт багнутой логики АКПП в GTA 5
Да! Эксплойты в пятерке приятные! Правда мне больше нравится брейкбуст. А в Трекмании ненавижу экслойты и вообще ее механику вождения на стадионе.
>Наоборот, в 3D генерировать бесконечную петляющую дорогу без развилок несложно. Сложно делать только пересечения дорог под произвольными углами.
Она в таких играх неевклидовая обычно, поскольку как верно заметил анон машина на само деле не поворачивает, есть только визуальный эффект изгиба дороги впереди.
>Писал про Flatout 1/2, но это любой более-менее нормальной гонки касается. Если в гонке нет системы повреждений хотя бы уровня ГТА 3
Ты писал что после повреждения машина едет хуево, и приходится рестартовать, но в ГТА до 4 повреждения вообще никак не влияют, а во Флетауте и ГТА 4 и 5 только немного влияют если потерять/погнуть колесо. И повреждений часто нет потому что автопроизводители не разрешают.
Во Флетауте 2 была проблема с мультиплеером. Механика игры рассчитана на то что ты будешь копить нитро, бить ботов возвращая себе это нитро и таким образом не отставая от остальных. Которые, конечно, едут медленно и поддаются если они впереди, и быстро догоняют если позади. В мультиплеере это не работает - одно столкновение и пострадавший больше никогда никого не догонит, да и атакующему будет сложно, но ему хотя бы было весело. Итого дальше нескольких поворотов смысла больше не было.
>Сейвскам убивает интерес к игре. Независимо от жанра я предпочту игру, где сейвскам осложнён, чтобы у меня не было соблазна сейвскамить.
Всецело согласен. Даже в знаменитом своей хардкорностью Dirt Rally дают по 5 рестартов кажется на ралли (которое длится несколько десятков минут). Тут лучший ориентир старые игры про ралли, или например NFS High Stakes (на пс1, на пк это порт на отдельном движке, больше напоминающий 3д игры с флеш порталов), где чемпионат состоит из нескольких гонок, которые нельзя рестартить.
>Эмпирическим путём я выяснил, что чем меньше ты тормозишь, тем лучше. Поэтому в редких случаях я просто отпускаю газ на повороте, не трогая тормоз. Пока тупые боты притормаживают, я улепётываю от них на полной скорости...
В реалистичных гонках это не так. Это не сработает. У шин есть предел сцепления, и больше энергии чем они позволяют ты за единицу времени не передашь, а значит на достаточно высокой скорости не сможешь изменить вектор движения быстро.
>Разве дрифт не начинается после блокировки одной из осей? Исходя из того, что я видел на Ютубе и в играх, войти в дрифт можно только на гладких шинах или если резко затормозить, либо если едешь по снегу или льду.
Нет, не обязательно блокировка, нужно скольжение, а его можно добиться и чрезмерным газом - причем там потеря бокового сцепления будет больше, чем от блокировки, потому что сцепление тратится на толкание вперед + эта потеря регулируема степенью нажатия газа - так углом дрифта и управляют. Настоящий дрифт как раз газом, ручник можно только юзать для инициации дрифта.
>В ГТА для дрифта обычно пробел нужно дёргать, иначе машина просто поворачивает без заноса.
В ГТА 4 и 5 на большинстве тачек да. В 3д трилогии, если играть на 30 фпс как задумано (там чем больше фпс тем больше сцепление), мощные тачки вполне себе пауэрслайдят.
>В моём представлении дрифт == торможение боком, из-за чего входить в поворот с дрифтом менее эффективно, и делается только ради публики.
Нет, в торможении боком самом по себе нету ничего неэффективного, и на скольких покрытиях где статическое сцепление ниже динамического (грязь и тп), дрифт - самый эффективный метод. См ралли, ралликросс, американские грязевые овалы, гонки по льду... Только на чистом асфальте с хорошими шинами дрифт неэффективен - там не допускают скольжения, а катятся.
>>894140 →
>Дрифта есть два вида, но из-за того, что для второго вида нужно использовать сцепление - а в большинстве игр его не делают - дрифтовать можно, только дёргая ручной тормоз.
Не нужно никакой педали сцепления, просто нажми газ.
>В серии GTA физика машин такова, что тормозить практически не приходится.
О, ГТА - мои любимые гонки, я как раз хотел привести МТА в пример. Там у машин низкая максималка и обычно (потому что мапмейкеры дают нитро) быстрое ускорение, в результате количественно разница между разного скилла игроками получается небольшая - все едут близко. а это весело, никому не интересно отстать и наяривать круги в одиночестве.
Кстати играю 15 лет и до сих пор изобретаю новые техники вождения и при этом отстаю от задротов на секунды за минуту, не представляю как они это делают. Как проходить повороты? Тормозить боком от ручника? Тормозить с блокировкой а потом проходить без газа или с газом или зажать газ и тормоз и так поворачивать? Тормозить слегка и трейлбрейчить? Причем большинство задротов играет на клаве.
>Дрочь кнопок даёт небольшое преимущество за счёт багнутой логики АКПП в GTA 5
Да! Эксплойты в пятерке приятные! Правда мне больше нравится брейкбуст. А в Трекмании ненавижу экслойты и вообще ее механику вождения на стадионе.
>Наоборот, в 3D генерировать бесконечную петляющую дорогу без развилок несложно. Сложно делать только пересечения дорог под произвольными углами.
Она в таких играх неевклидовая обычно, поскольку как верно заметил анон машина на само деле не поворачивает, есть только визуальный эффект изгиба дороги впереди.
>Писал про Flatout 1/2, но это любой более-менее нормальной гонки касается. Если в гонке нет системы повреждений хотя бы уровня ГТА 3
Ты писал что после повреждения машина едет хуево, и приходится рестартовать, но в ГТА до 4 повреждения вообще никак не влияют, а во Флетауте и ГТА 4 и 5 только немного влияют если потерять/погнуть колесо. И повреждений часто нет потому что автопроизводители не разрешают.
Во Флетауте 2 была проблема с мультиплеером. Механика игры рассчитана на то что ты будешь копить нитро, бить ботов возвращая себе это нитро и таким образом не отставая от остальных. Которые, конечно, едут медленно и поддаются если они впереди, и быстро догоняют если позади. В мультиплеере это не работает - одно столкновение и пострадавший больше никогда никого не догонит, да и атакующему будет сложно, но ему хотя бы было весело. Итого дальше нескольких поворотов смысла больше не было.
>Сейвскам убивает интерес к игре. Независимо от жанра я предпочту игру, где сейвскам осложнён, чтобы у меня не было соблазна сейвскамить.
Всецело согласен. Даже в знаменитом своей хардкорностью Dirt Rally дают по 5 рестартов кажется на ралли (которое длится несколько десятков минут). Тут лучший ориентир старые игры про ралли, или например NFS High Stakes (на пс1, на пк это порт на отдельном движке, больше напоминающий 3д игры с флеш порталов), где чемпионат состоит из нескольких гонок, которые нельзя рестартить.
>Эмпирическим путём я выяснил, что чем меньше ты тормозишь, тем лучше. Поэтому в редких случаях я просто отпускаю газ на повороте, не трогая тормоз. Пока тупые боты притормаживают, я улепётываю от них на полной скорости...
В реалистичных гонках это не так. Это не сработает. У шин есть предел сцепления, и больше энергии чем они позволяют ты за единицу времени не передашь, а значит на достаточно высокой скорости не сможешь изменить вектор движения быстро.
>Разве дрифт не начинается после блокировки одной из осей? Исходя из того, что я видел на Ютубе и в играх, войти в дрифт можно только на гладких шинах или если резко затормозить, либо если едешь по снегу или льду.
Нет, не обязательно блокировка, нужно скольжение, а его можно добиться и чрезмерным газом - причем там потеря бокового сцепления будет больше, чем от блокировки, потому что сцепление тратится на толкание вперед + эта потеря регулируема степенью нажатия газа - так углом дрифта и управляют. Настоящий дрифт как раз газом, ручник можно только юзать для инициации дрифта.
>В ГТА для дрифта обычно пробел нужно дёргать, иначе машина просто поворачивает без заноса.
В ГТА 4 и 5 на большинстве тачек да. В 3д трилогии, если играть на 30 фпс как задумано (там чем больше фпс тем больше сцепление), мощные тачки вполне себе пауэрслайдят.
>В моём представлении дрифт == торможение боком, из-за чего входить в поворот с дрифтом менее эффективно, и делается только ради публики.
Нет, в торможении боком самом по себе нету ничего неэффективного, и на скольких покрытиях где статическое сцепление ниже динамического (грязь и тп), дрифт - самый эффективный метод. См ралли, ралликросс, американские грязевые овалы, гонки по льду... Только на чистом асфальте с хорошими шинами дрифт неэффективен - там не допускают скольжения, а катятся.
>>894140 →
>Дрифта есть два вида, но из-за того, что для второго вида нужно использовать сцепление - а в большинстве игр его не делают - дрифтовать можно, только дёргая ручной тормоз.
Не нужно никакой педали сцепления, просто нажми газ.
>Не нужно никакой педали сцепления, просто нажми газ.
Это вообще другой приём, называется power over drift. В какой игре такое есть? Я не встречал.
Для clutch kick надо при нажатом газе сбросить сцепление, чтобы ведущие колёса прокрутились и уменьшили трение с поверхностью, тогда корпус разворачивает резко в сторону поворота оси через точку между двумя задними колёсами.
При использовании только ручника блокируется ведущая ось, и машина вращается через точку на передней оси, в отличие от предыдущего приёма.
Не знаю, как ИРЛ, но в играх всегда можно вписаться в повороты с помощью только ручника.
>Бесполезный тред. Зачем ты его создал?
Чтобы не писать в треде ТВГ, который скоро утонет.
>Есть, лол, и ты об этом прекрасно знаешь.
Я знаю только физику Эди, и она не опен-сорс.
>Странный вопрос, что тут имеется в виду?
Есть мнение, что для езды по городу а-ля ГТА, Мафия и т. д. симуляция машин, как для гонок, не подходит. Вот кто-то писал, что в ГТА тормоз почти не нужен (да, это так). Там много чего не нужно.
>Это вообще другой приём, называется power over drift. В какой игре такое есть? Я не встречал.
Ridge Racer, NFS 2015+ это сделано искусственно, и это работает в любой достаточно реалистичной гонке, то есть практически в любой с 1998 года.
>Для clutch kick надо при нажатом газе сбросить сцепление, чтобы ведущие колёса прокрутились и уменьшили трение с поверхностью, тогда корпус разворачивает резко в сторону поворота оси через точку между двумя задними колёсами.
>При использовании только ручника блокируется ведущая ось, и машина вращается через точку на передней оси, в отличие от предыдущего приёма.
Торк на колесах не сделает такой разницы чтобы заметно поменялась точка вокруг которой машина крутится. Она в любом случае будет ближе к переду - где есть сцепление.
>>894188
Если делать реалистичную физику то она пойдет везде, это понятно. А если какую-то утрированную, игровую, аркадную, то конечно для гонок по трекам и для погонь по городу требования разные.
>Торк на колесах не сделает такой разницы чтобы заметно поменялась точка вокруг которой машина крутится.
Ну да, наверное я не прав.
>>894189
>А если какую-то утрированную, игровую, аркадную
Я как раз за аркадную. А реалистичная пойдёт не всем. Например, из ГТА 4 выпилили реалистичную физику, якобы, геймерам было тяжело управлять, и сделали более мультяшные машинки.
Не помню уже точно, в чём там суть, но машины в пятой части управляются так, будто бы у них есть steering aid, легче поворачивать, сильнее сцепление с дорогой, почти нет заносов - даже на высоких скоростях выписывают идеальный радиус, как на рельсах, быстро тормозят и т. д..
В пятой гта тупо огромное сцепление + подвеска пожестче чем в 4. Про мягкую подверску на суперкарах это была самая бесспорная критика.
Ну и в обоих мощный трекшн контрол, который портит всю малину. К помощи в рулении в 5 я не сразу привык но имхо только с ней и надо делать управление с геймпада или клавы.
Кстати, как сделать steering assist (подруливание)?
При условии, что скорость выше порога, и что угол поворота меньше порога, не применять поворот вообще? Или применять, но после отпускания клавиши/джойстика делать контр-поворот? Как это вообще в цикле должно выглядеть?
Сам-то представил, что предложил?
Во-первых, зачем нужно. Система помощи с рулением необходима для управления с геймпады, клавиатуры и любого другого устройства с небольшим рейджем при любой сколько-нибудь реалистичной симуляции, потому что когда машина набирает скорость, оптимальный угол поворота колес уменьшается с 40 градусов до 1 градуса!
Классический лимитер 1: ограничивается скорость вращения рулевого колеса, обычно на константу. Применяется практически всегда, и обычно в сочетании с чем-то еще.
Классический лимитер 2: по линейной формуле с какой-то скорости уменьшается максимальный угол поворота руля.
Если в игре нету поддержки рулевого колеса (то есть отключения или уменьшения этого лимитера), то даже такой примитивный лимитер, если он скорее завышенный (ограничивает слишком сильно) - проблемой не является, потому что все игроки остаются наравне.
В старых пекашных симуляторах обычно есть такой, но настраиваемый от безумного до нулевого, еще и единый на всю игру. Но в симуляторе его не хватит чтобы нормально ездить все равно.
Как вычисляется формула для уменьшения угла? Да как угодно, можно хоть на глаз, можно делать ее глубже и риалтаймевее, добавляя параметры в рассчет. Но любой нериалтаймовый будет, очевидно, далек от идеала. Например в Гран Туризмо 5 геймпадщики жаловались, что ограничения слишком сильные и рулевики быстрее их на быстрых поворота. Также, лимитирование желательно отключать или лучше уменьшать до необходимого в некоторых ситауция, вроде контрстиринга.
Как все-таки посчитать оптимальное ограничение поворота руля? Очевидно, нам нужно позволить получить максимальную силу, которая будет поворачивать машину, но не позволить поворачивать колеса больше, потому что сила поворота будет уже уменьшатся. Как я делал в вилколлайдере юнити: тупо смотрел на отдаваемую им slip и если она превышает пик на графике, заданном для этого колеса в движке, то уменьшал лимит угла поворота, а если не превышает, то увеличивал. Неидеально, потому что оно в результате колеблется или отстает. Когда я написал свое колесо, то смог уже напрямую использовать внутренние рассчеты.
Важно отметить, что динамическое ограничение ограничивает уже не от от центра, а от направления движения машины. Однако, это значит что руль может быть заблокирован игрой в максимальном положении, независимо от того в какую сторону пытается повернуть игрок - что ощущается плохо, поэтому ограничение контрстира нерфят.
Сам-то представил, что предложил?
Во-первых, зачем нужно. Система помощи с рулением необходима для управления с геймпады, клавиатуры и любого другого устройства с небольшим рейджем при любой сколько-нибудь реалистичной симуляции, потому что когда машина набирает скорость, оптимальный угол поворота колес уменьшается с 40 градусов до 1 градуса!
Классический лимитер 1: ограничивается скорость вращения рулевого колеса, обычно на константу. Применяется практически всегда, и обычно в сочетании с чем-то еще.
Классический лимитер 2: по линейной формуле с какой-то скорости уменьшается максимальный угол поворота руля.
Если в игре нету поддержки рулевого колеса (то есть отключения или уменьшения этого лимитера), то даже такой примитивный лимитер, если он скорее завышенный (ограничивает слишком сильно) - проблемой не является, потому что все игроки остаются наравне.
В старых пекашных симуляторах обычно есть такой, но настраиваемый от безумного до нулевого, еще и единый на всю игру. Но в симуляторе его не хватит чтобы нормально ездить все равно.
Как вычисляется формула для уменьшения угла? Да как угодно, можно хоть на глаз, можно делать ее глубже и риалтаймевее, добавляя параметры в рассчет. Но любой нериалтаймовый будет, очевидно, далек от идеала. Например в Гран Туризмо 5 геймпадщики жаловались, что ограничения слишком сильные и рулевики быстрее их на быстрых поворота. Также, лимитирование желательно отключать или лучше уменьшать до необходимого в некоторых ситауция, вроде контрстиринга.
Как все-таки посчитать оптимальное ограничение поворота руля? Очевидно, нам нужно позволить получить максимальную силу, которая будет поворачивать машину, но не позволить поворачивать колеса больше, потому что сила поворота будет уже уменьшатся. Как я делал в вилколлайдере юнити: тупо смотрел на отдаваемую им slip и если она превышает пик на графике, заданном для этого колеса в движке, то уменьшал лимит угла поворота, а если не превышает, то увеличивал. Неидеально, потому что оно в результате колеблется или отстает. Когда я написал свое колесо, то смог уже напрямую использовать внутренние рассчеты.
Важно отметить, что динамическое ограничение ограничивает уже не от от центра, а от направления движения машины. Однако, это значит что руль может быть заблокирован игрой в максимальном положении, независимо от того в какую сторону пытается повернуть игрок - что ощущается плохо, поэтому ограничение контрстира нерфят.
Забыл сказать, что центральное положение (когда игрок ничего не жмет) тоже можно сдвигать, что является реальным эффектом, и помогает удерживать машину от заноса, а значит помогает предотвратить неконтролируемый занос и разворот.
>Сам-то представил, что предложил?
Да, представил. Помощь в рулении нужна не только для предотвращения заносов, но и для удержания машины на полосе, когда она едет на высокой скорости прямо по дороге. Вот кстати - это как раз отличие управления автомобилем в городе и на трассе.
Мне кажется, что нужно нужно ограничить не максимальный угол, а минимальный. Т.е. это не лимитер, а гейт. Такое есть в некоторых Need for speed, ГТА5 и особенно это видно в ГТА2. Пускай это нереалистично, но это очень облегчает управление.
В чём суть:
1. игрок на высокой скорости может чуть-чуть дёрнуть руль, от этого машина поворачивает корпусом, и затем возвращается обратно, как пружина. При этом обратный поворот происходит через другую точку - в передней части корпуса. В ГТА2 таким образом можно менять полосы, как в старых аркадах типа brick game. Непонятно, то ли они так пытались изобразить контр-руление, то ли это полностью выдуманный эффект, но выглядит прикольно.
2. Если игрок поворачивает руль выше какого-то значения, то машина разворачивается уже на 90 градусов, чтобы как раз вписаться в поворот на городском перекрёстке.
Это всё создаёт ощущение приклеенных к дороге машинок, и позволяет игроку не заморачиваться с вхождением в повороты, и гонять по городу, как на вагонетке. Просто ограничение или блокирование руля не даёт такой эффект. Для автосимуляторов, разумеется, такое не пойдёт.
При небольших поворотах руля машину как-то дёргает и она выруливает обратно на предыдущую траекторию.
> Такое есть в некоторых Need for speed
В каких? Очень сомневаюсь
>ГТА5
Там точно нет
>и особенно это видно в ГТА2
Там действительно было.
>Пускай это нереалистично
Почему же, сейчас такие системы есть.
>При этом обратный поворот происходит через другую точку - в передней части корпуса.
Ээ, не думаю, зачем, по-моему там тем же самым рулением это делается.
> Непонятно, то ли они так пытались изобразить контр-руление, то ли это полностью выдуманный эффект, но выглядит прикольно.
Это может и выдуманный в то время, но теперь реальный эффект удержания полосы. Когда в той же гта2 например выезжаешь с дороги, то сразу заметно, как тяжело ехать прямо, из-за достаточно резкого управления.
>2. Если игрок поворачивает руль выше какого-то значения, то машина разворачивается уже на 90 градусов, чтобы как раз вписаться в поворот на городском перекрёстке.
Не, это твой скилл :) Машина приклеивается к полосе на небольших отклонениях, вот и все.
Может быть полезный ассист, но что-то даже не припомню 3д игр с ним.
>Может быть полезный ассист, но что-то даже не припомню 3д игр с ним.
Вон выше я кинул ссылку на ГТ спортс.
>Там точно нет
В самом экстремальном формате это есть только в ГТА2. В ГТА5 есть эффект приклеивания к полосе - это мне кажется что ли?
Вопрос в том, как это сделать. Нужно ли обращаться к параметрам колеса, как выше описано, или достаточно только метрик скорости и поворота корпуса. У меня-то вообще колёс-коллайдеров в моей аркаде нет, есть только точки приложения силы и число оборотов для передней и задней пары.
>>894225
>В каких? Очень сомневаюсь
Может в Pro Street? Надо будет проверить.
Я понял, ты путаешь две разные штуки, или даже три.
В гта 5 я 3000 часов гонял, прострит пару раз проходил когда он вышел, гта 2 тоже.
В гта 2 есть карта направления дорог, и машина приклеивается к ней. В гонках по треку может быть опициональная помощь приклеивания машины к оптимальной траектории. Может быть в прострите была такая, но я ее отключал и не помню. Но независимые от трека ассисты там точно были. В гта 5 точно нет подруливания к полосе или к траектории. Но! В гта точно есть автоматический контрстиринг, про который я и писал. Отпускаешь руль - и машина сама немного подруливает в обратную сторону, предотвращая занос. Ирл тоже так, чисто механически, но тут может быть и более эффективная электронная система.
Руление в сторону траектории можно сделать и на минимальной инфе (положение корпуса машины относительно оной), но идеалу предела нет, в ирл тачках просчитывается максимально полная модель и все ассисты действуют вместе.
Показывай свою аркаду, интересно же, если не показывал ещё. У тебя один рейкаст на всю машину я так понял по описанию? А я вот обороты даже не считал (Автохулиганы с ТВГ), даже ведущих колес, у меня более высокоуровнево пока. Есть 4 рейкаста с пружинами и вычисляется сила прижатия к поверхности для каждого, а значит и сцепление.
>Я понял, ты путаешь две разные штуки, или даже три.
Какие имено?
1. Сопротивление заносу
2. Каунтер-стиринг (это то самое подруливание а ля ГТА2?)
3. "Приклеивание" к трассе?
Как реализовать первое, анон объяснил выше. Но это можно сделать проще, просто увеличив продольное трение и уменьшив поперечное. Т.е. нет смысла сначала программировать занос, а потом бороться с ним. Можно сделать грип в 2 раза более мощным, примерно как в ГТА5 по сравнению с ГТА4, и всё. А вот удержание центра трассы (2 и 3) - более актуально.
>У тебя один рейкаст на всю машину я так понял по описанию?
Да, пока рейкаст касается земли - машина приклеена к земле, как ховер-кар или глайдер. В воздухе система колёс отключается. Подвеску делать не имеет смысла, я ориентируюсь на геймплей в стиле середины 1990-ых.
>Показывай свою аркаду, интересно же, если не показывал ещё.
Там серый кирпич ездит по зелёному плейну с трамплинами, ничего интересного.
>А я вот обороты даже не считал (Автохулиганы с ТВГ), даже ведущих колес, у меня более высокоуровнево пока.
Коробку передач я нормально симулировал и она пока меня устраивает. Я это взял из статьи на геймдев.ру. Там есть много допущений, типа обороты при старте берутся из ниоткуда, но работает для аркады нормально. У машин-соперников симуляции коробки нет, они все едут на одной условной передаче, и крутящий момент колёс генерируется сам по себе, а не из мотора через трансмиссию.
А вот нормальное трение (неотключаемый стиринг-ассист и торможение) - это то, что ещё надо сделать.
Опять же, реалистичное торможение делать нельзя, т.к. тормозной путь с реалистичными цифрами получается слишком длинный для игры.
1. Сопротивление заносу, да, автоматический контрстиринг, как в гта 5, гт спорт (не играл, но видос посомтрел), или в экстремальном виде в аркадах с автодрифтом (все нфсы от критерион и гост геймс).
2. Приклеиваение к направлению дороги как в гта 2, сюда же я бы отнес удержание в линии из жизни (но оно не будет между линиями удерживать как в гта 2). И нет, это никак нельзя назвать контрстирингом.
3. Стремление к оптимальной траектории, как например можно включить в рфакторе. Но это неприятно осознавать (игра играет за тебя) или даже оно настолько сильно что неюзабельно (проджект карс).
>Да, пока рейкаст касается земли - машина приклеена к земле, как ховер-кар или глайдер. В воздухе система колёс отключается. Подвеску делать не имеет смысла, я ориентируюсь на геймплей в стиле середины 1990-ых.
Уважаемо. Приглашай плейтестить.
>Опять же, реалистичное торможение делать нельзя, т.к. тормозной путь с реалистичными цифрами получается слишком длинный для игры.
Просто сделай разные бюджеты сцепления назад, вперед и вбок. Такие колеса все еще можно будет назвать реалистичными по механизму действия. Ну и айрбрейк вполне реалистичен.
>нет смысла сначала программировать занос, а потом бороться с ним
Занос - это весело. Есть 2 эффекта от заноса, один это езда боком, а второй - разворот (вокруг своей оси). Второй неприятный, но в аркаде ты можешь уменьшать второй и увеличивать первый. А с твоим одним рейкастом развороту самому по себе вообще неоткуда взяться.
В более детальной симуляции заносов без разворотов, как ты верно заметил, только почему-то перепутав наоборот, можно добиться, уменьшив сцепление вперед (продольное) (traction), и увеличив сцепление вбок (поперечное) (grip).
>В гта 2 есть карта направления дорог, и машина приклеивается к ней.
А я то думал, почему это говно мамонта неиграбельно.
В ГТА2 есть карта направлений дорог, но машина НЕ ПРИКЛЕИВАЕТСЯ к ней. Она приклеивается к вектору направления машины. Это можно проверить, если проехать по чистому полю.
Блин, я соврал. Сейчас специально скачал и установил ГТА2 - и таки да, "приклеивается" только на дорогах. На поле нет подруливания. В общем, крутая фишка, хочу её реализовать.
Первую часть попробуй, вообще охуеешь.
Я ее люблю за невозможность рестартовать проваленные миссии и сохраняться и 1хп у перса (3 если достанешь броник)
Тогда уж не "к вектору направления машины", а к северу-югу и западу-востоку. Мб кстати так и есть, но это происходит только на дорогах.
В первой части офигенный collision resolution у машинок, box 2d отдыхает. Как сделать такой же? Есть опен-сорс версия ГТА1, так вот там физика на box 2d, это совсем не то.
Да, там по сетке. Я давно не играл, вот только что проверил. Сегодня ещё надо проверить несколько олдскул-игр, таких как первые 5 NFS, Twisted Metal и Carmageddon.
Иронично? Там машины ну углах карты и друг друга застревают.
Забыл еще упомянуть танковое управление персонажем (включая прицеливание) - и это в первую очередь пека игра, конечные жизни, карта только бумажная, а копы на 4 звездах инставзрывают твою тачку из автоматов.
Напомнаю, что настоящие 3 и 4 нфс только на пс1, а 5ый - только на пк. На пк выходили говнодемейки 3 и 4, а на пс1 неплохая игра от левой студии которая тоже почему-то называлась NFS Porsche Unleashed.
Кармагеддона на пс1 интересный демейк второй части но все же это не оригинал. Твистед Металы все настоящие
>Иронично?
Нет. Мне это кажется весёлым.
> танковое управление персонажем
Дело вкуса. Танковое управление позволяет повернуть персонажа на произвольный угол, а не только на одно из 8 возможных направлений. Мне больше нравится танковое.
Ну тогда тем более поиграй и в те и в те версии.
Главная разница как раз в теме треда - в физике. И движения, и столкновений.
В NFS Hot Pursuit (PS1) есть 2 режима физики. "Аркада" с автодрифтом, опередившая свое время на 10 лет, и довольно годная "симуляция", перекочевавшая единственным режимом, продолжив улучшаться, в High Stakes (PS1) и Porsche Unleashed (PC).
Все пять первых оригинальных нфсов делала EA Canada. Говнопорты HP, HS и HP2 делала EA Seattle, закрывшаяся после последней.
Для ПК версий HP и HS они написали свою дурацкую физику, в которой нету оверстира вообще, тупо поворачиваешь пока жмешь поворот, полное уныние. Столкновения наоборот в оригиналах более веселые и аркадные, если можно считать реалистичной тупо останавливающуюся при въезде в стену машину. Оба порта также слишком легкие, совсем не заставляют потеть. В HS еще дико растянули карьеру. Еще в HS проебали масштаб трасс - они стали меньше (ну ок, может так даже лучше), но еще зачем-то сдеали модели машинок очень высокими, какие-то чибики получились, и графон салона в машине примитивнее чем на куда менее мощной PS1. Hot Pursuit 2 оригинальный блекбоксовский я не проходил, но и там по многочисленным свидетельствам проебали душу в порте, и тоже с помощью своего оригинального движка.
Ошибся, таки HP2 портировала еще одна студия.
Посмотрим, на это нет много времени. Пока поиграл в классику, НФС 1 и 2.
НФС 1: поведение машинок не такое, как ожидаешь даже от рейсинг-аркады.
1. Оказывается, главное держаться середины трассы - тогда можно набрать максимальную скорость. Непонятно, как и зачем это сделано - по логике должно быть эффективнее держаться внутреннего периметра трассы.
2. В поворот нужно входить только с включенным газом, иначе автомобиль сносит. Что тоже противоречит законам физики - при включении газа на повороте автомобиль наоборот, должно заносить.
3. Непонятно, зачем там вообще есть ручной тормоз - никаких трюков с ним выполнить нельзя. Хотя дрифт тогда ещё не был популярен.
4. Физика машин удивительно приятная для 1994 года.
5. Зная, как работают п.1 и 2, большинство трасс можно пройти, не снимая педаль газа вообще (кроме последней, Transtropolis)
НФС 2: Отсюда особо нечего взять, но физика машин клоунская, хуже чем в НФС 1. Непонятно, как я в это в детстве играл.
1. От малейшего удара машина улетает в стратосферу.
2. Модельки противников от столкновений дёргаются и мигают.
3. На снежной трассе - машина бьётся о сугробы со скрежетом и искрами. Видимо, так имитируется пробуксовка.
>4. Физика машин удивительно приятная для 1994 года.
Ты судя по трассе Transtropolis играл в последнюю версию, 96 года, в версии 95го года впрочем так же физика по-моему.
Но твоя претензия к физике, что тормозить почти нигде не надо, верна только для версии 94 года для 3DO по-моему. В версиях на пк и консолях (95-96) физика заметно улучшена. И она там охуенная, это реально прорывная игра.
>держаться середины трассы - тогда можно набрать максимальную скорость
Выезжать с границ трассы (которые иногда просто линии на асфальте) действительно не надо потому что за ними невидимые стены, ты наверное с ними столкнулся.
>2. В поворот нужно входить только с включенным газом, иначе автомобиль сносит. Что тоже противоречит законам физики - при включении газа на повороте автомобиль наоборот, должно заносить.
На положение руля смотрел? Может это особенности местного рулевого ассиста. А еще в игре все тачки очень разные по характеру. Про реальные классические Порше говорят что у них дикий лифт-офф оверстир (из-за мотора сзади), мне кажется в игре это отображено.
Вообще бля, может игра и правда легкой становится если поворачивать с газом? Я проверю.
>3. Непонятно, зачем там вообще есть ручной тормоз - никаких трюков с ним выполнить нельзя. Хотя дрифт тогда ещё не был популярен.
Машину здорово заносит, но не особо контролируемо, да. А еще там можно врубить заднюю на скорости для интенсивных последствий!
А в НФС 2 аш 3 физики. Аркада, симуляция и добавленная в SE "бешеная". Во тех, что не симуляция, есть уже подобие автодрифта, правда его сложно юзать на здешних узких трассах. Но симуляция тут скучна, за ней лучше в HS и PU.
> 1. От малейшего удара машина улетает в стратосферу.
Охуенно же. Ну, не в стратосферу, а в 900º кикфлип. Это одна из крутых фишек игры.
>2. Модельки противников от столкновений дёргаются и мигают.
Да, могли бы их не респавнить, это портит иммершн. Когда респавнят игрока принудительно тоже ненавижу, лучше когда вообще не дают респавнскамить.
>3. На снежной трассе - машина бьётся о сугробы со скрежетом и искрами. Видимо, так имитируется пробуксовка.
Что бля)
>4. Физика машин удивительно приятная для 1994 года.
Ты судя по трассе Transtropolis играл в последнюю версию, 96 года, в версии 95го года впрочем так же физика по-моему.
Но твоя претензия к физике, что тормозить почти нигде не надо, верна только для версии 94 года для 3DO по-моему. В версиях на пк и консолях (95-96) физика заметно улучшена. И она там охуенная, это реально прорывная игра.
>держаться середины трассы - тогда можно набрать максимальную скорость
Выезжать с границ трассы (которые иногда просто линии на асфальте) действительно не надо потому что за ними невидимые стены, ты наверное с ними столкнулся.
>2. В поворот нужно входить только с включенным газом, иначе автомобиль сносит. Что тоже противоречит законам физики - при включении газа на повороте автомобиль наоборот, должно заносить.
На положение руля смотрел? Может это особенности местного рулевого ассиста. А еще в игре все тачки очень разные по характеру. Про реальные классические Порше говорят что у них дикий лифт-офф оверстир (из-за мотора сзади), мне кажется в игре это отображено.
Вообще бля, может игра и правда легкой становится если поворачивать с газом? Я проверю.
>3. Непонятно, зачем там вообще есть ручной тормоз - никаких трюков с ним выполнить нельзя. Хотя дрифт тогда ещё не был популярен.
Машину здорово заносит, но не особо контролируемо, да. А еще там можно врубить заднюю на скорости для интенсивных последствий!
А в НФС 2 аш 3 физики. Аркада, симуляция и добавленная в SE "бешеная". Во тех, что не симуляция, есть уже подобие автодрифта, правда его сложно юзать на здешних узких трассах. Но симуляция тут скучна, за ней лучше в HS и PU.
> 1. От малейшего удара машина улетает в стратосферу.
Охуенно же. Ну, не в стратосферу, а в 900º кикфлип. Это одна из крутых фишек игры.
>2. Модельки противников от столкновений дёргаются и мигают.
Да, могли бы их не респавнить, это портит иммершн. Когда респавнят игрока принудительно тоже ненавижу, лучше когда вообще не дают респавнскамить.
>3. На снежной трассе - машина бьётся о сугробы со скрежетом и искрами. Видимо, так имитируется пробуксовка.
Что бля)
Помню 10 лет назад был раннер на андроид где Ferrari F40 была с квадратными фонарями сзади, как позже добавленная в GTA. Есть подозрение что Феррари таки сизит и десистит за свои модели. Например в переизданиях оригинального Outrun спрайт машины также перерисовали, наоборот заменив квадратные фонари Тестароссы на пары круглых. Точно то же самое в GTA.
Впрочем, в оригинале Аутрана модель вроде как была лицензирована, так что было бы палевно ничего не менять в переизданиях без продления лицензии.
Мне новый гибрид даже больше нравится
>Ты судя по трассе Transtropolis играл в последнюю версию, 96 года
Да, я играл в версию 1996 года.
Физика там хорошая, претензий нет. Тормозить почти не надо, потому что треки так спроектированы. В центре трассы ускорение быстрее - возможно, это наследие старых игр типа Outrun. Столкновение с невидимыми стенами это совсем другое.
>А в НФС 2 аш 3 физики. Аркада, симуляция и добавленная в SE "бешеная".
Это я не учёл, посмотрим, в чём разница.
>Что бля)
Ну вот так и происходит. Снежная трасса самая неиграбельная. Хотя я её выиграл, т.к. противники тупо свалились в кучу в пещере.
Что ещё заметил в НФС2 - какие-то заоблачные цифры спидометра, под 400 км.
Сейчас играю в НФС3 пека версию. Не помню, чтобы играл в неё в детстве. Я после второй стразу играл в High Stakes, наверное.
Что сразу бросилось в глаза: без аналогового газа (т.е. играя с клавиатуры) невозможно плавно стартануть - обороты уходят в пустую раскрутку колёс, и это даёт противникам время вырваться вперёд.
Не знаю насчёт копирайта, скорее всего ты прав, но в США одно время был ебанутый закон, что все фары должны быть стандартизированные и круглые, от чего бывает подобное IRL. Ещё можешь загуглить разницу между европейскими и американскими поворотниками.
>невозможно плавно стартануть - обороты уходят в пустую раскрутку колёс, и это даёт противникам время вырваться вперёд.
А нет - всё не так, просто не надо накручивать обороты до того, как игра даст возможность включить первую передачу.
Знаю, я тоже смотрю Technology Connections
У меня такая привычка: дрочить A или D с некой определённой частотой, благодаря чему можно сравнительно точно выбирать угол поворота.
Чем чаще нажимаешь, тем выше угол поворота; чем реже нажимаешь, тем меньше угол поворота.
Что-то вроде цифро-аналогового преобразователя, только на уровне нервной системы мозга, работает автоматически, без моего сознательного контроля.
Сейчас почитал тред и понял, что все эти системы якобы "помощи" противоречат моей привычке дрочить кнопки, усложняя управление.
Лично я так же делаю и на стике геймпада, потому что в детстве не мог привыкнуть ко стикам на пс1 и юзал крестовину. На стике это эфффективнее потому что можно его слегка дергать, эффект слабее получается. Некоторые умеют еще без частотной модуляции слегка отклонять стик, но по-моему это сложно, короче вряд ли дает заметное преимущество. Ну а на клавиатуре я другого способа и не могу представить.
Надо понимать, что стик на геймпаде - никак не аналог руля (аналог руля это мышка, которая поддерживается в некоторых симах + можно костылем прикрутить). Стик не более чем чуть более продвинутая версия двух кнопок.
С чего системы помощи противоречат такому способу управления?
>Некоторые умеют еще без частотной модуляции слегка отклонять стик, но по-моему это сложно
Мне кажется, нужен просто очень хороший геймпад с высокой чувствительностью стиков. У меня ноунейм китайский, чип сообщает 256 уровней, фактически различает всего 16 уровней, а физически отклонить получается только на максимум. Но я слышал, что у дорогих фирменных геймпадов тысячи уровней чувствительности и вообще всё чётко срабатывает.
>аналог руля это мышка
Никогда не понимал, зачем в ГТА встроено управление мышкой, это какой-то хардкор.
>Стик не более чем чуть более продвинутая версия двух кнопок.
"Стик" - это две аналоговые оси + кнопка. Но только если он качественный и в хорошем состоянии.
>С чего системы помощи противоречат такому способу управления?
Ты противодействуешь возврату руля в нулевую позицию, и если машина живёт своей жизнью, непредсказуемо решая, куда ей крутить руль, тебе становится сложнее ей сопротивляться.
Непрямое управление в стратегиях: выбираем юнит, выбираем точку назначения, юнит строит маршрут и дальше сам маневрирует по карте.
Непрямое управление в ГТА: садимся в такси на место пассажира, выбираем точку назначения и ждём, когда таксист сам довезёт нас туда.
Есть ли что-то среднее? Чтобы можно было сидеть за рулём и непосредственно управлять движением, но чтобы машина сама катилась куда мы хотим? Чтобы не нужно было непрерывно дрочить WASD.
Набросал прототип в 2D: нажатие кнопок изменяет только вектор желаемых направления и скорости, а дальше машина сама подстраивается под этот вектор, без необходимости удерживать кнопки всю дорогу. Но пока что выглядит очень не очень.
Идея в том, чтобы задать направление + скорость и расслабиться, влияя на машину только на поворотах или в каких-то особых ситуациях. Реализм не нужен, нужен виртуальный транспорт. Но и без автопилота как в случае с такси/юнитами стратегии.
Как самолёт, только без крыльев и довольно урчит.
Может быть скопировать что-то из ИРЛ? Я сам не автоблядок, но слышал там бывают круиз контроль, ведение полосы и подобное.
Хочу минимизировать количество действий, оставив полную свободу перемещения по бездорожью.
Тащемто только что понял, что действительно хочу самолёт без крыльев: задал тягу + направление и можешь рыться в менюшках инвентаря или просто смотреть по сторонам, не трогая клаву.
Самолёт летит куда захочешь, ты можешь делать всякие трюки и маневрировать, но если тебе нужно просто лететь по прямой, тебе не нужно держать W зажатой или дрочить какие-то другие клавиши.
>>894718
>круиз контроль
Много раз слышал, но не интересовался, что это...
>ведение полосы
Это вроде следит за разметкой дороги и не будет работать, если игрок захочет съехать с дороги.
Ладно. Универсального решения, наверное, нет.
Самолёт без крыльев это трамвай. Но только программирование автопилота - это тема для научных диссертаций, и это сложно сделать даже в упрощённой виртуальной модели. Но можно прибегнуть к крайним мерам, вроде предоставления игроку максимального приоритета: с приближением игрока остальные участники движения останавливаются, как вкопанные. Но и то там будут проблемы на поворотах, в случаях, когда частично перегородили дорогу и т. д.
>Много раз слышал, но не интересовался, что это...
ну вот я открыл какой то сайт с описанием какой то машины
если скорость <45 miles per hour круиз не включается
Если на 45 держать кнопку accel, она начнет держать 45
короткие нажатия на кнопку accel дают +1 mph (до макс ограничения скорости, видимо)
Долгое нажатие кнопки coast снимает ускорение и машина замедляется своим ходом до 0
Короткое нажатие coast на той машине делает -1 mph скорости
Любое нажатие на педаль тормоза отключает круиз контроль. Есть кнопка resume которая после этого возвращает последнюю выставленную скорость.
>не будет работать, если игрок захочет съехать с дороги.
ну тут можно придумать что-то аналогичное.
Смысл ведения по полосе - следовать кривым трассы. В голом поле можно просто ехать по прямой. Если ехать вдоль какого-то забора, можно следовать его форме.
Вообще я подумал что это же есть во многих играх. Например автобег в ММО. Я обычно включаю его и рулю мышкой. Если персонаж касается боком стены, то он скользит вдоль нее. Или взять космосимы типа Freelancer.
Самое важное имхо тут придумать как быть с препятствиями. Все таки подразумевается что лобовое столкновение это атата. Машина должна сама уворачивться? Останавливаться? Или давать игроку QTE чтобы он среагировал? ИЛи просто отлючать автопилот и включать сирену чтобы он брался за руль?
Самолету просто делать автопилот потому что там по сравнению с городом пусто и нет препятствий. Террейн они просто облетают выше, с другими редкими самолями легко расходятся.
>Самолёт летит куда захочешь, ты можешь делать всякие трюки и маневрировать, но если тебе нужно просто лететь по прямой, тебе не нужно держать W зажатой или дрочить какие-то другие клавиши.
Кстати, это моя Б О Л Ь в GTA Online: почти любое задание посылает тебя за 10 км, а дороги уродские и по бездорожью хрен проедешь. На самолёте идеально, сел и полетел, большую часть пути клаву ваще не трогаешь. Но самолёты большие и неповоротливые, взлететь и сесть сложно даже с аркадной физикой, и вообще-то игра про тачки, а не про перелёты через горы. В игре есть тачка, которая может парить и летать, но она не удерживает скорость как самолёт. Короче, я долго думал, как это можно решить, не вызывая такси и не прикручивая автопилот, даже если придётся пожертвовать реализмом и физикой...
>>894720
>Самолёт без крыльев это трамвай
Не выдумывай, если хвостовое оперение осталось, то самолёт с обрубленными крыльями может ехать и поворачивать как ни в чём ни бывало. Неоднократно проверено лично мной в Ил-2 Штурмовик (лол).
>Но только программирование автопилота - это тема для научных диссертаций
Что? А как юниты в стратегиях бегают? Как боты управляют машинами в гонках и ГТА? Есть даже космические симуляторы, там управление сложнее.
>остальные участники движения останавливаются, как вкопанные. Но и то там будут проблемы на поворотах, в случаях, когда частично перегородили дорогу и т.д.
Если у тебя есть "остальные участники движения", то ты, очевидно, уже сделал автопилот в своей игре. Но я как раз не хочу добавлять такой автопилот игроку.
>Самое важное имхо тут придумать как быть с препятствиями. Все таки подразумевается что лобовое столкновение это атата.
ИРЛ этим занимаются КБ и институты. В игре можно управлять не только машиной-аватаром, но и другими участниками движения, поэтому можно давать игроку макс. приоритет, я написал выше. Но столкновений всё равно не избежать.
>ну вот я открыл какой то сайт с описанием какой то машины
Игроку не нужна вся эта хуита, он хочет зажать "W" и чтоб машинка ехала вперёд.
>Вообще я подумал что это же есть во многих играх. Например автобег в ММО. Я обычно включаю его и рулю мышкой.
Ну сделай так же. Нажал Q и машинка едет, пока не уебётся.
>самолёт с обрубленными крыльями может ехать и поворачивать
на земле самолеты рулят колесами. На старых, типа ил-2, заднее колесо просто свободно рулит и не мешает ехать куда угодно, передние два имеют раздельные тормоза, поэтому можно поворачивать затормозив только левое. на современных лайнерах передняя стойка поворачивается для руления, кажется там такой мини руль можно вытащить из под пола.
>А как юниты в стратегиях бегают?
По разному, это называется steering behaviours
>Как боты управляют машинами в гонках и ГТА?
По-разному, в гонках используется принцип "резинки" (rubber band), в ГТА по заранее нарисованным путям ездят, как по рельсам. Это ещё не автопилот.
>ИРЛ этим занимаются КБ и институты.
Тут нюанс в том, что в КБ они должны учесть все неизвестные случаи что могут произойти - приедет машина со стороны, упадет алкаш, пролетит пакет. В игре это не важно, потому что ты всегда достоверно знаешь положение объектов и стен. Поэтому, ты всегда со 100% точностью можешь определить, столкнуться два объекта продолжая двигаться на заданной скорости с заданным углом или нет.
>Поэтому, ты всегда со 100% точностью можешь определить, столкнуться два объекта продолжая двигаться на заданной скорости с заданным углом или нет.
Предсказать ситуацию можно, а вот принять решение "что делать дальше" уже сложнее, поиск пути на шасси - это не то же самое, что поиск пути с произвольным движением. Ведь для AI-водителя может быть несколько вариантов достигнуть точки X - передом, задом, развернувшись налево, развернувшись направо и т. д. А если водителей двое или больше, надо учитывать - не создадут ли они этим ещё худшую ситуацию.
16 положений это вплоне достаточно для твоего пальца на маленьком стике. Физиология просто не позволяет оперировать этой штукой точно. Сам попробуй без стиринг ассита (сказав игре что это типа руль) - абсолютно невозможно так играть. Поэтому я и говорю, что стик это аналог клавиатуры, а не руля.
А проблема дешманских контроллеров не в 16 положениях, а в огромной дедзоне. В фирменных ее нет - там всегда есть стикдрифт, и добавляют дедзону уже сами игры. Кстати, не делайте в своих играх некотключаемую дедзону, а то приходится антидедзоной ее убирать.
>Никогда не понимал, зачем в ГТА встроено управление мышкой, это какой-то хардкор.
Ла там шиза, при нем не отключается лимит поворота так что толку от такой мышки никакого действительно. А вот без лимита в симах вполне можно гонять без рулевых асситов.
>Ты противодействуешь возврату руля в нулевую позицию, и если машина живёт своей жизнью, непредсказуемо решая, куда ей крутить руль, тебе становится сложнее ей сопротивляться.
Ты что-то натеоретизировал непонятное, но на практике никаких проблем нет. Ты все равно сам решаешь, куда отклонить руль. Просто не от центрального положения, что глупо, а от положения выбранного машиной, например соотвествуещего направлению движения машины.
>>894714
На реальной карте это будет намного сложнее, чем прямое управление, разве что в пустыне сработает.
Но что-то среднее есть! Называется стабилити контрол, тоже штука из ирл. Машину саму не крутит, только ты рулем можешь ее крутить.
>>894723
>Кстати, это моя Б О Л Ь в GTA Online:
Пиздец, какой интерес сидеть несколько минут смотреть как едешь/летишь по прямой? Ненавижу самолеты.
1920x1080, 0:15
>По-разному, в гонках используется принцип "резинки" (rubber band)
Ну это вообще тут ни при чем, это принцип чтобы они в гонке всегда были рядом с игроком.
> в ГТА по заранее нарисованным путям ездят, как по рельсам. Это ещё не автопилот.
В миссиях да, но там и хороший ии есть, например в ГТА СА в гонках боты работают так: им задается последоватльность из чекпойнтов и целевая скорость для каждого (чтобы тормозили).
Впрочем эти боты довольно безумные и часто бьються. Еще в Драйвере 2 были боты, убегающие от тебя и объезжающий препятсвия. Но сильно более умных я не видел и в современных играх.
Кстати, видеорелейтед - пример из утекшей дебаг версии йобы.
Вообще, институты только-только добились быстрого ИИ на заданной заранее трассе и машине в игре, с возможностью получать все нужные данные. Было какое-то исследование с разрабами Gran Turismo, но до сих пор это полноценно не внедрили, в предстоящем Forza Motorsport обещают, а во всех существующих играх или у ии дикие читы, или он дико медленный.
>Ну это вообще тут ни при чем, это принцип чтобы они в гонке всегда были рядом с игроком.
Тут прикол в том, что именно в гонках (не опен ворлде) вообще можно хранить информацию по другому, не в ворлд спейсе, а относительно позиции игрока.
>надо учитывать - не создадут ли они этим ещё худшую ситуацию.
не пофиг ли? Мы в геймдеве, а не на дороге, надо чтобы просто минимально работало. Можно просто перечислить несколько простых поведений и от них отталкиваться. Худшее что будет - соберется пробка, с чем можно разобраться в системе спавна.
>в ГТА по заранее нарисованным путям ездят, как по рельсам. Это ещё не автопилот.
А-стар - это не автопилот?
Раскладываем точки, где можно проехать, по дорогам, соединяем их в граф, А-старом находим маршрут. Вуаля, все ездят на автопилоте.
У игрока нет автопилота -> он вынужден ехать сам.
@
СЪЕХАЛИТЬ СИМУЛЯТОРОЗАДРОТЫ
@
ОБСУЖДАЮТ АВТОПИЛОТ В ИРЛ ЖИЗНИ
Как знал, что этот тред ни к чему не приведёт...
Но ты не ОП треда.
>какой интерес сидеть несколько минут смотреть как едешь/летишь по прямой?
Лично я вхожу в транс: взгляд расфокусированный, расслабленно о чём-то размышляю - неспешная поездка или полёт через всю карту самое то.
Обычный а-стар не работает для агентов на шасси. Если только не допустить, что машинка у тебя может развернуться на месте по центру масс, как танк. Тогда да, подойдёт обычный а-стар. Но это для совсем стилизованной аркады.
Есть модификация для steering, видел пейпер.у китайца где парковка кораблей реальных рассчитывается
Да я вроде даже ассет платный видел. В любом случае, в опен сорсе готового алгоритма нет, это не самая тривиальная вещь. Так что проще будет симулировать NPC-машинки как танчики, без честных разворотов.
Хотя вот нашёл такой опен-сорс проект
https://github.com/Habrador/Self-driving-vehicle
Не знаю, можно ли пользоваться им, как готовым решением. Скорей всего, ещё нет.
>Обычный а-стар не работает
Кончай троллить, задолбал.
Как, по-твоему, навигатор ИРЛ работает?
Подготовка:
1. Расставляем точки на поворотах.
2. Соединяем точки рёбрами.
3. Расставляем приоритеты.
Решение:
1. Получаем от А-стар маршрут до цели.
2. Едем к точке маршрута по прямой.
3. Приблизившись, переходим к следующей.
4. Повторяем 2-3, пока не доедем до цели.
5. Выбираем следующую цель и переходим к 1.
Если тебе важно, чтобы машины учитывали положение друг друга, перестраивались, уступали дорогу, останавливались на светофорах, объезжали рандомные препятствия, делали разворот на 180 в узком переулке и т.д., то это всё решается локальными методами, которые не имеют отношения к поиску глобального пути. А-стар свою задачу выполнил, построив оптимальный маршрут по доступным для езды дорогам, а дальше другие алгоритмы занимаются локальными решениями, ЕСЛИ эти локальные решения вообще необходимы, ведь за кадром тачки можно просто телепортировать по маршруту и игрок ничего не заметит. В ГТА физика машин включается только вблизи игрока, в гонках скорее всего аналогично, машинам ботов вообще не нужно колёсами крутить для разворота. Тем более тред про аркадные механики, а не честную симуляцию всего что нужно и не нужно. Все эти возражения про какие-то мнимые сложности выглядят как троллинг.
В псевдо3д разве что.
>>894740
Нету тут такого, аркадные гоночки обсуждаем. Но если ты не шаришь в автоспорте то и у тебя и аркада нормальная не выйдет.
>>894746
Начитались своих умных книг и боятся. Я вот возьму и сам изобрету и норм выйдет.
>>894746
И что они, будут как юниты в стратежке мгновенно поворачиваться к следующему чекпойнту? Не прокатит, сложность в том чтобы нарисовать реалистичную (хотя бы на вид) траеткорию, а не в том чтобы провести по ней бота по физону. И наверняка уже есть готовая теория. Не бойтесь реализовывать, опенсорс ему нужен блин.
Я видел веб-сервис куда можно загрузить карту трассы и параметры машины и он нарисует оптимальную траекторию. Не геометрическую, а именно под мощность и сцепление машины!
>>894756
Примерно так я делал в Автоскованности (я юзал юнитевский поиск путей вообще). Ну еще добавил некоторый интеллект, который позволял ботам тормозить, так как сцепление у них не бесконечное. И именно потому что оптимальные пути были вот такие а-старные, а не для тел с инерцией, у игрока был шанс управляя с двух рук двумя машинами, связанными цепью, догнать ботов. Кто не понял: траектория получается очень медленная.
> А-стар свою задачу выполнил, построив оптимальный маршрут по доступным для езды дорогам
Путь построит, а доехать не построит. См. пример. Там нужно рисовать не путь, а manifold, то есть пространство, образуемое движением машины с учётом поворотов корпуса.
>если ты не шаришь в автоспорте то и у тебя и аркада нормальная не выйдет.
Машина в игре - это средство перемещения виртуальной жопы из пункта А в пункт Б быстрее ходьбы. Или для перевозки грузов больше, чем вмещается в карманы.
>ракада
>мощность и сцепление
O RLY? А что на счёт сопротивления воздуха, когда водитель выставляет руку с сигарой из окна? Перемещения центра массы в зависимости от возвратно-поступательных движений водителя и его попутчика за рулём? Уменьшения массы, когда водитель ссыт и срёт, выставляя жопу в окошко на крыше, и увеличения массы, когда на лобовое стекло срут пролетающие птицы? Это всё необходимо учитывать, без этого ракада не будет нормальной.
>траектория получается очень медленная
Ты будешь в шоке, но в городе какую траекторию не возьмёшь, расстояние будет таким же.
https://ru.wikipedia.org/wiki/Расстояние_городских_кварталов
Оптимизировать можно только число поворотов, но А-стар по умолчанию стремится к прямым линиям, добиться от него лесенки сложно.
>См. пример
Хреновый из тебя левел-дизайнер, раз ты нарисовал карту с улицами шириной в легковушку от стенки до стенки и расставил точки маршрута абы как.
Почему бы не нарисовать широкие улицы? А до цели за пределами проезжей части боты пешком дойдут.
Мы о разных ситуациях говорим.
Чтобы ездить по чекпойнтам, расставленным каждые 2 метра, как в ГТА1, даже поиск пути не нужен.
Для навигации ботов между точками на перекрёстках городских кварталов подойдёт астар.
А чтобы агенты могли осуществлять навигацию с учётом статических препятствий, нужно просчитывать путь, рисуя по крайней мере 2-х мерное пространство вдоль потенциального пути и проверять коллизии с ним.
Вообще речь шла об автопилоте машины игрока, а не о ботах. Если игрок по автопилоту ехал-ехал и приехал в ситуацию, как на картинке, то достичь точек 1 или 2 будет нетривиальной задачей, построением кратчайшего пути не обойдёшься.
>Хреновый из тебя левел-дизайнер
Это от игры зависит.
Так мы ии для симсити пишем? Ну тогда больше никаких вопросов.
>ракада
>мощность и сцепление
>O RLY?
Я понял, ты уже неоднократно высказывал такой подход. Можно сделать наотъебись, дебилы, которые играют в "ракады" и так схавают, да?
>А чтобы агенты могли осуществлять навигацию с учётом статических препятствий, нужно просчитывать путь, рисуя по крайней мере 2-х мерное пространство вдоль потенциального пути и проверять коллизии с ним.
Ну и скажу, как я сам делал. Я не просчитывал маняфолд, я сделал кучу ифов, как полагается в настоящем крутом AI. Точка назначения сзади или спереди машины? Справа или слева? Внутри минимального радиуса поворота, или снаружи? Если до точки можно доехать с текущей позиции, то едем. Если нельзя, то ищем точку, с которой можно доехать до искомой точки, и так далее. Это работало почти всегда, кроме самых крайних случаев, когда требуется филигранно вырулить из тупика.
>Можно сделать наотъебись, дебилы, которые играют в "ракады" и так схавают, да?
Какие "мощность и сцепление" в Марио Карт? Там фигурка автомобиля как фишка на карте.
>>894769
ПРОСТО тормозишь перед поворотом и на самой маленькой скорости вписываешься в поворот.
Если не вписываешься, правишь модель машины.
>игрок по автопилоту ехал-ехал и приехал
Это какая-то максимально высосанная из пальца ситуация. Почему игрок не может взять управление на себя и дорулить последние метры сам? Почему игрок не может выйти из машины и пройти пару метров пешком? Почему твой "автопилот" вообще завёл игрока туда, куда боты не забираются, если у них одни мозги на всех (игровой бот по определению является игровым автопилотом)? Столько вопросов, а ответ один - ты выдумал какую-то странную ситуацию чтобы поспорить ради спора.
>>894772
>вырулить из тупика
Если тупик широкий, то просто задом сдаёшь с поворотом, делая разворот на 180, едешь дальше прямо. Это несложно сделать. Если тупик узкий, тогда чуть сложнее логика.
>Почему твой "автопилот" вообще завёл игрока туда, куда боты не забираются
Так ведь некто тут предложил идею - как в РПГ включить автобег и ехать по прямой, пока не уткнёшься в тупик. А я как раз сталкивался с такими ситуациями.
>>894773
>ты выдумал какую-то странную ситуацию чтобы поспорить ради спора
Не я выдумал. Кто-то тут утверждал, что достаточно простого поиска пути
Нет, простого недостаточно (если это не клон ГТА1 или Симсити 2000). Вот, на гитхабе есть алгоритмы под более сложные случаи
https://github.com/teddyluo/hybrid-a-star-annotation
Или можно обходиться костылями, как я, но тогда в уровне надо избегать совсем узких тупиков, где нельзя в один приём развернуть машину.
Ты в мариокарт не то что не играл, но даже на видосах не видел? Или совсем долбоеб? По-твоему это игра про фпс контроллер с бесконечным ускорением (снапается до стены куда нацелишься), который мышкой крутят, и это такая игра на ловкость?
>>893761 →
В гонки не играю, нужен совет знающих.
Я уже накидал полную обёртку для коммерческой игры - гонки. Контроллер, моделька, текстурка, Менюхи, локализации, 2е системы сохранения, завтра вторую доделою с сохранением в блокнот(лол).
Вопрос 1.
Мне нужно разрешать игроку сохраняться в любую секунду на трассе? Это подразумевает полное сохранение в пространстве машины игрока и всех машин на трассе.
Или сохраняться только перед началом трассы?
Вопрос 2.
Игрок будет соревноваться с таймером или с другими игроками? Признаюсь более менее играл в гонки только на денди, формула и там нужно было за время пройти определённое количество кругов, враги там появлялись рандомно и как препятствие.
Или сделать гонку гонку как нфс с жившими ботами, но меня смущает отрицательный опыт детства где я почти всегда ездил один на пустой трассе и боты всегда меня обгоняли. Или я криворукий или это людям нравится?
Короче спрашиваю только из-за того что во втором случае мне нужно будет писать ии ботов, а в итоге это будет пустой тратой времени..
Вопрос 3
Я для рефенсов машины использовал реальные машины прошлого форд 79 года, митсубиси и ещё какую то херню 86 и на всякий случай стоит ли мне менять дизайн машины чтобы меня правообладателя не пидоргули?
>Мне нужно разрешать игроку сохраняться в любую секунду на трассе?
для яндекс.игр - да
>стоит ли мне менять дизайн машины чтобы меня правообладателя не пидоргули?
для яндекс.игр - нет
>Вопрос 1
Честно говоря не припомню ни одной гонки где были бы сохранения. Может на пк на рубеже веков было пара таких. Так что сделай, будет уникальная фича.
>Вопрос 2
Делай как самому нравится, но круто если будут оба режима.
>Вопрос 3
А где выпускать-то будешь? Посмотри нелицензированные машины тех же марок в других играх (не только там а вообще).
И кидай билд на плейтест.
А для стима, консолей, гугл плея надо? Примеры пидарения были?
>Если игрок по автопилоту ехал-ехал и приехал в ситуацию, как на картинке, то достичь точек 1 или 2 будет нетривиальной задачей, построением кратчайшего пути не обойдёшься.
>>894763
>Путь построит, а доехать не построит.
>движением машины с учётом поворотов корпуса.
Можно сделать 360° разворот на месте а-ля танк. Видел такое в градостроительных симуляторах. Автомобиль разворачивается на месте, а потом едет по прямой - тогда никаких застреваний нет.
>inb4 ряяяя нереалистично
Реализм 100%, если у колёс независимый привод. Ну, можно сделать поворот задних колёс симметрично передним, чтобы покрышки меньше снашивались. Или использовать сферические колёса - можно будет даже боком ехать ничуть не хуже, чем прямо.
Нужно просто мыслить нестандартно. Тред с самого начала был про аркадную, нереалистичную физику, а ты зачем-то приплетаешь реалистичную физику. При том что даже с реализмом решение есть.
Вы видите копию треда, сохраненную 12 сентября в 06:29.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.