Как реализовать «время пули» в многопользовательской игре?


29

Я никогда не видел такой функции раньше, но она должна обеспечить интересную возможность игрового процесса.

Так что, да, в многопользовательской среде / режиме реального времени (представьте себе FPS), как я могу реализовать эффект замедленного движения / пули?

Что-то вроде иллюзии для игрока, который в настоящее время не работает. Таким образом, все видят его «в реальном времени», но он видит, что все замедлено.

Обновить

Примечание: имейте в виду, что игра FPS должна быть сбалансированной, чтобы она была веселой. Так что да, эта функция времени пули должна быть надежной, давая небольшое преимущество «игроку», но не отнимая у других игроков.

Кроме того, есть вероятность, что два игрока могут активировать время пули одновременно.

Более того:

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

Между тем, здесь, с моей командой, мы тоже думаем об этом, когда наша теория будет разработана, я собираюсь поделиться ею здесь.

Это вообще возможно? Итак, на вопрос «возможно ли это?» Ответили, теперь пришло время найти лучшее решение.

Я держу «ответ» до тех пор, пока не появится что-то исключительно хорошее, например, теория прототипов с чем-то близким к рабочему псевдокоду.

Что говорят физики и философы:

Ссылки для вас интересны, потому что темы закрыты.

https://physics.stackexchange.com/questions/17118/time-traveling-and-time-dilation-within-a-multiplayer-videogame

https://philosophy.stackexchange.com/questions/1704/seeing-everything-in-slow-motion-but-being-real-time

Условия, о которых я думал, когда писал вопрос на сайте физики (скопировано):

  1. Игрок, находящийся под эффектом замедленного движения, имеет преимущество в совершении более точных действий (стрельба, движение и т. Д.) Благодаря тому, что видит все в гораздо более медленном темпе.
  2. Его действия должны влиять на других игроков в режиме реального времени.
  3. Игроки, смотрящие на нашего пострадавшего игрока, не видят никакой разницы, за исключением того, что они могут испытывать действия, которые он совершил (например, игрок получает выстрел / поражается, уклоняется от ракеты).
  4. Когда игрок выходит из этого эффекта, он просто продолжает в том же темпе, что и обычно. (Если это невозможно, я думаю, ему придется страдать, пока время не будет синхронизировано)

Рекомендации по времени пули (замедленная съемка):

К сожалению, большинство реализаций только для одного игрока

http://www.gamesradar.com/a-videogame-history-of-bullet-time/


3
Это уже было успешно сделано в MMORPG The Matrix Online. Вы испытали время пули, сражаясь с противниками, когда вступали в «Интерлок», сражаясь с ними. Это было сделано как с PvE, так и с PvP противниками. Все остальные за пределами Interlock видели «скорость в реальном времени». Комментируя вместо того, чтобы отвечать, потому что у меня нет опыта или знаний, чтобы объяснить, как они это сделали, я просто знаю, что произошло с точки зрения игрока.
FallenAngelEyes

3
Это также присутствовало в FEAR Combat. В мультиплеере был режим игры под названием SloMoDeathmatch. Это бесплатная игра, если я правильно помню, поэтому, если вы хотите попробовать, скачайте ее и посмотрите, осталось ли еще несколько серверов.
alextsc

3
Я не думаю, что утверждение, что вы ждете псевдокод, поможет в ответах. Как только дизайн, который вы хотите, достаточно укреплен, код должен стать очевидным.
Тетрад

1
Кроме того, «Неважно, что нужно» пахнет плохой философией дизайна. Похоже, что вы должны делать это только после того, как вы опробовали (с помощью прототипа или рабочего примера в другой игре) метод, который вы планируете использовать, прежде чем идти вперед.
Тетрад

4
-1 для «Я держу« ответ »до тех пор, пока не появится что-то исключительно хорошее, например, прототип с чем-то близким к рабочему псевдокоду». Не будь придурком.
Тревор Пауэлл

Ответы:


22

Это было сделано раньше. :) Проверьте специалистов , мод полураспада, который имеет два различных бонусов времени пули.

РЕДАКТИРОВАТЬ, чтобы включить информацию zzzzbov ниже

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

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

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


@ Tom IIRC, это открытый исходный код, так что вы должны увидеть, как они это сделали.
Спенсер Рэтбун

Хм, поиск Google не дал никаких результатов об исходном коде. (плюс очень много информации о Специалистах: Источник тоже отображается). Есть ссылка или что-то?
Joltmode

