симулятор вселенной

 
Аватара пользователя
SpaceEngineer
Автор SpaceEngine
Тема Автор
Сообщения: 1041
Зарегистрирован: 22 авг 2016 22:56
Откуда: Санкт-Петербург
Контактная информация:

Концепт геймплея

29 окт 2016 13:43

Если кратко

Космические полёты
Используется ньютонова физика плюс силы гравитации и аэродинамики в атмосфере. Управление возможно в ручном, полуавтоматическом и автоматическом режиме. Расчёт орбит, импульсные перелёты, гравитационные манёвры, торможение в атмосфере, взлёт и посадка. Полёты быстрее скорости света - гипердвигатель.

Исследования
Данные об объектах получаются с использованием телескопов, радаров и т.д. (удалённо), и с использованием зондов (непосредственно). Исследование планет с орбиты: карта, модель рельефа, распределение минералов, свойства и состав атмосферы. Спускаемые зонды: взятие проб грунта, воздуха, воды, выяснение физического состава. Дистанционное управление зондом-ровером (с учётом задержки распространения сигнала). Приземление на планету в челноке, полёты над поверхностью в самолётном режиме, поездка по поверхности на вездеходе, прогулка в скафандре, непосредственное взятие образцов грунта, растений и т.п. Вход в здания и использование их.

Добыча ресурсов
Забор водорода (рабочее вещество для реактивных двигателей) и дейтерия+трития (топливо для термоядерных реакторов) из верхних атмосфер газовых гигантов с использованием магнитной ловушки. Сбор минералов с планет/астероидов добывающими кораблями и доставка их на место строительства.

Строительство
Создание с помощью наноассемблеров и 3D-принтеров кораблей, модулей, блоков на орбите. Материалы доставляются добывающими кораблями. Создание/усовершенствование корабля-носителя с помощью модулей. Создание небольших кораблей или модулей на борту корабля-носителя в нанофабриках. Создание наземных сооружений с помощью наноассемблеров с использованием местных материалов. Саморемонт кораблей и сооружений с использованием "умных материалов" или нанороботов. Ручной ремонт в некоторых сложных случаях.

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

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

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

Подробнее обо всём

Игроку сразу даётся большой корабль-носитель с определённой степенью автономности. Т.е. он может совершать межзвёздные перелёты к ближайшим звёздам (вернее, к звёздам, чья относительная скорость не больше 50 км/с - об этом ниже), несёт 1-2 шаттла для посадки на планету, кучу зондов, и имеет минимальный завод для производства оборудования и модулей. В процессе игры корабль может модернизироваться, но до определённого предела. Когда игрок накопит достаточно средств, он может приобрести корабль получше, с большей степенью автономности и "дальностью" полёта. Некоторые корабли имеют модульную конструкцию, т.е. теоретически могут быть полностью перестроены, некоторые вообще не допускают модернизации (например, атмосферный челнок). Игрок может иметь много кораблей, управляя ими удалённо с того корабля или станции, где он сейчас находится. Связь мгновенная, независимо от расстояния.

Центральная линия геймплея - исследования, корабль оборудован множеством научных приборов - телескопы, радары, спектрографы, спускаемые зонды и т.д. Чтобы исследовать планету, надо запустить на её орбиту несколько зондов, и подождать несколько дней (реального времени!), пока зонды совершат много витков вокруг планеты и обзором будет покрыта вся её поверхность. Чем дольше зондируется планета, тем детальнее информация (например, карта рельефа и распределения минералов). Чтобы получить подробные данные о условиях на поверхности - температура, давление и т.д., необходимо запустить на планету спускаемые аппараты, в т.ч. управляемые удалённо роверы, либо спуститься самому на шаттле (если среда не слишком экстремальная). Зонды могут быть уничтожены большим давлением и температурой, кислотой и т.д. Точность полученных данных зависит от оборудования, которым располагает зонд. Можно взять образцы, в т.ч. биологические, и отвезти на корабль в лабораторию для очень детального исследования, или передать другим игрокам.

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

Кроме исследований, корабль имеет возможность производства на основе наносборки. В частности, достаточно совершенные заводы могут изготовить по частям копию самих себя и всего корабля, который потом может быть собран роботами. Для производства нужны ресурсы - различные химических элементы, которые можно добыть из астероидов и комет с помощью ботов-харвестеров, или на планетах. Завод также может быть построен на планете. Кроме завода, можно строить различные здания, начиная от климатической станции и заканчивая полноценной колонией или городом. Время строительства зависит от объёма работы и от скорости поставки ресурсов. Например, зонд изготавливается на борту корабля за 10 минут, а колония на планете строится за много месяцев. Прекращение поставки какого-то ресурса может вообще остановить строительство.

Колонии заселяются NPC людьми, и могут приносить определённые выгоды игроку. Например, дешевая или очень быстрая заправка, ремонт, строительство; набор экипажа для экспедиций (влияет на работу лабораторий и заводов). Транспортировка NPC для заселения колонии с другой планеты на пассажирском корабле (в т.ч. автоматическая) тоже приносит прибыль. Количество и качество подходящих NPC членов экипажа зависит от населения колонии. В зваисимости от природных условий и уровня развития планеты, на ней может быть маленькая база с двумя роботами или тысячи городов с суммарным населением 10 миллиардов человек. Самые заселённые планеты с самого начала игры - Земля и 10-20 первых колонизированных планет.

