Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

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

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 3 из 3
На страницу: Пред.  1, 2, 3 | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Концепция времени для глобальной стратегии.»
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10525
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Guest :
Уже реализовано в KMP для KSP.

А как там реализовано разруливание коллизии? Кнопкой Sync? Вселенные делают merge?

Если игрок на Муне оставил луноход в будущем, а на это место в попозже в прошлом кто-то прилетел, то что система делает?

добавлено спустя 1 минуту:
В общем случае KSP хорошо подходит под fork'и, т.к. космос большой и коллизий там немного. Разве если только захотеть в кого-нибудь врезаться.
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (00:38 17-05-2014), всего редактировалось 1 раз
    Добавлено: 00:38 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Minx :
Если игрок на Муне оставил луноход в будущем, а на это место в попозже в прошлом кто-то прилетел, то что система делает?
До синхронизации - ничего, но на Муне виден "призрак будущего лунохода", т.к. луноход к этому времени уже там. Призрак не снабжён с физикой и всё взаимодействие с ним сведено к действию "пыриться".
После синхронизации - merge с известными последствиями.

добавлено спустя 1 минуту:
Minx :
В общем случае KSP хорошо подходит под fork'и, т.к. космос большой и коллизий там немного. Разве если только захотеть в кого-нибудь врезаться.

Фокус в том, что именно последнее действие и интересно с точки зрения мультиплеера. Только ради этого KMP и затевался, т.к. иначе играть можно и "по переписке", безо всякого допонительного кода.
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (00:42 17-05-2014), всего редактировалось 1 раз
    Добавлено: 00:42 17-05-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10525
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Т.е. получается, что столкновение в прошлом не влияет на того, кто в будущем, а для того, кто в прошлом - последствия в его Вселенной..

