412

Ответ на пост «Карибы [Высокое разрешение]»1

Ответ не совсем на пост, а на комментарий @madbad95:

Предыстория

Наигрался я в Medieval 2 Total War настолько, что захотелось большего размаха кампании. Во всех Total War есть проблема позднего этапа игры — становится скучно играть, когда твоя империя занимает половину карты и доминирует над всеми. Нет никакой интриги, дальнейший ход истории определяется исключительно игроком. Было бы круто видеть, что параллельно на другом конце света тоже происходит движуха, возникают и распадаются огромные империи без вмешательства игрока. Отсюда появилась идея сыграть на карте планетарного масштаба. Движок M2TW не позволяет делать моды с картой такого размера достаточной детализации(страны получаются слишком мелкими), поэтому я стал смотреть другие стратежки. И обнаружил, что почти все они играются на плоской карте.

Много лет в свободное время интересуюсь разработкой игр, и естественно напрашивается мысль "нет такой игры — сделай её сам". Так я стал экспериментировать со сферической игровой картой.


История


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

Картинка из проекта Procedural Planet Generation.


Далее сферу надо как-то текстурировать. Пошел по пути M2TW. Там есть карта в которой цветами обозначены различные типы поверхностей: красный для моря, зеленый для полей, черный для степей, серый для пустыни и тд.

Каждый цвет в игре покрывается своей текстурой.

Взял карту покрытий Земли с сайта NASA, текстурки вытянул из M2TW, натянул на сферу, добавил освещение и звёздный фон для красоты, и вот первый результат:


Горы плохо видно, надо их как-то выделить. Взял карту высот, и путем нехитрых манипуляций в GIMP получил текстуру, в которой затемнены неровности. Получился эффект наподобие SSAO:

Текстуры грузятся в самом высоком разрешении которое может переварить видеокарта — 16384х8192. Для снижения нагрузки сфера генерируется низкой детализации, а вблизи включается динамическая тесселяция:

На этом этапе обнаружилась проблема. Для достижения необходимого уровня детализации нужны текстуры огромного разрешения, каждая из них в памяти занимает 384мб, соответственно карта высот + карта покрытий + затенение съедают весь 1гб видеопамяти моего дохлого ноутбука.

Но ведь нам нет необходимости держать в памяти карты максимального разрешения. Нужно только то, что видно сейчас на экране. Значит, делим карты на куски и подгружаем только видимые из них. Это — принцип работы мегатекстур, вы могли видеть мегатекстуры в игре Rage(2011).

С мегатекстурами удалось достичь разрешения 65536х32768, с размером куска 256x256, 7 уровней детализации, всего 43690 кусков. И главное — можно вручную определять, сколько видеопамяти займет кэш текстур. 100мб хватило на всё.

Таким образом, если смотреть с максимального отдаления на всю планету целиком, используется два куска с общим разрешением 512х256, при приближении камеры брались куски более высокого разрешения.


Текстуры из M2TW выглядят колхозно. Взял спутниковые снимки NASA и нарезал текстуры с них:


А не взять ли просто спутниковые снимки? С одной стороны, визуально это будет лучший результат который вообще можно представить. С другой, я делаю не просто визуализацию Земли, а игру, здесь нужна возможность динамически менять текстуры в зависимости от игрового процесса: смена сезонов, опустынивание полей и тд. У NASA есть спутниковые снимки Земли на каждый месяц, а значит есть возможность сделать хотя бы смену сезонов. Собственно, ради этого видео и писался весь пост:

0с — обзор планеты целиком
20с — как работает динамическая тесселяция
30с — скорость подгрузки новых кусков мегатекстуры
1мин — смена сезонов
1мин45сек — как работает мегатекстура. разрешение всех квадратов одинаковое.

Результат эксперимента меня не устроил, потому как изменение климата происходит скачкообразно. Грубо говоря, у нас есть по одному дню с каждого месяца и происходит скачок состояния сразу на месяц вперед. А хотелось вот такого:

Гифка из проекта earthgen.

Проект был отложен в долгий ящик, прошло уже почти три года, но посты @WhiteBlackGoose провоцируют вернуться и попытаться сделать что-нибудь подобное, с тенями, годным освещением и качественным ландшафтом.

Карты

1.2K постов5.1K подписчиков

Правила сообщества

Привет, картограф. Добро пожаловать в наше сообщество! Главное правило - указывай источник, если карта не твоя.


Правила:

Начиная с 3 июня:

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


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


Рекомендации:

- Если карта сделана вами, ставьте [мое].

- Ссылки на ваши соц. сети разрешены.

- Рекомендуется также давать источник на данные, если карта - визуализация чего-либо.



Если какие-то проблемы, вопросы, можно звать @admoders. День рождения 08.05.2020

21
DELETED
Автор поста оценил этот комментарий