@ Том, я думал, что это было на их веб-сайте, который должен быть связан в статье в Википедии. Если нет, возможно, они сняли его, поскольку несколько лет назад перешли на двигатель HL2. Возможно, вам придется отправить разработчикам электронное письмо, чтобы получить доступ. Конечно, я тоже мог быть вымыт.
Спенсер Рэтбун

Их веб-сайт тоже не работает ..
Joltmode

5
Я собирался добавить тот же ответ, пока не нашел этот. Пулевое время работало в «Специалистах» с точки зрения игрового процесса, заключалось в том, что игрок мог получать бонусы, которые давали бы ограниченное количество «пулевого времени». При использовании пузыря вокруг игрока физика замедляется. Игроки, находящиеся далеко, будут двигаться с нормальной скоростью, но все в пузыре (пули, игроки, взрывы) будет замедляться. Игрок, который использовал усиление, будет двигаться немного быстрее, что позволит ему убежать или использовать трюки, чтобы увернуться от пуль.
zzzzBov

12

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

Время пули существует, потому что вы хотите, чтобы игрок чувствовал себя как задира. Вы даете игроку несправедливое преимущество, имитируя восприятие более высокого уровня. Конечным результатом этого является то, что игроки могут целиться, выполняя крутые вещи, такие как выпрыгивание из укрытия и так далее. Если вы просто ускорили игрока, когда у него включено время пули, вы дадите ему меньше времени для реакции, что противоположно тому, что вы хотите.

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

Теперь, если бы вы были полностью настроены на это, я бы предложил вместо того, чтобы сделать это активируемой игроком функцией, сделать это своего рода «состоянием» столкновения. Подумайте, как фильм Джона Ву, где хороший парень против плохого, и кажется, что все замедляется, когда они стреляют друг в друга. Поэтому, когда начинается «встреча», включите «slo-mo», и вы сможете получить некоторые интересные эффекты. Ребята прыгают вокруг и делают рикошет от пропущенных попаданий пуль, плавающих в воздухе, и все такое. Конечно, это действительно работает только для игры 1 на 1. Вы не получите одностороннего преимущества пули, как в одиночной игре, но это может быть интересным игровым опытом.


1
Возможно, он может быть расширен до более чем 1 против 1, только замедляя людей, которые могут видеть друг друга, а затем, как только кто-то другой увидит их, замедлит их тоже. Таким образом, у всех остальных нормальная скорость, пока они не вступят в бой.
Джордж Дакетт

Вы можете обойти проблему мгновенного прицеливания, ограничив скорость поворота - реальная проблема заключается в том, что в правильной системе никто не должен быть затронут новой системой отсчета; игрок должен видеть только время ускорения пули.
Джонатан Дикинсон

Не замедляйте всех. Замораживайте других игроков, пока время пули почти не истечет. Вы хотите рассчитать его так, чтобы по истечении времени маркера временные линии снова синхронизировались.
Мартин Сойка

Пока это единственный ответ, который охватывает соответствующий момент: вы не ускоряете и не замедляете время. Вы замедляете скорость симуляции, чтобы у игроков было больше времени реагировать и планировать ходы, которые, если бы они выполнялись в режиме реального времени, быстро контролировались. Чтобы сделать эту работу с точки зрения игрового процесса, все участвующие игроки (наблюдающие или участвующие в действии) должны быть замедлены, и все несвязанные игроки (те, которые не находятся поблизости, чтобы наблюдать замедление), будут продолжать играть с нормальной скоростью. Если вы не замедляете всех, кто видит событие, оно будет выглядеть глупо.
MrCranky

В видеоиграх Max Payne в качестве игровой способности используется «время пули». В некоторых играх джедаев Star Wars (наверняка Jedi Knight II) также есть «Force Speed», которая ускоряет вас, замедляя всех остальных (кроме другого пользователя Force Speed).
KeithS

8

Общие мысли

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

Ваша игра должна быть в состоянии обрабатывать отдельные ориентиры - насколько я знаю, чистый эффект этого будет («игрок» - это человек с активным временем пули):

  • Люди, увидевшие игрока, увидят, что они двигаются очень быстро.
  • Игрок будет видеть, как люди двигаются очень медленно.
  • Игрок будет двигаться в прошлое / будущее по отношению ко всем остальным.

К счастью для вас, это означает, что игрок в пулевое время имеет преимущество перед всеми остальными; они не могут быть нацелены на него - однако это не будет убедительным, потому что средний человек не увидит заметной разницы при наблюдении замедления времени.