Почти такой же fork, как у меня (;
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 00:44 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Minx :
Т.е. получается, что столкновение в прошлом не влияет на того, кто в будущем, а для того, кто в прошлом - последствия в его Вселенной..

Почти такой же fork, как у меня (;

Guest :
Уже реализовано в KMP для KSP.

;~]

добавлено спустя 8 минут:
Minx :
получается, что столкновение в прошлом не влияет на того, кто в будущем, а для того, кто в прошлом - последствия в его Вселенной..

Не совсем - для того, кто в будущем, те же последствия после синхронизации. Последствия вообще возникают после синхронизации, т.к. trunk'ом является самое будущее "будущее". Причём форки появляются в тот момент, когда кто-нибудь врубает ускорение времени и в это будущее уходит. И форками являются именно что отстающие. Потому что у "будущего" время не останавливается, и дельта между ними может только расти.

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

Последний раз редактировалось: Guest (01:01 17-05-2014), всего редактировалось 1 раз
    Добавлено: 01:01 17-05-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10525
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Guest :
Не совсем - для того, кто в будущем, те же последствия после синхронизации.

Получается trunk откатывает назад?

Guest :
Потому что у "будущего" время не останавливается, и дельта между ними может только расти.

Почему? А форк не может стать trunk'ом?

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

А в чем фишка геймплея в таком мире, кроме последствий столкновений? Вместо Союз-Аполлон собрать, и конкурировать в одной игре за патенты и контракты?

Получается уходить в будущее совсем не выгодно..
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (01:15 17-05-2014), всего редактировалось 3 раз(а)
    Добавлено: 01:10 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Minx :
Его получается откатывает назад?

Нет. В нём материализуется синхронизирующийся.
"призраков прошлого" у него тоже нет, т.к. ему бессымысленно видеть, где находится прошлое, а дельта достаточно велика, чтобы синхронное ему "будущее" было нереально предсказать.
Minx :
Почему? А форк не может стать trunk'ом?

Нет. Не может. Движение из будущего в прошлое там не изобрели Ой, не могу!..

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

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

Minx :
А в чем фишка геймплея в таком мире, кроме последствий столкновений? Вместо Союз-Аполлон собрать, и конкурировать в одной игре за патенты и контракты?

Это уже зависит от геймплея конь-кретной игры.
В KSP пока нет экономики, поэтому хз что там будет насчёт контрактов. А вот стыковка Союза и Аполло причём в режиме пилотирования обоих кораблей своими игроками - это как раз одна из целей, челенжей и задач KMP.
Алсо, к примеру, можно соревноваться, кто быстрее соберёт, запустит и доберётся до Муны. Причём, что опять же характерно - в реальном масштабе времени, включая конструирование.

добавлено спустя 5 минут:
Ещё тут недавно попадалась какая-то игра с реализацией весьма странных темпоральных боёв. Кажись, где-то на кикстартере и в гринлайте. Если вспомню и найду - дам ссылку.
Там предлагалась возможность сбрасывать войска в недалёкое прошлое на небольшое время контроля, и таким образом влиять на настоящее и будущее противника. Ну и себя тоже. Только я до конца не вкурил, как именно разрешается темпоральная коллизия.
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (01:25 17-05-2014), всего редактировалось 2 раз(а)
    Добавлено: 01:25 17-05-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10525
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Guest :
Нет. В нём материализуется синхронизирующийся.
"призраков прошлого" у него тоже нет, т.к. ему бессымысленно видеть, где находится прошлое, а дельта достаточно велика, чтобы синхронное ему "будущее" было нереально предсказать.

Эм..

Игрок A прилетел на Муну и оставил там корабль, в 01:00. Игрок B прилетел на Муну в 0:30 и видит призрак. Оставляет гранату, и аккуратно улетает. Нажимаем Sync. Игрок A по идее должен столкнуться в своем прошлом (об гранату). И? Как будто ничего не было?

Guest :
Будущее - оно уже детерминировано тем, кто в нём. Поэтому оно и транк. И никак не может стать форком, кроме как ликвидацией и приданием абсолютному забвению того, кто в нём находится.

Чего-то я не понял.

Есть игрок A и игрок B. A запускает время вперед и становится trunk'ом. Потом долго в реальном времени чего-то делает, а тем временем B включает ускорение и обходит во времени игры игрока A. Получается B уходит в будущее и должен стать trunk'ом. Или нет? Там какие-то заморочки синхронизации?

Guest :
Алсо, к примеру, можно соревноваться, кто быстрее соберёт, запустит и доберётся до Муны. Причём, что опять же характерно - в реальном масштабе времени, включая конструирование.

Ну это можно по почте скринштом..
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (01:30 17-05-2014), всего редактировалось 1 раз
    Добавлено: 01:29 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
А, собственно, да, вот она -
Olorin :
В ключе топика ответы на часть вопросов дает подход Achron

Сайт, с видео: http://www.achrongame.com/site/

добавлено спустя 9 минут:
Minx :
Эм..

Игрок A прилетел на Муну и оставил там корабль, в 01:00. Игрок B прилетел на Муну в 0:30 и видит призрак. Оставляет гранату, и аккуратно улетает. Нажимаем Sync. Игрок A по идее должен столкнуться в своем прошлом. И? Как будто ничего не было?

Было. "Прошлое" проецируется на настоящее. Если в момент нажатия игроком B кнопки Sync его "граната" была на месте, игрок A внезапно обнаруживает, что эта "граната" натурально находится в его корабле. Даже если у него уже 4:00 - она появится там именно в момент merge (как и положено при слиянии дерева).
Minx :
Чего-то я не понял.

Есть игрок A и игрок B. A запускает время вперед и становится trunk'ом. Потом долго в реальном времени чего-то делает, а тем временем B включает ускорение и обходит во времени игры игрока A. Получается B уходит в будущее и должен стать trunk'ом. Или нет? Там какие-то заморочки синхронизации?

А, в этом смысле... Да, в этом случае B становится транком, и А должен выбрать симуляцией дельту до него, до того, как он сможет с ним взаимодействовать. Там только одна заморочка - положение "призраков" в пространстве. Т.е. "догонит" ли, летя по той же траектории в процессе ускорения времени, игрок В призрака А (в момент пересечения равного времени этот призрак всё равно исчезнет и призрака начнёт видеть уже А), или нет. По логике - не должен. Реально же в KMP у нас такой ситуации не было, чтобы посмотреть. Когда мы играли, там с синхронизацией клиентов и сервера такая беда была, что призраков было сложно увидеть даже. Играли практически "по переписке", видя только конечные результаты действий друг друга, и старались синхронизироваться почаще, т.к. корабль можно было потерять только так.

добавлено спустя 31 секунду:
Minx :
Ну это можно по почте скринштом..

Это неинтересно Улыбка
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (01:39 17-05-2014), всего редактировалось 2 раз(а)
    Добавлено: 01:39 17-05-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10525
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Guest :
Сайт, с видео: http://www.achrongame.com/site/

Здесь у них есть описание: http://www.achrongame.com/site/achron-and-the-grandfather-paradox.php

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

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

В-третьих, куча балансировки.

добавлено спустя 3 минуты:
Guest :
Если в момент нажатия игроком B кнопки Sync его "граната" была на месте, игрок A внезапно обнаруживает, что эта "граната" натурально находится в его корабле. Даже если у него уже 4:00 - она появится там именно в момент merge (как и положено при слиянии дерева).

Теперь понятно. Коллапса как такового нет, а предметы делают телепорт без анализа коллизий (причинно-следственных связей).
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (01:46 17-05-2014), всего редактировалось 1 раз
    Добавлено: 01:46 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Покурил Achron - получается практически обычная RTS, т.к. время до очередного изменения таймлайна стабильно. Что бы ни пришло со следующей волной "синхронизации", до её фронта сохраняется неизменное "настоящее", а потом наступает "настоящее" того, кто находится раньше по времени (в прошлом). Чем дальше в прошлом (точнее, чем больше дельта) - тем больше потенциально реализуемое преимущество, но тем дороже обходятся операции, дабы свести это преимущество к балансу.
Парадоксы разрешаются только по фронту волны синхронизации.

добавлено спустя 13 минут:
Minx :
Теперь понятно. Коллапса как такового нет, а предметы делают телепорт без анализа коллизий (причинно-следственных связей).

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

Если разрешать причинно-средственные связи, то внезапно оказывается, что корабль А уже разрушен (столкновение с В), а потом не разрушен (В промахнулся с разгоном и не попал), а потом снова разрушен (В поправил траекторию), а затем снова целый (В промахнулся с коррекцией). Как-то внезапно обидно, не находишь? Гы-гы
А тут всё норм - В, нажимая кнопку синхронизации, и зная, что к моменту "настоящего" А его корабль уже должен быть на поверхности, получает на выходе ликвидацию своего корабля как "разбившегося".

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

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

З.Ы.: собственно, "граната" не может взаимодействовать с призраком. Во сколько бы она не была положена.

З.З.Ы.: когда ты применяешь термин "коллизия", я в первую очередь думаю о триггерах физики, а не о темпоральных парадоксах Гы-гы

добавлено спустя 15 минут:
Guest :
Было. "Прошлое" проецируется на настоящее. Если в момент нажатия игроком B кнопки Sync его "граната" была на месте, игрок A внезапно обнаруживает, что эта "граната" натурально находится в его корабле. Даже если у него уже 4:00 - она появится там именно в момент merge (как и положено при слиянии дерева).

Не совсем даже верно написал.
Если в момент Sync (какое бы время там ни было, лишь бы это было прошлое) в форке В "граната" лежала в призраке корабля А (призраки отображают настоящее транка и настоящее всех форков впереди текущего форка по времени!), то она после слияния окажется в реальном корабле А. Только так.

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

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

Последний раз редактировалось: Guest (02:32 17-05-2014), всего редактировалось 5 раз(а)
    Добавлено: 02:23 17-05-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Minx :
Входные данные: каждый игрок живет в своем реальном времени, которое может течь с произвольной скоростью, но не может течь вспять.

Классическая коллизия: игрок A ушел вперед, и игрок B ещё нет; со временем игрок B встречает игрока A (может догоняет, а может его в его прошлом) и вопрос что делать.
Ну, пара геймплейных вариантов есть.
Например выдавать отставшему игроку темпорально-ресурсные плюшки, с помощью которых он может получить преймущества над опережающем игроком.
Другая версия - есть генеральная линия времени, а все кто от неё отрываются (в любую сторону), получают штрафы. Скажем, за сутки должно проходить сутки плюс сутки ускорения. Кто копается в рилтайме - отстаёт и штрафуется. Кто торопистя - тоже самое.
Тут будет зависить от игромеха, какие именно плюшки и какие именно штрафы.
Например если это стратегия, у отстающего игрока считается его проперти, ресурсы и динамика развития за некоторый период времени, после чего экстраполируется на разницу между вторым игроком и предоставляется возможность построить/колонизировать/чегоужтамеще, на выданные плюшки (как этап синхронизации)
_________________
У меня бисера не доxеpа.
    Добавлено: 03:44 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Shirson :
Например если это стратегия, у отстающего игрока считается его проперти, ресурсы и динамика развития за некоторый период времени, после чего экстраполируется на разницу между вторым игроком и предоставляется возможность построить/колонизировать/чегоужтамеще, на выданные плюшки (как этап синхронизации)

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

Вообще ИМХО так:
1) нельзя штрафовать игрока за то, что он играет в удобном ему ритме (пауза, замедленный, реал-тайм, ускоренный). Это штраф на ровном месте и "ни за что".
2) нужно штрафовать того, кто может влиять в односторонем порядке на другого. Классический пример - изменение будущего из прошлого. Штрафовать при этом нужно за действие, иначе см. п.1.
2.1) за абьюзинг тайм-механики надо штрафовать вообще люто бешено. Потому что абьюзить будут, к Ванге не ходи.
3) нельзя поощрять за невмешательство - это демотиватор межигрокового взаимодействия. Так мы мультиплеер в сингл превращаем.