Физика полёта - максимально реалистичная. Т.е. Ньютон, гравитация, аэродинамика. Двигатели - реактивные, антигравитации не будет. Соответственно будет понятие удельного импульса, расхода рабочего тела, орбиты и т.д. Поэтому сложность проведения тех или иных исследований или добычи ресурсов будет определяться величиной дельта-V - изменением скорости корабля, необходимым для достижения цели. Т.е. для выхода с орбиты Земли на межпланетную траекторию надо 3 км/с, для взлёта с поверхности Марса на орбиту надо 3.5 км/с плюс 2 км/с для подъёма на высоту и выхода из атмосферы, а чтобы слетать за аммиачным льдом на вот ту комету, надо 18 км/с. Соседние звёзды движутся с относительной скоростью 20-30 км/с, но встречаются и быстрые звёзды со скоростью 100 км/с. Звёзды на другом краю галактики вообще движутся со скоростью 500 км/с относительно текущей звезды. Поэтому если максимальное дельта-V корабля, определяемое объёмом баков, удельным импульсом двигателей, и массой корабля, всего 50 км/с, эти быстрые или далекие звёзды не могут быть достигнуты (точнее, могут, но кораблю не хватит топлива, чтобы затормозить у них).

Т.к. игра сетевая (онлайн), и скорость времени нельзя менять произвольно для каждого игрока, для сокращения времени полёта в игре будет некая разновидность гипердвигателя, работающего как локальный ускоритель времени с сохранением траектории. Например, в реальности для межзвёздного полёта надо всего лишь достичь третьей космической скорости (30-50 км/с) в нужном направлении, но с такой скоростью полёт занял бы тысячи лет. Гипердвигатель даёт такой же эффект, как сжатие времени в авиасимуляторах - весь полёт занимает минуты. С тем лишь отличием, что планеты и звёзды не ускоряются, а проходят по своим орбитам то расстояние, которое обычно и проходят за минуты. Ускоряется лишь корабль, получая эффект сверхсветового движения.

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

Кроме ресурсов для строительства, нужно рабочее тело для двигателей. Обычно это водород, который может быть добыт разными способами. Самый простой - купить на специальной орбитальной заправочной станции. Но достаточно совершенные корабли могут сами себя обслуживать - добывать водород из льда комет или ледяных спутников с помощью харвестеров, либо из атмосфер газовых гигантов с помощью магнитного воздухозаборника. Разные методы и разные модели кораблей делают это с разной скоростью. Самый быстрый - заменить пустой бак на полный на заправке (5 минут), самый долгий - собирать водород из атмосферы гиганта (несколько дней). На некотором этапе игрок сможет строить свои собственные станции с автоматическими харвестерами, курсирующими между станцией и газовым гигантом или ледяной луной. Но в дальних экспедициях в неосвоенных системах придётся тщательно следить за расходом рабочего тела, чтобы не остаться с пустыми баками без возможности вернуться "в цивилизацию".

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

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

Некоторые элементы

Карта

Сначала для сингл-плеера. В движке будет уже реализована многоуровневая карта: галактики > галактика > звёзды > планетная система > система лун планеты > поверхность планеты/луны. Карта по сути представляет собой тот же движок SE, только с другим режимом управления и рендера.

1) На уровне галактик всё рендерится в виде сферы с игроком в центре, вид на сферу "снаружи", галактики видны только в пределах этой сферы, её можно поворачивать и менять радиус колёсиком ("зумить"). Клик на галактике позволяет центрироваться на ней и далее делать зум тем же колёсиком до следующего уровня (галактика).

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

3) В режиме звёзд всё аналогично режиму галактик. Колёсиком меняется радиус отсечки сферы, клик на звезду центрирует её, зум переводит на следующий уровень.

4) На уровне планетной системы отображаются орбиты планет и, возможно, сами планеты в преувеличенном масштабе (можно сделать это отключаемой опцией). Клик на планете центрирует её, зум переводит на следующий уровень.

5) Уровень системы лун планеты - аналогично уровню планетной системы.

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

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

База данных

В движке заводится база данных объектов, которые игрок когда-либо посещал (галактики, планетные системы и т.д.). На карте их надо как-то выделить. Возможность просмотра объекта на карте есть только для тех объектов, которые в этой базе данных. Т.е. например игрок, выбрав незнакомую звезду и зумя на неё, не увидит её планетную систему, а получит сообщение "система не исследована". Чтобы исследовать систему, в неё надо прилететь. Тогда становится доступен уровень планетной системы (аппаратура корабля обнаруживает планеты и вычисляет их орбиты). Но уровень лун остаётся частично не заполнен - надо подлететь к планете, чтоб обнаружить все её луны. Уровень карты поверхности заполняется только при подлёте достаточно близко к планете. Расстояние, с которого становится видна поверхность планеты, зависит от её радиуса, а определение орбиты объекта - от размера орбиты и яркости объекта. Если карта поверхности ещё не доступна, на карте системы (и в браузере системы F2) планета изображается белым шариком с вопросительным знаком на нём или сеткой долгот-широт.