Я настоятельно рекомендую вам опубликовать это по физике (укажите, что это игра, но вам нужны реальные теоретические знания) и спросить, как бы вы приблизили эффект в параллельной симуляции.

Одно из возможных решений, на которое я хотел бы обратить внимание, заключается в том, чтобы мир догнал игрока (по мере того, как он ушел в будущее), когда каждый испытал бы прогрессивное количество (намного меньше, чем фактическое время пули) времени пули, зависящее от далеко позади (в время) они есть. Таким образом, вы можете приблизить разницу во времени, не имея дело с сохранением прошлого состояния и т. Д. Вам понадобится какой-то способ объяснить этот эффект, «восстановление времени» или что-то в этом роде, потому что это не физически правильно.

Другая идея состоит в том, чтобы злоупотреблять самыми основными физическими уравнениями (s = d/t ), когда игрок попадает во время пули, все становится меньше - если вы вдвое уменьшаете размер всего с его точки зрения, но сохраняете его скорость такой же в соответствии с его исходной системой отсчета (эффективно удвоить его) уравнение все равно будет сбалансировано. Последовательности искривления в космических фильмах используют это расширение пространства, чтобы изобразить эффект, поэтому люди привыкли видеть его.

Актуальное решение

Я дал этому еще больше мысли. Если вы посмотрите, как работает сетевая система Steamworks (есть ли у кого-то ссылка? ), Сервер постоянно опережает время на определенную величину; и каждый клиент знает о «следующем» кадре, к которому он должен интерполировать.

Скажем, например, что сервер на 20 мс опережает всех игроков. Когда игрок вводит время пули, измените его интервал обновления на 40 мс (его симуляция будет выполняться с временными шагами 40 мс, а сервер поставит свои действия в очередь на 40 мс в будущее) - что, в основном, продвинет в будущее по отношению к другим игрокам: в дополнение чтобы заставить его двигаться быстрее от их ссылки и заставить их двигаться медленнее от его. Как только он оставит время пули, предоставьте всем остальным преимущество в 5 мс перед ним, чтобы они могли играть «наверстать упущенное» (это ваши time reboundсовпадения, умные игроки по совпадению опередят время в течение этих периодов догоняющего времени). Может показаться немного лучше, если вы сопоставите параболу с его шагом по времени - это заставит вещи замедляться, останавливаться, а затем постепенно ускоряться снова.

Отказ от ответственности: я не физик, но у меня есть практическое знание относительности.


4

Я хотел добавить свои 0,02 доллара, так как я реализовал прототип режима времени, который работал в многопользовательских играх для Heroes Over Europe .

В одиночной игре нажатие кнопки в нужный момент замедлит время и увеличит масштаб намеченной цели. Я не хотел замедлять глобальное время в многопользовательском режиме для воспроизведения этой функции (поскольку игра должна была поддерживать 16 игроков одновременно), поэтому я использовал метод «пузыря».

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

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

Скорость прохождения времени всегда определялась функционально: учитывая определение сферы, текущее время и положение, можно было определить, как быстро течет время.

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

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

Обратите внимание, что запускающий игрок также был замедлен, но не находился в невыгодном положении: у него был увеличенный обзор цели и он мог повлиять на убийство одним выстрелом на свою жертву. Другой игрок может попытаться убить вас (или убить воровство!) В этом состоянии, но его самолет (и его пули) будут затронуты при входе в пузырь, что даст вам время на побег.

К сожалению, несмотря на то, что это работало, у нас никогда не было времени, чтобы завершить и оттачивать функцию для многопользовательской игры, поэтому она была исключена. (Одиночный игрок все еще сохранил эту функцию, как «Ace Kill».)


2

Не совсем пулевое время, но может быть весело

Как насчет того, как Брэйд замедляет время? Т.е. чем ближе к человеку, который испытывает время пули, тем медленнее идут дела ... и если вы находитесь вне сферы влияния, время течет нормально.

... например, если у игрока А есть время пули, он создает вокруг него градуированную сферу «медленного времени», чтобы он мог правильно прицеливаться, но не обязательно двигаться быстрее - тогда игроку Б, стреляющему в него пулями, придется Слишком предсказуемо, куда попадет пуля, так как она будет замедляться по мере приближения к нему.

Хотя, чем больше я об этом думаю, тем меньше думаю, что это сработает, потому что это может сделать игрока А легкой мишенью (так как его голова замедлится?) - но было бы интересно увидеть его в 3D в любом случае.