Вероятно вы хотите написать "что ж ты ирод поганый кормишь нас скриншотами, давай демку":
1. Мегатекстуры весят 14гб, сомневаюсь что кто-то будет качать это только чтобы пару минут повертеть планету.
2. В гугл мапсе карта высот таки есть, и даже более высокого разрешения чем на снимках NASA которыми я пользовался. Только её не видно издалека, т.к. там реальный масштаб, а у меня и @WhiteBlackGoose в художественных целях высота гор увеличена на порядки. Чтобы посмотреть рельеф на планете, в гугл мапсе переключаетесь на спутник, жмете ЛКМ+Ctrl и максимально уводите курсор мыши вверх.

Иллюстрация к комментарию
Иллюстрация к комментарию
14
Автор поста оценил этот комментарий

Дайте уже человеку поиграть в стратегии от Paradox

раскрыть ветку (1)
15
DELETED
Автор поста оценил этот комментарий

Собственно из критики стратегий парадоксов у меня и родился материал для собственной игры, а сферический ландшафт это приятный бонус. Если писать в посте все подробности, получилось бы в несколько раз больше текста вперемешку на разные темы, а хотелось написать конкретно про рендеринг планеты.

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

Автор поста оценил этот комментарий

1. я один не понял о чем писал автор ?

2. где игра ?

раскрыть ветку (1)
7
DELETED
Автор поста оценил этот комментарий

1. в сообществе Карты выкладывают рендеры различных регионов Земли. человек попросил не плоскую карту, а всю планету целиком. пару лет назад я экспериментировал с рендерингом планеты, о чём и рассказал в посте, с детальным описанием процесса разработки.
2. пост для сообщества Карты и речь только про рендеринг ландшафта. поэтому я говорил только о графической части. всё что готово на данный момент - в этом посте, остальное пока в виде планов на бумаге.

0
Автор поста оценил этот комментарий

Вау, ты считал сколтко нужно вложений? Я бы тебе помог чем смог, сам о такой игре мечтаю) джва года и более жду такую

раскрыть ветку (1)
2
DELETED
Автор поста оценил этот комментарий

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

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

показать ответы
1
Автор поста оценил этот комментарий

Если нужна будет помощь обращайся я на этом деле повернут Настольная игра собственного сочинения

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Хорошо.

0
Автор поста оценил этот комментарий

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

Когда-нибудь эхо цивилизации донесет до тебя существование Empire: Total War. Но ещё не скоро.

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Уже лет 10 в неё играю =)

1
Автор поста оценил этот комментарий
Можешь ещё посмотреть как смену времени года сделали в Dominions 5 . Только карту выбирай с зимней маской.
раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Спасибо за наводку!

0
DELETED
Автор поста оценил этот комментарий

Хех, неплохо. Самое высокое разрешение физической карты, что я находил на сайте NASA - 86400x43200, странно, что у тебя немного по-другому.

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

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий
Самое высокое разрешение физической карты, что я находил на сайте NASA - 86400x43200, странно, что у тебя немного по-другому.

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

С другой стороны, следующий шаг размера мегатекстуры - 128к х 64к, что заняло бы в 4 раза больше места на харде, почти 60гб.

Получается исходники должны быть ещё большего разрешения.

Поэтому выбрал 64к х 32к как наилучшее соотношение по цене/качеству.

Планетку я втихаря тоже рисовал, на самом деле, но пришел к выводу, что это не так интересно и красиво, как я ожидал. Может у тебя что-то прикольнее выйдет
Да мне тоже не интересно. Дальнейшие эксперименты с игрой направил по пути отказа от рендеринга всей планеты, сконцентрировавшись на отображении отдельного сектора. Работа с реальными снимками Земли загоняет в строгие рамки, а я хочу сделать универсальное решение, как это обычно бывает в играх.

Ну и при рендеринге всей планеты целиком, рельеф вносит мало вклада в картинку, придется непропорционально выпячивать его теряя в реализме. Будет выглядеть мультяшно.

0
DELETED
Автор поста оценил этот комментарий
Кстати, в плане цивы на развитие цивилизаций ориентироваться не очень. Мне грустно что от эпохи к эпохе все эволюционируют, а не застревают как некоторые державы в реальной истории.
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий

Ты крут! Какая концепция твоей игры? Время, сюжет?

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Глобальная стратегия, с древнейших времен и как получится. Ближайшие аналоги - Цива, стратегии парадоксов.

показать ответы
0
DELETED
Автор поста оценил этот комментарий
Спасибо за интересный пост. Будет ли продолжение?
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Конкретно про рендеринг планеты со спутниковыми снимками - нет.
Игру я давно планирую сделать, и наверное когда-то возьмусь за неё всерьез, но не хочу раньше времени чего-то показывать.

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества