Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Генерация Open World размера вселенной. Как?

Генерация Open World размера вселенной. Как?

Поделиться

Страницы: 1 2 Следующая

KayzerПостоялецwww9 сен. 201720:21#0
Господа специалисты, интересует такой вопрос, что потребуется, чтобы сгенерировать мир размера вселенной?

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


Не пинайте, я friendly.
(пошел поискать примеры желаемого, скоро будут скрины для лучшего понимания сути вопроса)

Андрей5000Постоялецwww9 сен. 201720:44#1
Kayzer
> сгенерировать мир размера вселенной?
А какого размера вселенная?
MixeYaПостоялецwww9 сен. 201721:01#3
Андрей5000
> А какого размера вселенная?
Может автор темы ещё не вкурсе? :-)
KayzerПостоялецwww9 сен. 201721:03#4
MixeYa
foxes

Ой спасибо. Благодаря вам, я продвинулся дальше, чем был час назад.

romgermanПостоялецwww9 сен. 201721:26#5
Kayzer
Ну посмотри на no man's sky и подумай.
SuperInoyПостоялецwww10 сен. 20178:53#6
Kayzer
> что потребуется
вещества. Ну или мозги, тут по вкусу.
KayzerПостоялецwww10 сен. 201712:00#7
SuperInoy
Запостить такое в воскресенье, в 8:53 утра - тут действительно нужны были вещества.
Sbtrn. DevilПостоялецwww10 сен. 201713:51#8
Kayzer
> что потребуется, чтобы сгенерировать мир размера вселенной?
Память в количестве, способном вместить данные о каждом объекте мира размера вселенной. Ваш Копетан.
eugenelozaПостоялецwww10 сен. 201714:32#9
Kayzer
> что потребуется
К сожалению, невнятный вопрос - невнятный ответ...
Понадобится сделать процедурную генерацию, при этом такую, чтобы генерировалась "на лету" по какому-то алгоритму, а не пре-генерировала миры - так никакой памяти не хватит.
Kayzer
> эволюция
"Эволюция" идёт от большого к малому. Я серьёзно. Сначала - группы галактик, потом галактики, потом крупные структуры в галактике, потом звёзды, потом планеты и потом уже всякая мелочь. От малого к большому будете почти бесконечное время генерировать и генерация потребует почти бесконечной памяти. В одной Галактике - около 300 млрд. звёзд, это 3.6 Тб оперативы только на более-менее точные координаты каждой звезды.

П.С. Если возникает такой вопрос, а также на основании "и что там еще в космосе есть", могу предложить сразу забить и не тратить время впустую. Это очень сложная задача как с точки зрения программирования, так и науки. Начните с тетриса.
а так, да No Man's Sky, Space Engine, Space Nerds In Space.

Правка: 10 сен. 2017 14:40

MahagamПостоялецwww10 сен. 201714:38#10
Sbtrn. Devil
> Память в количестве, способном вместить данные о каждом объекте мира размера
> вселенной.
расскажи как на спектруме в 48к памяти в элите были 2048 планет. каждая со своими характеристиками.
MixeYaПостоялецwww10 сен. 201715:48#11
Kayzer
А много денег есть на исходники? А то я знаю людей которые могли бы и продать.
KayzerПостоялецwww10 сен. 201717:01#12
romgerman
> Ну посмотри на no man's sky и подумай.
Посмотрел. Я и раньше на него смотрел. С виду все прикольно, но..
"No Man's Sky uses a proprietary engine developed in-house by Hello Games."
Это раз... второе - про "мультиплеер" там все знают.
Так что эта игра рассматривается только с точки зрения фич.

Sbtrn. Devil
> Память в количестве, способном вместить данные о каждом объекте мира размера
> вселенной. Ваш Копетан.

Это ежу понятно. Про масштабируемость мы в курсе и нам это надо.

eugeneloza
> К сожалению, невнятный вопрос - невнятный ответ...
> Понадобится сделать процедурную генерацию, при этом такую, чтобы генерировалась
> "на лету" по какому-то алгоритму, а не пре-генерировала миры - так никакой
> памяти не хватит.

Согласен, вопрос был невнятный.
Но, как вы видите, встречные вопросы могут многое прояснить.
Я склоняюсь к использованию open source движка(ов).
Писать велосипед нет желания. Форкнуть что-то и развивать под себя - вот наш вектор.

eugeneloza
> "Эволюция" идёт от большого к малому. Я серьёзно. Сначала - группы галактик,
> потом галактики, потом крупные структуры в галактике, потом звёзды, потом
> планеты и потом уже всякая мелочь. От малого к большому будете почти
> бесконечное время генерировать и генерация потребует почти бесконечной памяти.
> В одной Галактике - около 300 млрд. звёзд, это 3.6 Тб оперативы только на
> более-менее точные координаты каждой звезды.

Вы правы в глобальном смысле, но к примеру в момент реального времени, игрок может видеть ограниченное количество пространства а значит ограниченное количество объектов.
Будто то браузер или приложение или софт, данные для игры в него выдается на основании того, где находится игрок и что он видит.
Например вид только одного квартала базы. Только трех отсеков корабля, или только 5 планет.
При этом в зависимости от масштаба игроку выдаются данные только от тех объектов, которые согласуются с машстабом и регионом.
Ну, т.е. нет смысла ему пихать все что есть в мире. А только по требованию.

eugeneloza
> П.С. Если возникает такой вопрос, а также на основании "и что там еще в космосе
> есть", могу предложить сразу забить и не тратить время впустую. Это очень
> сложная задача как с точки зрения программирования, так и науки. Начните с
> тетриса.
> а так, да No Man's Sky, Space Engine, Space Nerds In Space.

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


MixeYa
> А много денег есть на исходники? А то я знаю людей которые могли бы и продать.

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

На текущий момент я присмтриваюсь к нескольким открытым движкам, это:

Multiverse и worldforge. Хотя они "какбы старые". А еще есть проект интересный UNIGINE 2 Engine SDK.
И уверен, есть и другие.

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

Для троллей: Возможно тема загнется как сотни подобных. И вы даже скорее всего предскажете это, но вы должны знать, мне пофиг, "Сабаки лают, а караван идет".

MixeYaПостоялецwww10 сен. 201720:08#13
Kayzer
> Ну, т.е. нет смысла ему пихать все что есть в мире. А только по требованию.
А сервера по вашему безразмерные что-ли?
Да и одно дело офлайновая игра, а другое онлайновая. Вон посмотрите на еву, сколько там проблем решали-решали, так решить и не смогли.
И там заметьте мир очень даже не единый, а разбитый на автономные звёздные системы.

Всё намного сложнее чем вы себе представляете.

Kayzer
> "Сабаки лают, а караван идет"
Тут на вас никто не лаял. Всё сказанное было по делу. Лучше было пару спасибок сказать.

Kayzer
> При этом пусть он будет сильно урезан
Не интересно.

KayzerПостоялецwww10 сен. 201720:13#14
MixeYa
> Не интересно.

Я вас услышал, спасибо.
А мы продолжаем.

У меня сложилось мнение, что на Multiverse растет спрос, но при этом как такового широкого развития тема не получает из-за ограничений в виде малого количества разработчиков в этом проекте.
Может ли кто-то подтвердить или опровергнуть из тех, кто в курсе по теме?

Страницы: 1 2 Следующая

/ Форум / Программирование игр / Физика

2001—2017 © GameDev.ru — Разработка игр