Гиперпрыжки
|
|
Elekt | Дата: Воскресенье, 15.07.2012, 08:47 | Сообщение # 121 |
Наблюдатель
Группа: Пользователи
Российская Федерация
Сообщений: 13
Награды: 0
Статус: Offline
| Quote (Wormer) мы можем заглядывать в прошлое и будущее объектов Прошлое мы можем увидеть, удаляясь от объекта на сверхсветовой, но как же увидеть будущее? Мне кажется, что приближаясь к объекту на сверхсветовой мы, так сказать, переходим из прошлого в настоящее, или я чего-то не понимаю?
|
|
| |
Dizel777 | Дата: Воскресенье, 15.07.2012, 09:01 | Сообщение # 122 |
Строитель Миров
Группа: Модераторы
Российская Федерация
Сообщений: 800
Награды: 4
Статус: Offline
| Elekt, Ну вроде все правильно... Строго говоря, при подлете к объекту, мы будем видеть его в "ускоренной перемотке" из его прошлого до его настоящего
Win 7 Ultimate 64-bit SP1 AMD Phenom II X4 945 Processor 4GB RAM, NVIDIA GeForce GTS 250
|
|
| |
Wormer | Дата: Воскресенье, 15.07.2012, 18:06 | Сообщение # 123 |
Космический турист
Группа: Пользователи
Российская Федерация
Сообщений: 27
Награды: 0
Статус: Offline
| Quote (Elekt) Прошлое мы можем увидеть, удаляясь от объекта на сверхсветовой, но как же увидеть будущее? Мне кажется, что приближаясь к объекту на сверхсветовой мы, так сказать, переходим из прошлого в настоящее, или я чего-то не понимаю? Да, из прошлого в настоящее. Именно это и имелось в виду, как его не называй.
|
|
| |
SpaceEngineer | Дата: Среда, 18.07.2012, 01:11 | Сообщение # 124 |
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
| Нет, в SE нет ограничения на дальность рендера звёзд, и нет такого понятия как текущая галактика. Можно с Земли навестись на туманность Андромеды и увидеть в ней звёзды. Есть лишь ограничение на предельную звёздную величину, чтобы не перегрузить движок.
За миллион лет в лучшем случае состарятся и взорвутся лишь самые массивеные звёзды-сверхгиганты. Для звёзды типа Солнца миллион лет - просто пшик. Какие-то изменения будут заметны лишь при межгалактическом полёте.
Вообще, при обычном полёте (без телескопа, увелчения предельной звёздной величины и т.д.) дальность видимости солнцеподобной звезды - всего десятки светолет, поэтому эволюционными эффектами можно пренебрежечь.
В SE нет базы данных, и она не нужна в принципе. В этом сила процедурной генерации. Всё, что нужно для генерации объекта в SE - это его ID (название звезды - это RS и длинный номер-ID). Поэтому сервер будет хранить лишь ID объекта, который исследовпл игрок. Серверу больше ничего знать не надо.
|
|
| |
Wormer | Дата: Четверг, 19.07.2012, 01:43 | Сообщение # 125 |
Космический турист
Группа: Пользователи
Российская Федерация
Сообщений: 27
Награды: 0
Статус: Offline
| Понятно. Здорово, что нет ограничения на дальность рендера звёзд и всё решает лишь их яркость. Только я не совсем понимаю на счёт базы данных, ведь если у нас синглплеер, то это более менее оправдано: объекты, которые ты не посетил как-бы существуют лишь на небосводе, но дальнейшая информация генерируется постепенно только при более детальном их исследовании. Однако, правильно ли я понимаю, что для мультиплеера это означает, что игроки, прилетевшие в одну галактику сгенерируют разные карты звёздного неба и будут видеть его по-разному? Одинаково для них будут выглядеть (и иметь положение на небосводе) лишь звёзды, которые были посещены какими-либо игроками, правильно?
И вопрос: складывается ли звёздная светимость от множества мелких объектов, находящихся в близи на небосводе и каждый из которых не виден по отдельности, в "туманную" светимоть точки неба?
Сообщение отредактировал Wormer - Четверг, 19.07.2012, 01:47 |
|
| |
Dizel777 | Дата: Четверг, 19.07.2012, 02:04 | Сообщение # 126 |
Строитель Миров
Группа: Модераторы
Российская Федерация
Сообщений: 800
Награды: 4
Статус: Offline
| Wormer, SpaceEngineer, А я думал что в SE процедурные объекты генерируются по одной формуле, подобно фракталам, ну, то есть всегда одинаково.........или нет?!
Win 7 Ultimate 64-bit SP1 AMD Phenom II X4 945 Processor 4GB RAM, NVIDIA GeForce GTS 250
Сообщение отредактировал Dizel777 - Четверг, 19.07.2012, 02:04 |
|
| |
ZIHAMMER1411 | Дата: Четверг, 19.07.2012, 11:06 | Сообщение # 127 |
Звёздный Инженер
Группа: Пользователи
Российская Федерация
Сообщений: 1220
Награды: 8
Статус: Offline
| Quote (Dizel777) Wormer, SpaceEngineer, А я думал что в SE процедурные объекты генерируются по одной формуле, подобно фракталам, ну, то есть всегда одинаково.........или нет?! Quote (Wormer) Одинаково для них будут выглядеть (и иметь положение на небосводе) лишь звёзды, которые были посещены какими-либо игроками, правильно?
У всех все будет ОДИНАКОВО. Мы же можем скинуть place любого места, и у любого другого человека это место будет точно таким же (если использована одна версия).
|
|
| |
Mefistofel | Дата: Пятница, 20.07.2012, 00:42 | Сообщение # 128 |
Исследователь
Группа: Команда SE
Пират
Сообщений: 173
Награды: 0
Статус: Offline
| Quote (Dizel777) Wormer, SpaceEngineer, А я думал что в SE процедурные объекты генерируются по одной формуле, подобно фракталам, ну, то есть всегда одинаково.........или нет?! Почти. Тут скорее речь идет о комплексе псевдослучайных генераторов и наборах правил. Я думаю, что в виде просто "формул" представить генератор сложновато. Один алгоритм генерирует звезды - их кооординаты, массу, свойства и другие характеристики. Из ряда этих параметров(которые сами по себе являются уникальным ID) другой генератор(ну может не совсем другой, но по другим правилам) по правилам подбирает и строит звездную систему - сколько будет объектов, как они распределены и какие спутники имеют. Заодно - псевдослучайные наборы ключей для генерации планет. Уже на их основе и по пришедшим сверху параметрам планет генерируется поверхность планет. Получается такой сложный мегофрактал. Вселенная, сгенерированная из одного зерна, всегда будет везде одинаковой. Естественно, только в случае, когда будут точно совпадать все алгоритмы и правила генерации.
|
|
| |
slicem | Дата: Вторник, 28.08.2012, 10:53 | Сообщение # 129 |
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 64
Награды: 0
Статус: Offline
| Кстати, это печально, в целом. Скорость света. Игрок действительно видит не настоящее, а прошлое. Прилететь за 10 минут к галактике и увидеть тоже, что происходило 2миллиарда лет назад, это не верно... Почитал немножко эту тему, это уже упоминалось.
Считаю, что сделать эволюцию звезд можно процедурно. Там, вроде, несложные алгоритмы, если не вдаваться сильно глубоко в детали, главная последовательность и всё такое. В таком случае, состояние звезды будет меняться динамически по мере изменения расстояния до неё. Стартовали к красному гиганту, прилетели к белому карлику.
Узким местом, является возврат. Т.е. Улетели от белого карлика. Издали видим его как красный гигант. Когда вернёмся должны увидеть тоже что и когда улетали... гиганта. Надо держать её состояние на момент отлёта в памяти.. Хотя, насколько я понимаю, оно так и делается с посещёнными системами.
Но у нас куча звёзд на небосклоне, и мы движемся относительно них тоже. И может получиться, что соседняя с этим карликом звезда, будет менять состояние при каждом посещении... запоминать их тоже?
Об изменении пространственного положения, вроде говорилось, что никак. Но может всемогущие процедуры помогут и здесь?Добавлено (28.08.2012, 10:53) --------------------------------------------- Предложение по процедурному алгоритму:
Итак имеется база звезд, галактик и т.п. И у них, вроде, должен быть вектор. Алгоритм движения по сути простой - гравитация, а по факту сложный - много их - взаимовлияющих объектов.
Так вот. По идее, основные массивные объекты (галактики) известны. Если построить некую упрощённую структуру, то можно добавить в описание звезды её структурную принадлежность, и считать её положение относительно этой структуры, игнорируя влияние прочих объектов. По сути уйти от вектора к орбите и расчету положения на ней.
Усложнит этот алгоритм тот факт, что галактики во первых тоже движутся, и во вторых, у них-то уже далеко не всегда орбиты.
Ну и главным вопросом тут наверное будет даже не производительность, а повторяемость.
|
|
| |
Elekt | Дата: Вторник, 28.08.2012, 11:35 | Сообщение # 130 |
Наблюдатель
Группа: Пользователи
Российская Федерация
Сообщений: 13
Награды: 0
Статус: Offline
| Quote (slicem) Стартовали к красному гиганту, прилетели к белому карлику. Динамическая эволюция звезд это, конечно, интересно, но чтобы ее осуществить это забот по горло. Для начала можно обойтись и без эволюции. Пример: Мы находимся на некотором расстоянии от гиганта (допустим, 10 000 св. лет). При таком большом расстоянии звезда видна просто как точка на небе и увидеть, что она является гигантом или карликом невооруженным глазом мы никак не можем. Другое дело если мы посмотрим на звезду в супер-пупер телескоп. В этом случае должно произойти простое вычисление, тобишь, мы находимся на расстоянии 10 000св. лет. 10 000 лет назад, она была просто звездой главной последовательности (г.п.), движок это обдумывает, генерирует звезду г.п. и помещает ее на отдельный уровень, в который мы смотрим через телескоп. Технически это будто мы смотрим не на нашего гиганта, а вообще в другой мир (карту, уровень, как удобнее понимать) в котором генерируется звезда нужного нам типа. Это позволит уменьшить нагрузку на машины, к тому же вряд ли кто-то будет наблюдать миллионы лет за звездами. А вот реализовать перемешение звезд в пространстве будет сложнее...
|
|
| |
slicem | Дата: Вторник, 28.08.2012, 11:50 | Сообщение # 131 |
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 64
Награды: 0
Статус: Offline
| Я может чего путаю, но когда в игре кликаешь на звезду, её тип рисуется сразу же. Можно, конечно интерпретировать это так, что суперпупер компьютер нам говорит не её видимое состояния, а то какой она будт, когда мы к ней прилетим. Проверить то всё равно нельзя. Вот, кстати и решение. Чем рисовать алгоритмы, найти подходящее объяснение :). Но с движением положением на небосклоне этот номер уже не так катит "не верь глазам своим"(с) :).
Сообщение отредактировал slicem - Вторник, 28.08.2012, 11:52 |
|
| |
ZIHAMMER1411 | Дата: Вторник, 28.08.2012, 12:32 | Сообщение # 132 |
Звёздный Инженер
Группа: Пользователи
Российская Федерация
Сообщений: 1220
Награды: 8
Статус: Offline
| А можно просто нарушить законы физики и оставить всё как есть сейчас, например где-нибудь появилась сверхновая, и наблюдатель её видит сразу же, даже если он находится на другом краю галактики. Этакая фишка.
Сообщение отредактировал ZIHAMMER1411 - Вторник, 28.08.2012, 12:32 |
|
| |
slicem | Дата: Вторник, 28.08.2012, 12:41 | Сообщение # 133 |
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 64
Награды: 0
Статус: Offline
| Это не конструктивно :). Кстати, а в SE есть сверхновые? Чтоб в процессе?
|
|
| |
ZIHAMMER1411 | Дата: Вторник, 28.08.2012, 12:53 | Сообщение # 134 |
Звёздный Инженер
Группа: Пользователи
Российская Федерация
Сообщений: 1220
Награды: 8
Статус: Offline
| Есть тумманости (крабовидная) Quote (slicem) Чтоб в процессе? Пока что нет.
Сообщение отредактировал ZIHAMMER1411 - Вторник, 28.08.2012, 12:53 |
|
| |
SpaceEngineer | Дата: Вторник, 28.08.2012, 17:46 | Сообщение # 135 |
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
| Quote (slicem) Итак имеется база звезд, галактик и т.п. Нет никакой БД. Она есть только для реальных объектов, а остальные триллионы генерятся на ходу по мере появления в области видимости.
Quote (slicem) Алгоритм движения по сути простой - гравитация Нифига себе простой. Вы слышали о задачи N тел и её вычислительной сложности?
Quote (slicem) Усложнит этот алгоритм тот факт, что галактики во первых тоже движутся, и во вторых, у них-то уже далеко не всегда орбиты. Усложнит этот алгоритм тот факт, что звёзды используют восьмеричное дерево для генерации и рендера. Т.е. они не сущестуют, пока их узел не станет виден. Если звёзды движутся, дерево должно быть динамическими как бы 4-мерным, чтобы учесть время. Траектории звёзд в галатике это отнюдь не окружности, моделировать их честно конечно не получится (решением задачи N тел просто невозможно, но и решением интегрального уравнения движения в модели глобального гравитационного поля галактики - тоже), но хотя бы реализовать новый тип "рельсов" необходимо. В общем проблема близка к проблеме камней в колцах - нужно динамическое дерево с генерацией только того что видно в данный момент в данном конусе.
|
|
| |