Здравствуйте! Я тут новенький, по-этому строго не судите. Сначала разместил свой пост здесь, но потом решил вынести его сюда: http://spaceengine.org/forum/6-314-1
Сообщение отредактировал LShadow77 - Пятница, 11.01.2013, 01:01
Мне кажется здесь есть маленькая недоработка: а почему бы не сделать допустим такую фичу: игрок создает телескоп, запускает его на орбиту (до этого на картах как таковых обьектов нету никаких. Ну кроме разве что каталожных обьектов.) и исследует процедурно генерируемые обьекты. В этом самая главная суть SpaceEngine: иследовать неизученное (в данном случае процедурно генерируемые объекты) это будет дополнительный стимул не просто запустить ракету на не то чтобы не изученую, а даже неизвестную планету. Может я нового ничего этим не сказал, не знаю...
SpaceEngineer, упс... Каюсь, я об этой теме подзабыл чуток, простите
Добавлено (09.10.2013, 11:55) --------------------------------------------- brainstorm, я сам так же думаю, но ты просто представь: лечу туда, хрен знает куда... Такой тип "приключений" явно не нужен в космосе. Серьезно.
В этой неизвестности и кроется вся романтика космических странствий ИМХО!
Согласен, это и отличает SE от просто космических игр. Романтика открытий.
Цитата (mr-coloboc)
В этом самая главная суть SpaceEngine: иследовать неизученное (в данном случае процедурно генерируемые объекты) это будет дополнительный стимул не просто запустить ракету на не то чтобы не изученую, а даже неизвестную планету. Может я нового ничего этим не сказал, не знаю...
Такой телескоп, который видит подробно планеты на другом конце вселенной, ну это слишком... Тогда вообще можно не летать в космосе, а смотреть в телескоп.
Сообщение отредактировал alex - Среда, 09.10.2013, 23:50
2) Звёзды в неизученной части галактики. Надо как-то обозначить изученные звёзды и ту область, из которой видны соседние. Проблема в том, что все звёзды имеют разную светимость, а предельная величина, которую может обнаружить телескоп корабля, зависит от экспозиции. Пример: мы прилетели в незнакомую галактику. В процессе полёта телескоп фиксировал самые яркие звёзды, которые видел, и наблюдая их смещение при полёте, вычислял расстояние. Карта будет выглядеть как полоска, начинающаяся от края галактики, и упирающаяся в звезду-цель путешествия. Вокруг этой полоски будут доступны звёзды для зума, причём чем дальше от полоски, тем меньше карликов видно. Сверхгиганты видны чуть ли не через полгалактики, а красные карлики - только рядом с самой полоской-траекторией. По мере полётов в галактике карта будет заполняться. Проблема в том, как это всё реализовать программно и отображать. Это не карта Земли, здесь не будет "белых пятен" - на большом расстоянии от исследованных областей звёзды тоже видны (гиганты), на малом их видно больше (+карлики). Отображать исследованную область каким-нибудь "туманом"? Хороший пример - взгляд извне на каталог звёзд HIPPARCOS в движке (отключите процедурные звёзды, отлетите от Млечного Пути, увеличьте яркость звёзд, и увидите, как распределены звёзды, которые смог увидеть спутник HIPPARCOS). Программная проблема - как генерировать скопление известных звёзд. Нужно запрашивать из базы данных изученные звёзды (посещённые игроком), и траектории полёта корабля, строить граф, и вычислять функцию видимости, зависящую от расстояния до узлов и рёбер графа. Подозреваю, что это будет непосильная вычислительная нагрузка, да ещё и нагрузка на сервер (когда БД будет сетевая). Надо как-то упрощать модель.
Хм, если в бд записывать каждую звезду, которую игрок "видит" во время полета, то потребуется очень много ресурсов. Ведь помимо координат звезды, нужно будет передавать на сервер и записывать в бд ее свойства, тип, спект и другие параметры.. Т.е. те свойства, которые необходимы потом будут для повторного отображения. Можно даже попробовать посчитать, какой трафик будет генерировать 1 игрок за полет. Вангую, что огромный. А таких игроков онлайн сотни или даже тысячи (я надеюсь будет популярным
Вероятно, нужно как-то ограничивать скорость записи новых звезд/галактик в бд. Например, чтобы занести в бд новую звезду/галактику не достаточно просто увидеть или пролететь мимо нее, а нужно изучить - телескопом, спектрографом и другими инструментами. Но в любом случае со временем таких объектов наберется очень много. Вероятно, нужно еще как-то ограничивать и одновременную видимость таких звезд на карте. На небосводе, вероятно, проще, т.к. можно грузить только те звезды, которые "видны".
Тут кстати, можно и подумать про выбор субд. Наверное при таких объемах mysql будет лагать, да и наверное вообще реляционный подход будет не верным. У меня даже появилось несколько интересных мыслей по организации хранения таких данных.
"записывать в бд ее свойства, тип, спект и другие параметры.." - НЕТ. Эти данные изначально уже есть в БД как сам генератор ЅЕ. Единственно нужно будет каждому объекту (будь то планета, звезда или часть ланшафта) присваивать и сохранять параметр открытости/закрытости информации о нем (+возможно присвоенное наименование). Но даже при таком раскладе объем бд будет стремиться к безконечности. Думаю движок ЅЕ (он же безусловный генератор) может быть использован только как целостная и открытая вселенная. Все имхо и некомпетентно, но из-за такого понимания я и поражаюсь планам ЅЕr-a
Ну почему же? Вы ведь понимаете как и когда пограмма генерит звезды, планеты, ланшафт и их характеристики. И что при едином сиде они генеряться идентично у всех пользователях программы. При этом генерация происходит только видимых объектов с текущего положения игрока локальной программой игрока. Никакого обращения к серверной бд не предвидиться (окромя цивилизационной наполненности наигранного по ходу игры мира - который уже сам по себе с учетом безконечного мира потянет на дохремного). Хотя в глобальных планах ЅЕr-а еще и частично закрытый (он же частично открытый) мир.
И что при едином сиде они генеряться идентично у всех пользователях программы.
Ну вот в этом я сомневаюсь чего-то. Хотя не знаю как это реализовано, возможно вы правы. Но что-то мне подсказывает, что в генерацию подмешен псевдогенеротор случайных чисел, который при каждом запуске программы херачит все по новой.
Еще немного оффтоп: Для меня это было вторым и не меньшим шоком от программы SE вселенная идентична у всех пользователей, полностью, без исключений,
в т.ч. и малейшие ньюансы ланшафта. Например посетите планету (можно использовать F3) с именем RS 0-5-8007-1235-1373-9-28217429-1 5, достигните момента времени 01.01.2000 около 00:00:00 чч:мм:сс, станьте в околозенитной точке и посмотрите на освещенную сторону планеты (возможно только полюсация будет сдвинута) и сверьте с моим скином: прилагается. Можете также сверить и все численные характеристики планеты. Координаты также можно передавать более удобным путем (через F6).
В связи с этим советую обмениваться своими находками в соответствующих темах форума, не забывать вылаживать их координаты, дабы и другие могли их посетить, а также посещать интересные места указанные другими пользователями