Некоторые проблемы:

1) Невидимая и ночная сторона планеты, облака. Если другое солнце не освещает ночную сторону, то при первом подлёте она будет недоступна на карте. Также недоступна будет та часть поверхности, которая не видна из тех точек, в которых был корабль, или скрыта облаками. Для полного картографирования нужно облететь планету со всех сторон и подождать, пока она завершит полный оборот вокруг оси (это если облака не мешают). Ясное дело, никакой игрок не будет этим заниматься, поэтому на борту корабля будут зонды, которые можно выпустить на орбиту, и отправиться изучать другие системы. Через несколько дней можно вернуться и продолжить исследование планет уже с картой (в бортовом журнале можно просмотреть прогресс исследования разных систем - это аналог долгого строительства чего-нибудь в обычных играх). Для безопасной посадки надо знать топографию (карту рельефа) планеты, она получается зондами с орбиты с помощью радиолокации (облака и ночь для них - не помеха). В режиме карты и обычном режиме движка можно сделать функцию отображения топографии контуром или ещё как-то, накладывающимся на изображение планеты в видимом свете (теоретически можно даже добавить режимы зрения и ИК, УФ и других диапазонах, но это пока слишком сложно). На первом этапе можно конечно пренебречь всеми этими тонкостями, и сделать карту доступной сразу неким волшебным образом. Далее, чем дольше зонды изучают планету, тем больше приходит данных о ней: становится доступна информация о составе атмосферы, погодных условиях, карта минеральных ресурсов. Можно будет запустить спускаемый аппарат и получить панораму поверхности, проанализировать состав грунта и воздуха. Тогда появится информация о наличии жизни на планете.

2) Звёзды в неизученной части галактики. Надо как-то обозначить изученные звёзды и ту область, из которой видны соседние. Проблема в том, что все звёзды имеют разную светимость, а предельная величина, которую может обнаружить телескоп корабля, зависит от экспозиции. Пример: мы прилетели в незнакомую галактику. В процессе полёта телескоп фиксировал самые яркие звёзды, которые видел, и наблюдая их смещение при полёте, вычислял расстояние. Карта будет выглядеть как полоска, начинающаяся от края галактики, и упирающаяся в звезду-цель путешествия. Вокруг этой полоски будут доступны звёзды для зума, причём чем дальше от полоски, тем меньше карликов видно. Сверхгиганты видны чуть ли не через полгалактики, а красные карлики - только рядом с самой полоской-траекторией. По мере полётов в галактике карта будет заполняться. Проблема в том, как это всё реализовать программно и отображать. Это не карта Земли, здесь не будет "белых пятен" - на большом расстоянии от исследованных областей звёзды тоже видны (гиганты), на малом их видно больше (+карлики). Отображать исследованную область каким-нибудь "туманом"? Хороший пример - взгляд извне на каталог звёзд HIPPARCOS в движке (отключите процедурные звёзды, отлетите от Млечного Пути, увеличьте яркость звёзд, и увидите, как распределены звёзды, которые смог увидеть спутник HIPPARCOS). Программная проблема - как генерировать скопление известных звёзд. Нужно запрашивать из базы данных изученные звёзды (посещённые игроком), и траектории полёта корабля, строить граф, и вычислять функцию видимости, зависящую от расстояния до узлов и рёбер графа. Подозреваю, что это будет непосильная вычислительная нагрузка, да ещё и нагрузка на сервер (когда БД будет сетевая). Надо как-то упрощать модель.

3) Астероиды на карте системы. Можно сделать для них отдельный уровень, аналогичный уровню звёзд - видны только ближайшие к кораблю окрестности кольца. Это сильно зависит от того, какой технологией будут сделаны астероиды (статическое или динамическое octree, или просто всего 3000 отдельных астероидов, как сейчас).

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

Мультилеер

Дальнейший шаг - сделать сеть и расположить базу данных на сервере. Например, при зуме на уровень планетной системы появляется надпись "соединение с базой данных Союза Советских Социалистических Систем, загрузка данных...". Если система есть в базе данных, выдаётся информация о том, что в ней изучено. Появляется кнопка "информация", при нажатии пишется имя первооткрывателя, дата открытия, какие планеты исследованы. Можно продолжить изучение системы или воспользоваться готовыми данными для посадки на планеты, добычи ресурсов и т.д.

Те системы, где игрок побывал или запрашивал у сервера, остаются в локальной БД на компьютере игрока. При подключению к интернету новые исследования игрока, которые он сделал в оффлайне, закачиваются на сервер. Тут надо оценить физический объём данных и как быстро БД будет расти.

Игроки смогут засекретить свои исследования. Они могут обмениваться друг с другом информацией о богатых ресурсами или жизнью планетах в своих целях, формируя таким образом альянсы. У каждого альянса будет своя секретная БД. Впрочем, информацию из неё можно будет украсть, заслав разведчика или вирус.