добавлено спустя 1 минуту:
Shirson :
(ох, опять я в это ввязался Рыдания. )

Дропни! Дропни это! Ой, не могу!..
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (09:08 17-05-2014), всего редактировалось 1 раз
    Добавлено: 09:08 17-05-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10525
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Интересным подходом слияния fork'ов, хотя немного трудоемким и не всем понятным, может быть подстраивание обеих Вселенных так, что в точке слияния они идентичны друг другу.

Например есть игрок A и игрок B. Оба они движутся во времени с отличной от нуля скоростью. Если A отстал от B, и начинает приближаться к Вселенной B, то во Вселенных происходят события, которые сближают ветки A и B.

Например, в A произошел захват планеты X. А в B произошел захват планеты Y. Если Вселенные сближаются, то происходят события вида "освобождена/захвачена X/Y", а в merge ветке получается материализуется вклад каждого из игроков.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 22:18 17-05-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Некстати, тут KMP умер и появился DMP. И там используется механизм проецирования прошлого на будущее без лишних кнопок, и это, я вам скажу, хоть и "правильнее" с религиозной точки зрения, но выглядит кошмарно.
Ибо в небесной механике незначительные изменения векторов скоростей в прошлом дают значительный разброс параметров в (отдалённом) будущем. И так для игр делать, пожалуй, не стоит. А то сплошные телепорты...
_________________
Трещит земля как пустой орех
Как щепка трещит броня
    Добавлено: 15:58 25-10-2014   
Канал Игры Мечты: «Концепция времени для глобальной стратегии.»
На страницу: Пред.  1, 2, 3 | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Вот думаю - Х2 запустить, что-ли... Но стыдно. Итак друзья уже подкалывают, когда я говорю, что "работаю" - спрашивают: "Сколько фабрик поставил?" (Viking на работе)

  » Концепция времени для глобальной стратегии. | страница 3
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18