Welcome, guest. You can be a Login или register
« Previous 1 2 3 Next » | All
Author
Topic title
SupLisEr Fox
Offline
Ведрящийся Владыка
51 posts
Karma 5
Давно интересуюсь этой темой, да и сам работаю над такими фишками (правда, пока ничего рабочего у меня не получилось ;D ).

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

Замедление, и остановка времени просты, как глоток воздуха - для этого достаточно управлять анимацией окружения. Но перескоки от события к событию, правильное и своевременное срабатывание их алгоритмов - это уже намного интереснее и сложнее. Событие совсем необязательно происходит в пустой, заброшенной деревне, где только два персонажа могут находиться, включая протагониста, а может иметь место и внутри огромного города. Расписать распорядок дня для различных горожан, конечно, можно, но ведь там надо отталкиваться непосредственно от самого времени. Закономерный вопрос - как это правильно реализовать? Использовать таймер? С некоторой точки зрения, это может быть неразумно - тогда от внутриигрового времени может стать зависимым уровень производительности, и наоборот - от скорости компьютера зависеть игровое время. Сразу понятно, что такой способ решения задачи является тупиковым. Есть какие-нибудь предложения?
Каждый из нас ничто без себя, как эго ничтожно без своего обладателя, и лишь высшее эго является совокупностью всех прочих эго. Оно ничто, оно все, оно - Бог.
GT-Agressor
Offline
321 posts
Karma 42
Сделать не цельный игровой мир, из которого герой не выпадает все время, а разделить на отдельные миссии. (?)

тогда между миссией А и миссией Б хоть сколько можешь впизать других миссий

//возможно такое решение плохо согласует с концепцией игры, хз как ещё сделать
http://gt-team.blog.ru - мой блог :)
http://q3bers.nm.ru - элементы ретекстура для Q3Bers
VorteX
Offline
prime object
341 posts
Karma 60
2SupLisEr Fox: несмотря на то, что ты сразу отверг таймер как решение, в задаче у тебя ясно сказано, что "событие такое то" длится X часов. То есть в самом условии задачи таймер предусмотрен :) По поводу перемещения во времени - для перемещения назад можно юзать SAVEGAME'ы :), создаваемые на каждом переломном пункте графа событий. Для перемещения вперед - рассчет прогноза на том же графе. Граф событий игры это сюжет (карты) + игровая логика. Анимация как раз тут совершенно ни при чем.

По теме советую посмотреть:
http://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%D0%B6%D0%B8%D0%B7%D0%BD%D1%8C
- Яркий пример игры с временем на чистой математике

И еще один:

http://stalker-game.com/ru/
- В этой игре разработчики попытались применить временное моделирование на практике, оно является частью тамошней системы A-LIFE. Команда STALKER AMK мода расширили возможности A-LIFE по процессингу объектов, находящиеся вне игрового уровня (т.н. оффлайн A-LIFE). В общем на фоне красивостей и багов в дебрях движка происходят перестановки, схожие с игрой "Жизнь" Джона Конвея.

Злопыхателей СТАЛКЕРА прошу воздержаться от комментариев, речь идет не об игре, а о математике, которая в ней используется)
KRIGSSVIN
Offline
930 posts
Karma 53
Закономерный вопрос - как это правильно реализовать?

Точное и своевременное срабатывание каждого события в расписании (допустим, то же расписание граждан) - без...

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

...реализовать не получится. Ну, это и так понятно.

Вопрос - можно сразу перескочить в нужный момент времени или, допустим, есть возможность его плавно ускорить? В первом случае всё можно посчитать точно - на загрузке, - ну а если ускорять - тормозов не избежать. 8)

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

В любом случае, точного результата без точного расчёта не достичь - нужно идти на компромисс.
willow
Offline
Сражён шальной гранатой
570 posts
Karma 56
SupLisEr Fox
Решения есть всегда, тем более когда есть возможность принять нормальное течение времени за единицу. ;)

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

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

Горожане сменят распорядок дня. Кошка перебежит улицу в другом месте. В магазине закончится совсем другой продукт и т.д. Вы украли деньги из сейфа для выкупа? Значит завтра вам преградят дорогу бастующие, требующие зарплаты и вы опять-таки не выплатили деньги за выкуп. Вселенная изменилась и мы должны возвратиться в точку до кражи денег. Но нас в закрытой зоне заметил банкир, что загружал деньги в сейф, вызвал охрану для получения ответов на трудные вопросы. Мы опять не выплатили выкуп. А что будет, если вашей машинкой времени заинтересуется кто-то иной? А ничего!!! Он просто сгинет из этого мира навсегда и создаст свою собственную вселенную ;) А вы останетесь сидеть в изоляторе тщетно ожидая момента окончания выяснения вашей личности ;D

Это то, что прочно сидит у меня в понимании о сути времени, моё ИМХО по вопросу.
KRIGSSVIN
Offline
930 posts
Karma 53
willow
Почитай Жерар Клейн "Боги войны" - крыша поедет ;)
GT-Agressor
Offline
321 posts
Karma 42
Ещё вариент:
если надо разнести так события во времени, то нужно также разнести их в пространстве.

ТЕ событие А происходит в Пункте 1, а событие Б в Пункте 2. Пункт 2 находится в "замороженном состоянии" до прибытия игрока, по прибытию срабатывает триггер, пошло-поехало!

Соответственно событие В происходит в пункте 3. И начинает происходить только если персонаж прибыл в пункт 3. Если он уже в пункте 2, то событие В считается свершившимся.

Но с вольным перемещением во времени становится как-то запутанно...
Внутри одного пункта можно что-то вроде сейв/лоад.
(забавно может выглядеть промотка времени назад в ускоренном темпе)

Как синхронизировать время между пунктами - опрос отдельный
http://gt-team.blog.ru - мой блог :)
http://q3bers.nm.ru - элементы ретекстура для Q3Bers
willow
Offline
Сражён шальной гранатой
570 posts
Karma 56
Бугага!! А кто сказал, что перемещаясь во времени вы перемещаетесь также в пространстве? :) Не, ну хоть бы кто показал в фильме, как ученый оказался бы в открытом космосе без скафандра, или похороненным заживо в стене или под землёй в связи с коррекцией орбиты земли во времени и пространстве ::)

Только представьте, отправляете человека в машине времени неизвестно куда, да и вообще трудно сказать, отправили или просто дезинтегрировали ;D ;D ;D ведь обратно в это измерение он в любом смысле не вернётся

А то что обсуждаете вы, вперёд-назад, перемотка - это всё фантазия по типу магии. Время в своём роде тоже базовый элемент мироздания с которым магия может работать в том числе. Потому как магия может всё, на что способна фантазия сказочника ;)
willow
Offline
Сражён шальной гранатой
570 posts
Karma 56
Конкретные технические предложения по сабжу я предложить не могу, т.к. плохо воспринял саму концепцию и просто не согласен её обдумывать.

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

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

Нужно будет заценить фичу Diablo 3 c локальным замедлением времени.
VorteX
Offline
prime object
341 posts
Karma 60
GT-Agressor: интересная мысль, как будто различные концовки, только игра еще продолжается :)

willow пишет:
Бугага!! А кто сказал, что перемещаясь во времени вы перемещаетесь также в пространстве?
А почему нет?

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

Давайте не выбираться за пределы использования времени В ИГРАХ. Нагородить теорий и ИМХОВ по времени можно сколько угодно, только вряд ли это будет кому-нибудь интересно в этом топике.
« Previous 1 2 3 Next » | All