Будет возможность давать имена планетам. За первооткрывателем закрепляется право дать начальное имя планете (если он не засекретил её открытие). Другие игроки могут предложить своё. Тогда в заголовке таблицы с информацией будут перечислены альтернативные имена планеты (как сейчас). Игроки могут также голосовать за то или иное имя, тогда альтернативные имена будут идти в порядке популярности. Также, при обмене данными между игроками, можно поощрять использование имён планет вместо координат, тогда сервер сможет использовать и это для изменения "веса" альтернативного имени.
 
Аватара пользователя
DIMON99
Космический пилот
Сообщения: 90
Зарегистрирован: 25 ноя 2016 09:14

Концепт геймплея

29 янв 2017 13:21

О, а я все думал, когда к нам фанаты Рен-ТВ прибегут.
QR_BBPOST А во вторых автор весьма ограниченно знает о жизни в нашей вселенной
Это вы "ограниченно" знаете о нашей Вселенной. Извините, но эзотерическая фигня не заменит реальных знаний о Вселенной.
Ps. Данный пост профинансирован Госдепом, ЦРУ,ФСБ, Моссадом, водолазами и лично королем планеты Катрук.
 
dvorchuk.i
Космический пилот
Сообщения: 80
Зарегистрирован: 31 дек 2016 17:07
Откуда: Бендеры, Приднестровье

Концепт геймплея

29 янв 2017 14:35

QR_BBPOST О, а я все думал, когда к нам фанаты Рен-ТВ прибегут.
А по моему, это, вообще, очень грамотный вброс. Слишком уж не верится, что в такое люди верят. Даже комментировать это не хочется.
 
Аватара пользователя
Ulmo
Космический пилот
Сообщения: 112
Зарегистрирован: 28 ноя 2016 13:01

Концепт геймплея

29 янв 2017 22:08

QR_BBPOST Потому что не по наслышке знаю о жителях других миров.
Спасибо за простыню текста, но фантастику и фэнтези я предпочитаю читать в виде сюжетных романов и повестей, но не феерических откровений астральных летчиков
 
Аватара пользователя
EchoTango
Космический пилот
Сообщения: 130
Зарегистрирован: 26 ноя 2016 00:23

Концепт геймплея

29 янв 2017 23:45

QR_BBPOST Потому что не по наслышке знаю о жителях других миров.
Блин! Я что-то пропустил! ranon уже удалил свой пост, но мне аж зудит узнать что он "не по наслышке знает о жителях других миров".
Вах! Первый контактер на форуме!
Если не можешь откровенничать о сокровенном знании, то я тебя понимаю. Может аннигилировать оставленный алиенами анальный знод. Ну, тогда, хоть просто опиши, как выглядели жители других планет.
Умоляю.
 
i240586649
Космический турист
Сообщения: 20
Зарегистрирован: 28 ноя 2016 15:12

Концепт геймплея

30 янв 2017 14:52

QR_BBPOST Если будут любые вопросы присылайте пожалуйста сюда или мне на почту.
Вопросов на самом деле много, а вот хотя бы писать грамотнее или прогонять свой опус через средневековый word знания не позволяют? Ну вроде как некультурно, с таким-то глубочайшим уровнем познания бытия. Ну и ладно, не могу удержаться, вопрос: откуда вы все это знаете, источник?
#спасибозаSpaceEngine
 
Аватара пользователя
RomFil
Космический пилот
Сообщения: 121
Зарегистрирован: 09 дек 2016 18:09

Концепт геймплея

27 май 2017 16:20

насчёт техники по грунту, вот интересный проект нашёл,что то типа аутерры,только мне этот более понравился  http://forum.spaceengine.org/ru/viewtopic.php?f=11&t=69 там есть и грузовики,воздушный,водный транспорт и космический шатл смоделирован,управление жесть но довольно интересная реализация,видимо разраб делал больше программу чем какой то игровой проект
 
Alone
Наблюдатель
Сообщения: 4
Зарегистрирован: 14 июн 2017 17:07

Концепт геймплея

14 июн 2017 17:13

ниче так пример гамплея
Млечный Путь система Орион 12
обнаружена Аномальная Руда требует Исследования для выявления Уникальных Качеств ID
Цена СверхВысокая на Теневом Рынке в М31 системе Нептун 77
Стоимость Исследования 3 А.Е.Cr.
будете исследовать Да/Нет
пруф : Аномальная Руда пригодна для производства Тау-Титана как теневая броня для кораблей
 
Alone
Наблюдатель
Сообщения: 4
Зарегистрирован: 14 июн 2017 17:07

Концепт геймплея

14 июн 2017 17:14

Изображение
 
Аватара пользователя
Stranger
Космический пилот
Сообщения: 120
Зарегистрирован: 31 мар 2017 16:45

Концепт геймплея

16 июн 2017 10:40

Почему вы предлагаете в качестве темы игры сбор ресурсов? Это самое скучное. Вы хотите space engine превратить в счастливый фермер?
 
Аватара пользователя
Stranger
Космический пилот
Сообщения: 120
Зарегистрирован: 31 мар 2017 16:45

Концепт геймплея

16 июн 2017 10:47