1
Интересно, но если пули замедляются по мере приближения к игроку, он должен уклоняться от них.
Joltmode

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

2

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

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

Причина в том, как работает теория относительности; некоторые из вас упоминали об этом и, очевидно, понимают относительность, но проблема в том, что ваши модели настроены неправильно.

Многие люди использовали в своих ответах ссылку «Игрок А против игрока Б», но, к сожалению, ни одна из этих вещей на самом деле не существует. Да, у вас есть игроки, может быть, даже многие из них, и да, они могут контролировать и взаимодействовать со своим миром и иметь собственную перспективу игры, но перспектива не является точкой отсчета во времени: это просто пространство XYZ, спроецированное в XY самолет.

Существует только одна точка отсчета времени, и это сервер (или хост). Существует только один взгляд на физическое состояние мира и, следовательно, только один ориентир. Игроки видят на экране разные графические изображения одного и того же физического моделирования.

Чтобы один игрок мог просматривать симуляцию на одной скорости, а другой - просматривать ту же симуляцию на другой скорости и не иметь рассинхронизации, просто невозможно. Где-то что-то должно дать.

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

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


1

Это было бы очень неловко. Даже не смотря на проблему замедления времени, представьте, что вы - игрок, который потратил 4 секунды в режиме пули, тогда как все остальные участники игры потратили 2 секунды в режиме реального времени. Поскольку в действительности для всех прошло одно и то же время, вам придется каким-то образом «вернуть» эти две секунды в игре. Так что в какой-то момент вам нужно будет «пропустить» 2 секунды игрового времени, или потратить немного времени на бег быстрее, чем обычно, или что-то еще, что, вероятно, сделает время пули пустым.

Плюс ко всему, есть необходимость в том, чтобы отправлять то, что вы делаете, с интервалом в 2 секунды в ваше время назад во времени на 1 секунду всем остальным.


1

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

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


0

Просто замедлите всех остальных, кроме игрока, который испытывает время пули. Вы можете сделать это, просто уменьшив чувствительность мыши.


И как бы это перевести на «сбалансированный игровой процесс»? : D
Joltmode

Он уравновешен, вместо ускорения игрока, окружающий мир замедляется. У игрока будет то же преимущество, если он ускорится, но этот способ более вероятен.
Дерек

0

Допустим, у нас есть игрок A в режиме маркера и игрок B в режиме реального времени. И они делают следующее с точки зрения игрока B:

  • Время 0 с - Игрок A активирует время пули
  • Время 2 с - Игрок A стреляет в игрока B
  • Время 3 с - Игрок Б стреляет в игрока А

Теперь, с точки зрения игрока А, это займет вдвое больше времени - поскольку мир движется медленнее для него:

  • Время 0 с - Игрок A активирует время пули
  • Время 4с - Игрок А стреляет в игрока Б
  • Время 6с - Игрок Б стреляет в игрока А

Наконец сервер получает следующие события:

  • Время 0 с - Игрок А активирует время пули
  • Время 3 с - Игрок B стреляет в игрока A (B инициирует это действие, поэтому оно следует его временной шкале)
  • Время 4 с - Игрок A стреляет в игрока B (A инициирует это действие)

Итак, у нас есть две начальные проблемы. Во-первых, А теперь на 3 секунды отстает от всех остальных. Это может быть интересным игровым механиком, если у вас есть концепция, которая подразумевает, что он должен был погасить этот долг. Представьте себе шутера на основе укрытия, где вы можете активировать время пробивания пули по открытой местности, но как только вы окажетесь в укрытии, вам придется стоять на месте, пока остальной мир не догонит вас (три секунды времени, которые вы пропустили, воспроизводятся )

Вторая проблема гораздо больше. Сервер должен реорганизовать события в хронологическом порядке для каждого игрока и выяснить результат. Сначала Б стреляет в А - это происходит через три секунды после начала игры, и А видит это через 6 секунд - пока проблем нет. В 4 секунды игрок A стреляет в B. На временной шкале B это произошло две секунды назад. Так что же нам делать с двумя секундами игрового процесса, которые уже прошли для него, включая его выстрел в А?

Мы могли бы аннулировать это - в основном сказать: «Я знаю, что игрок B думает он застрелил этого парня, но оказывается, что он уже мертв, поэтому давайте притворимся, что этого никогда не происходило». Это было бы дерьмовым опытом, очень похожим на отставание, но решило бы проблему ,