Прочитал январский комент от сумасшедшего :D На самом деле для игры можно использовать осторожненько идеи психбольных, так иногда делают,и всё фентези кстати так появилось.Просто он не написал ничего интересного, пространство то, пространство это, бла-бла, нечего взять даже если бы хотели.
 
Аватара пользователя
RomFil
Космический пилот
Сообщения: 121
Зарегистрирован: 09 дек 2016 18:09

Концепт геймплея

16 июн 2017 22:51

есть же унылый спейс энжинерс,майнкрафт в космосе 
 
Аватара пользователя
Ulmo
Космический пилот
Сообщения: 112
Зарегистрирован: 28 ноя 2016 13:01

Концепт геймплея

17 июн 2017 23:44

QR_BBPOST Почему вы предлагаете в качестве темы игры сбор ресурсов?
Возможно потому, что это самое простое для понимания и реализации, что можно предложить
 
Аватара пользователя
Payload
Строитель Миров
Сообщения: 705
Зарегистрирован: 12 дек 2016 12:24
Контактная информация:

Концепт геймплея

22 июн 2017 16:11

Подумал, и вот еще одна фича

Возле Черных Дыр время игры игрока (относительно игровой вселенной) должно замедлятся. Видимо, игрок должен очень долго падать в ЧД. Если игрок включит гипер, он сможет ускорить посещение окресностей ЧД.
Почему это так? Потому что мы ускоряем время относительно игровой вселенной, которая "без времени" и неизменна. А возле ЧД время _должно_ замедляться.
АКБ "Щиты и фермы" \ RSE Discord \ XP i86, AMD Phenom 4GB DDR, AMD HD 7700 1GB
 
Аватара пользователя
Payload
Строитель Миров
Сообщения: 705
Зарегистрирован: 12 дек 2016 12:24
Контактная информация:

Концепт геймплея

11 июл 2017 11:59

возле ЧД время _должно_ замедляться.
UPD.потому что тут пространство же исажается и мы это видим. Соответсвенно, искажается весь пространственно-временной континуум, время замедляется для наблюдателя..
АКБ "Щиты и фермы" \ RSE Discord \ XP i86, AMD Phenom 4GB DDR, AMD HD 7700 1GB
 
Аватара пользователя
SpaceEngineer
Автор SpaceEngine
Тема Автор
Сообщения: 1041
Зарегистрирован: 22 авг 2016 22:56
Откуда: Санкт-Петербург
Контактная информация:

Концепт геймплея

11 июл 2017 12:06

Для мультиплеера, очевидно, это не годится. Корабль будет разрушаться задолго до попадания в область заметного замедления времени.
 
Аватара пользователя
Payload
Строитель Миров
Сообщения: 705
Зарегистрирован: 12 дек 2016 12:24
Контактная информация:

Концепт геймплея

11 июл 2017 19:48

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

Но.
т.к. физическая v = dl / dt , а пространство искривлено - dt' уменьшается (dt' < dt), dl' растет (dl' > dl) в соответствии с теорией (C == dl' / dt' == dl / dt, v == dl' / dt' == dl / dt)

при v < C
dl' = v * dt' - фактическое пройденное расстояние уменьшится, фактическая(эффективная) скорость(v') упадет

при v => C (включили гипердвижок)
dl'' = v * dt'' - фактическое пройденное расстояние => пройденное расстояние обычном пространстве, эффективная скорость(v'') => физ. скорости
Корабль будет разрушаться задолго до попадания в область заметного замедления времени.
А возле сверхмассивных ЧД? У них градиент поля разве не мал? Жаль, если так...
АКБ "Щиты и фермы" \ RSE Discord \ XP i86, AMD Phenom 4GB DDR, AMD HD 7700 1GB
 
Аватара пользователя
Вася
Наблюдатель
Сообщения: 2
Зарегистрирован: 01 авг 2017 19:20
Откуда: Одесская обл, Болградский Р-н.
Контактная информация:

Концепт геймплея

08 авг 2017 00:37

Если кратко

Космические полёты
Используется ньютонова физика плюс силы гравитации и аэродинамики в атмосфере. Управление возможно в ручном, полуавтоматическом и автоматическом режиме. Расчёт орбит, импульсные перелёты, гравитационные манёвры, торможение в атмосфере, взлёт и посадка. Полёты быстрее скорости света - гипердвигатель.

Исследования
Данные об объектах получаются с использованием телескопов, радаров и т.д. (удалённо), и с использованием зондов (непосредственно). Исследование планет с орбиты: карта, модель рельефа, распределение минералов, свойства и состав атмосферы. Спускаемые зонды: взятие проб грунта, воздуха, воды, выяснение физического состава. Дистанционное управление зондом-ровером (с учётом задержки распространения сигнала). Приземление на планету в челноке, полёты над поверхностью в самолётном режиме, поездка по поверхности на вездеходе, прогулка в скафандре, непосредственное взятие образцов грунта, растений и т.п. Вход в здания и использование их.

Добыча ресурсов
Забор водорода (рабочее вещество для реактивных двигателей) и дейтерия+трития (топливо для термоядерных реакторов) из верхних атмосфер газовых гигантов с использованием магнитной ловушки. Сбор минералов с планет/астероидов добывающими кораблями и доставка их на место строительства.

Строительство
Создание с помощью наноассемблеров и 3D-принтеров кораблей, модулей, блоков на орбите. Материалы доставляются добывающими кораблями. Создание/усовершенствование корабля-носителя с помощью модулей. Создание небольших кораблей или модулей на борту корабля-носителя в нанофабриках. Создание наземных сооружений с помощью наноассемблеров с использованием местных материалов. Саморемонт кораблей и сооружений с использованием "умных материалов" или нанороботов. Ручной ремонт в некоторых сложных случаях.

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

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

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

Подробнее обо всём

Игроку сразу даётся большой корабль-носитель с определённой степенью автономности. Т.е. он может совершать межзвёздные перелёты к ближайшим звёздам (вернее, к звёздам, чья относительная скорость не больше 50 км/с - об этом ниже), несёт 1-2 шаттла для посадки на планету, кучу зондов, и имеет минимальный завод для производства оборудования и модулей. В процессе игры корабль может модернизироваться, но до определённого предела. Когда игрок накопит достаточно средств, он может приобрести корабль получше, с большей степенью автономности и "дальностью" полёта. Некоторые корабли имеют модульную конструкцию, т.е. теоретически могут быть полностью перестроены, некоторые вообще не допускают модернизации (например, атмосферный челнок). Игрок может иметь много кораблей, управляя ими удалённо с того корабля или станции, где он сейчас находится. Связь мгновенная, независимо от расстояния.

Центральная линия геймплея - исследования, корабль оборудован множеством научных приборов - телескопы, радары, спектрографы, спускаемые зонды и т.д. Чтобы исследовать планету, надо запустить на её орбиту несколько зондов, и подождать несколько дней (реального времени!), пока зонды совершат много витков вокруг планеты и обзором будет покрыта вся её поверхность. Чем дольше зондируется планета, тем детальнее информация (например, карта рельефа и распределения минералов). Чтобы получить подробные данные о условиях на поверхности - температура, давление и т.д., необходимо запустить на планету спускаемые аппараты, в т.ч. управляемые удалённо роверы, либо спуститься самому на шаттле (если среда не слишком экстремальная). Зонды могут быть уничтожены большим давлением и температурой, кислотой и т.д. Точность полученных данных зависит от оборудования, которым располагает зонд. Можно взять образцы, в т.ч. биологические, и отвезти на корабль в лабораторию для очень детального исследования, или передать другим игрокам.

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

Кроме исследований, корабль имеет возможность производства на основе наносборки. В частности, достаточно совершенные заводы могут изготовить по частям копию самих себя и всего корабля, который потом может быть собран роботами. Для производства нужны ресурсы - различные химических элементы, которые можно добыть из астероидов и комет с помощью ботов-харвестеров, или на планетах. Завод также может быть построен на планете. Кроме завода, можно строить различные здания, начиная от климатической станции и заканчивая полноценной колонией или городом. Время строительства зависит от объёма работы и от скорости поставки ресурсов. Например, зонд изготавливается на борту корабля за 10 минут, а колония на планете строится за много месяцев. Прекращение поставки какого-то ресурса может вообще остановить строительство.

Колонии заселяются NPC людьми, и могут приносить определённые выгоды игроку. Например, дешевая или очень быстрая заправка, ремонт, строительство; набор экипажа для экспедиций (влияет на работу лабораторий и заводов). Транспортировка NPC для заселения колонии с другой планеты на пассажирском корабле (в т.ч. автоматическая) тоже приносит прибыль. Количество и качество подходящих NPC членов экипажа зависит от населения колонии. В зваисимости от природных условий и уровня развития планеты, на ней может быть маленькая база с двумя роботами или тысячи городов с суммарным населением 10 миллиардов человек. Самые заселённые планеты с самого начала игры - Земля и 10-20 первых колонизированных планет.

Физика полёта - максимально реалистичная. Т.е. Ньютон, гравитация, аэродинамика. Двигатели - реактивные, антигравитации не будет. Соответственно будет понятие удельного импульса, расхода рабочего тела, орбиты и т.д. Поэтому сложность проведения тех или иных исследований или добычи ресурсов будет определяться величиной дельта-V - изменением скорости корабля, необходимым для достижения цели. Т.е. для выхода с орбиты Земли на межпланетную траекторию надо 3 км/с, для взлёта с поверхности Марса на орбиту надо 3.5 км/с плюс 2 км/с для подъёма на высоту и выхода из атмосферы, а чтобы слетать за аммиачным льдом на вот ту комету, надо 18 км/с. Соседние звёзды движутся с относительной скоростью 20-30 км/с, но встречаются и быстрые звёзды со скоростью 100 км/с. Звёзды на другом краю галактики вообще движутся со скоростью 500 км/с относительно текущей звезды. Поэтому если максимальное дельта-V корабля, определяемое объёмом баков, удельным импульсом двигателей, и массой корабля, всего 50 км/с, эти быстрые или далекие звёзды не могут быть достигнуты (точнее, могут, но кораблю не хватит топлива, чтобы затормозить у них).

Т.к. игра сетевая (онлайн), и скорость времени нельзя менять произвольно для каждого игрока, для сокращения времени полёта в игре будет некая разновидность гипердвигателя, работающего как локальный ускоритель времени с сохранением траектории. Например, в реальности для межзвёздного полёта надо всего лишь достичь третьей космической скорости (30-50 км/с) в нужном направлении, но с такой скоростью полёт занял бы тысячи лет. Гипердвигатель даёт такой же эффект, как сжатие времени в авиасимуляторах - весь полёт занимает минуты. С тем лишь отличием, что планеты и звёзды не ускоряются, а проходят по своим орбитам то расстояние, которое обычно и проходят за минуты. Ускоряется лишь корабль, получая эффект сверхсветового движения.

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

Кроме ресурсов для строительства, нужно рабочее тело для двигателей. Обычно это водород, который может быть добыт разными способами. Самый простой - купить на специальной орбитальной заправочной станции. Но достаточно совершенные корабли могут сами себя обслуживать - добывать водород из льда комет или ледяных спутников с помощью харвестеров, либо из атмосфер газовых гигантов с помощью магнитного воздухозаборника. Разные методы и разные модели кораблей делают это с разной скоростью. Самый быстрый - заменить пустой бак на полный на заправке (5 минут), самый долгий - собирать водород из атмосферы гиганта (несколько дней). На некотором этапе игрок сможет строить свои собственные станции с автоматическими харвестерами, курсирующими между станцией и газовым гигантом или ледяной луной. Но в дальних экспедициях в неосвоенных системах придётся тщательно следить за расходом рабочего тела, чтобы не остаться с пустыми баками без возможности вернуться "в цивилизацию".

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

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

Некоторые элементы

Карта

Сначала для сингл-плеера. В движке будет уже реализована многоуровневая карта: галактики > галактика > звёзды > планетная система > система лун планеты > поверхность планеты/луны. Карта по сути представляет собой тот же движок SE, только с другим режимом управления и рендера.

1) На уровне галактик всё рендерится в виде сферы с игроком в центре, вид на сферу "снаружи", галактики видны только в пределах этой сферы, её можно поворачивать и менять радиус колёсиком ("зумить"). Клик на галактике позволяет центрироваться на ней и далее делать зум тем же колёсиком до следующего уровня (галактика).

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