Мы могли бы сделать Евангелие обоими временными рамками - использовать точку зрения серверов как полную правду и беспокоиться о временной шкале каждого человека независимо. Через 3 секунды Б стреляет в А и убивает его. В 4 секунды A стреляет в B и убивает его. Оба игрока умирают от ударов, которые они не видели. Звучит не очень хорошо, но, возможно, есть хороший способ сделать это после того, как все игроки пройдут краткий курс в безумном мире относительности.

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

Короче говоря, я не думаю, что есть хороший способ использовать пулевое время, рассматривая его в классическом смысле, влияющем на человека, использующего его - они движутся быстрее, они видят мир медленнее, все остальные ведут себя как обычно. Если мы повернем вспять, и все остальные попадут в точку зрения пули-таймера и увидят, что они движутся медленнее, а их элементы управления становятся вялыми, то все это происходит синхронно и проблем не возникает. Но действительно ли это время пули? Хотя это может выглядеть как для стороннего наблюдателя (и при повторных матчах), ни один из участников не получит ожидаемого эффекта.


Это было сделано, и эффект был реальным и заставил вас почувствовать себя богом на несколько секунд (специалист, Макс Пейн 3).
Кату

-1

Нет, это невозможно. Представьте, что один игрок переворачивается, чтобы замедлить движение, что увидят другие игроки? Вы бы хотели, чтобы они видели, как игрок с пулевым временем движется нормально, но имеет молниеносные рефлексы, верно? Но, к сожалению, все, кто играет в игру, будут играть в игру в одном и том же режиме в реальном времени. Поэтому единственным способом сделать это было бы замедлить всю игру, избавившись от любого преимущества, которое она приносит, так как каждый будет в пуля времени. Также было бы довольно неприятно, когда игра замедлялась все время, когда кто-то нажимал на эту кнопку.

Существуют обходные пути, которые приводят к тому, что игроки получают аналогичное преимущество (например, возможность двигаться быстрее и т. Д.), Например, замедляя всех ELSE и давая вам возможность двигаться в обычном режиме (тогда в режиме воспроизведения вы можете ускорить их до нормального уровня и реагировать быстро) но я не думаю, что это действительно то, что вы хотите.


1
Это было сделано раньше, так что сказать, что это невозможно, - вопиющая ошибка.
zzzzBov

@zzzBov буквально невозможно реализовать пулевое время в многопользовательской игре в ее истинном виде. Вы должны будете сначала замедлить всю игру, а затем замедлить фактическое время для всех других игроков в реальном мире. Просто подумай об этом. В качестве обходного пути вам потребуется реализовать некоторые паузы / догоняющие вещи, но в истинном виде это невозможно.
SirYakalot

Вы прав, вернейшая форма времени пули , когда один пользователь запускает на нормальной скорости , а другой во время пули не представляется возможное, однако ОП была после «... [реализации] время эффекта медленного движения / пули», которая уже была сделано раньше.
zzzzBov

@zzzBov "Что-то вроде иллюзии для игрока, который в настоящее время играет на понижение. Таким образом, все видят его" в реальном времени ", но он видит, что все замедлено". Цитируется из оригинального вопроса. Он специально спрашивает, работает ли один пользователь с нормальной скоростью, а другой - во время пули. Это почти дословно то, что он просил, на самом деле.
Тревор Пауэлл

Тот факт, что это уже было реализовано в MP-игре (специалист, Max Payne 3 среди других) несколько лет назад, делает этот ответ недействительным.
Кату

-1

У FEAR было пулевое время в мультиплеере, но это относилось ко всей команде и замедляло всех в другой команде.

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


1
Пока это решение; Мне это не нравится - единственный человек, который должен быть затронут, это игрок, играющий в пулевое время - только то, что спутники наблюдают за тобой как за медленным движением, не означает, что ты двигаешься медленнее в своей собственной системе координат.
Джонатан Дикинсон

Извините, мое предыдущее редактирование звучало немного ювенильно. «Время пули в реальном времени» звучало как противоречие.
Хомяк

-2

Возможно, вам следует установить оборудование, необходимое для стрельбы в игрока, который запускает время полета пули в космос на скоростях, близких к скорости света.

Это решит все ваши проблемы, но может привести к увеличению пинга / задержки.


-3

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


1
Нет ничего плохого в ответах на старые вопросы. Тем не менее, нужно все же стремиться сделать свои ответы хорошими , и этот действительно не предлагает много в плане полного решения, и при этом это действительно не покрывает основание, которое еще не покрыто существующими ответами.
Джош
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.