3) В режиме звёзд всё аналогично режиму галактик. Колёсиком меняется радиус отсечки сферы, клик на звезду центрирует её, зум переводит на следующий уровень.

4) На уровне планетной системы отображаются орбиты планет и, возможно, сами планеты в преувеличенном масштабе (можно сделать это отключаемой опцией). Клик на планете центрирует её, зум переводит на следующий уровень.

5) Уровень системы лун планеты - аналогично уровню планетной системы.

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

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

База данных

В движке заводится база данных объектов, которые игрок когда-либо посещал (галактики, планетные системы и т.д.). На карте их надо как-то выделить. Возможность просмотра объекта на карте есть только для тех объектов, которые в этой базе данных. Т.е. например игрок, выбрав незнакомую звезду и зумя на неё, не увидит её планетную систему, а получит сообщение "система не исследована". Чтобы исследовать систему, в неё надо прилететь. Тогда становится доступен уровень планетной системы (аппаратура корабля обнаруживает планеты и вычисляет их орбиты). Но уровень лун остаётся частично не заполнен - надо подлететь к планете, чтоб обнаружить все её луны. Уровень карты поверхности заполняется только при подлёте достаточно близко к планете. Расстояние, с которого становится видна поверхность планеты, зависит от её радиуса, а определение орбиты объекта - от размера орбиты и яркости объекта. Если карта поверхности ещё не доступна, на карте системы (и в браузере системы F2) планета изображается белым шариком с вопросительным знаком на нём или сеткой долгот-широт.

Некоторые проблемы:

1) Невидимая и ночная сторона планеты, облака. Если другое солнце не освещает ночную сторону, то при первом подлёте она будет недоступна на карте. Также недоступна будет та часть поверхности, которая не видна из тех точек, в которых был корабль, или скрыта облаками. Для полного картографирования нужно облететь планету со всех сторон и подождать, пока она завершит полный оборот вокруг оси (это если облака не мешают). Ясное дело, никакой игрок не будет этим заниматься, поэтому на борту корабля будут зонды, которые можно выпустить на орбиту, и отправиться изучать другие системы. Через несколько дней можно вернуться и продолжить исследование планет уже с картой (в бортовом журнале можно просмотреть прогресс исследования разных систем - это аналог долгого строительства чего-нибудь в обычных играх). Для безопасной посадки надо знать топографию (карту рельефа) планеты, она получается зондами с орбиты с помощью радиолокации (облака и ночь для них - не помеха). В режиме карты и обычном режиме движка можно сделать функцию отображения топографии контуром или ещё как-то, накладывающимся на изображение планеты в видимом свете (теоретически можно даже добавить режимы зрения и ИК, УФ и других диапазонах, но это пока слишком сложно). На первом этапе можно конечно пренебречь всеми этими тонкостями, и сделать карту доступной сразу неким волшебным образом. Далее, чем дольше зонды изучают планету, тем больше приходит данных о ней: становится доступна информация о составе атмосферы, погодных условиях, карта минеральных ресурсов. Можно будет запустить спускаемый аппарат и получить панораму поверхности, проанализировать состав грунта и воздуха. Тогда появится информация о наличии жизни на планете.

2) Звёзды в неизученной части галактики. Надо как-то обозначить изученные звёзды и ту область, из которой видны соседние. Проблема в том, что все звёзды имеют разную светимость, а предельная величина, которую может обнаружить телескоп корабля, зависит от экспозиции. Пример: мы прилетели в незнакомую галактику. В процессе полёта телескоп фиксировал самые яркие звёзды, которые видел, и наблюдая их смещение при полёте, вычислял расстояние. Карта будет выглядеть как полоска, начинающаяся от края галактики, и упирающаяся в звезду-цель путешествия. Вокруг этой полоски будут доступны звёзды для зума, причём чем дальше от полоски, тем меньше карликов видно. Сверхгиганты видны чуть ли не через полгалактики, а красные карлики - только рядом с самой полоской-траекторией. По мере полётов в галактике карта будет заполняться. Проблема в том, как это всё реализовать программно и отображать. Это не карта Земли, здесь не будет "белых пятен" - на большом расстоянии от исследованных областей звёзды тоже видны (гиганты), на малом их видно больше (+карлики). Отображать исследованную область каким-нибудь "туманом"? Хороший пример - взгляд извне на каталог звёзд HIPPARCOS в движке (отключите процедурные звёзды, отлетите от Млечного Пути, увеличьте яркость звёзд, и увидите, как распределены звёзды, которые смог увидеть спутник HIPPARCOS). Программная проблема - как генерировать скопление известных звёзд. Нужно запрашивать из базы данных изученные звёзды (посещённые игроком), и траектории полёта корабля, строить граф, и вычислять функцию видимости, зависящую от расстояния до узлов и рёбер графа. Подозреваю, что это будет непосильная вычислительная нагрузка, да ещё и нагрузка на сервер (когда БД будет сетевая). Надо как-то упрощать модель.

3) Астероиды на карте системы. Можно сделать для них отдельный уровень, аналогичный уровню звёзд - видны только ближайшие к кораблю окрестности кольца. Это сильно зависит от того, какой технологией будут сделаны астероиды (статическое или динамическое octree, или просто всего 3000 отдельных астероидов, как сейчас).

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

Мультилеер

Дальнейший шаг - сделать сеть и расположить базу данных на сервере. Например, при зуме на уровень планетной системы появляется надпись "соединение с базой данных Союза Советских Социалистических Систем, загрузка данных...". Если система есть в базе данных, выдаётся информация о том, что в ней изучено. Появляется кнопка "информация", при нажатии пишется имя первооткрывателя, дата открытия, какие планеты исследованы. Можно продолжить изучение системы или воспользоваться готовыми данными для посадки на планеты, добычи ресурсов и т.д.

Те системы, где игрок побывал или запрашивал у сервера, остаются в локальной БД на компьютере игрока. При подключению к интернету новые исследования игрока, которые он сделал в оффлайне, закачиваются на сервер. Тут надо оценить физический объём данных и как быстро БД будет расти.

Игроки смогут засекретить свои исследования. Они могут обмениваться друг с другом информацией о богатых ресурсами или жизнью планетах в своих целях, формируя таким образом альянсы. У каждого альянса будет своя секретная БД. Впрочем, информацию из неё можно будет украсть, заслав разведчика или вирус.

Будет возможность давать имена планетам. За первооткрывателем закрепляется право дать начальное имя планете (если он не засекретил её открытие). Другие игроки могут предложить своё. Тогда в заголовке таблицы с информацией будут перечислены альтернативные имена планеты (как сейчас). Игроки могут также голосовать за то или иное имя, тогда альтернативные имена будут идти в порядке популярности. Также, при обмене данными между игроками, можно поощрять использование имён планет вместо координат, тогда сервер сможет использовать и это для изменения "веса" альтернативного имени.
 
Аватара пользователя
Вася
Наблюдатель
Сообщения: 2
Зарегистрирован: 01 авг 2017 19:20
Откуда: Одесская обл, Болградский Р-н.
Контактная информация:

Концепт геймплея

08 авг 2017 00:51

Предложение оптимизировать автоматическое управление кораблями.Возникает такая проблема после взятия управления над кораблём и управление им некоторое время , я переключаюсь на планету объект на орбите которого находится корабль .Проблема в том что камера чтобы я не делал продолжает двигаться по вектору корабля , даже если корабль остаётся на орбите а я пролетаю сотни световых  лет в противоположную сторону. Проблема исчезает при взятии управления над другим кораблём.Вот такой интересный момент я обнаружил в этой прекрасной вселенной.
 
Аватара пользователя
Chaprek
Наблюдатель
Сообщения: 5
Зарегистрирован: 06 авг 2017 21:50
Откуда: Тула

Концепт геймплея

08 авг 2017 21:27

Будет ли возможность называть не только планету но и материки реки горы острова и т. п. ?

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей