4430

Игра на основе карты реального мира

Наверное, каждый мечтал загрузить в любимую игру свой родной город и побегать по знакомым улицам. Скоро у вас появится такая возможность. Встречаем: Generation Streets, игра на основе OpenStreetMap. Суть такова: берём карту, превращаем домики в трёхмерные, натягиваем текстуры, расставляем деревья, уличные фонари, опоры ЛЭП и прочий визуальный мусор. Получается примерно так:

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост
Загрузить можно практически любую точку планеты, кроме Северного полюса и Антарктиды. Я уже прошел регистрацию в Steam и готовлю игру к публикации, первая версия выйдет в ближайшие 2-3 недели. А пока вот еще скриншоты.


Москва:

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост

Тольятти:

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост

Кинель-Черкассы, село в Самарской области:

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост

Ну и так далее.

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост

Кстати, в игру будут встроены инструменты для экспорта сгенерированных 3D-моделей в любые форматы, а это значит, что народные умельцы получат возможность создавать моды для других игр, загружая в них карту реального мира. Позднее я, скорее всего, вообще открою весь код под свободной лицензией. Но это потом.

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

Между прочим, псевдо-постапокалиптический сеттинг выбран именно из-за недостатка данных, с его помощью маскируются неизвестные параметры. А еще он позволил рисовать все мосты и эстакады полуразрушенными (это гораздо проще, чем анализировать плоскую карту и пытаться понять, где и как идут съезды с эстакад; и все равно не факт, что угадаю).

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост

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

# Про геймплей

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

# Про OpenStreetMap

OpenStreetMap - открытая карта, которую рисуют сами пользователи. Как Википедия, но в мире географических карт. Главное отличие OpenStreetMap от, например, народной карты Яндекса в том, что геоданные распространяются под свободной лицензией ODbL, а это значит, что можно скачать исходник всей планеты (около 50 Гб сжатых данных) и делать с этими данными что угодно. Например, вот такую игру.

На основе OSM работают многие сервисы. Вы, возможно, сами пользуетесь каким-нибудь сервисом на основе OSM и даже не знаете этого.

Детализация и точность данных варьируется на разной местности. Некоторые населенные пункты прорисованы с точностью до каждого дерева, на некоторых висит только пара центральных дорог. Крупные города, как правило, прорисованы более детально мелких деревень и сёл, но есть и исключения. Самую знаменитую историю про картографирование села Краснохолм можно почитать на Хабре: https://habr.com/post/211430/

# Про рельеф

OSM не хранит данные о рельефе, поэтому за картой высот пришлось обращаться к другим источникам. В глобальном масштабе планеты данные весьма детальные, но при приближении всплывает много неточностей и смещений. Например, в Тольятти у Комсомольского района есть крутой склон к Волге. Возвышение на карте высот смещено к югу, из-за чего вода затекает прямо на склон. Такие нестыковки приходится ретушировать при помощи шейдера:

Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост
Желтая полоса - это пляж. Все, что ниже него, это уже как бы Волга (формально вода по-прежнему на склоне, просто шейдер ее не прорисовывает). Но это скорее исключение из правил, в целом все более-менее прилично.

На этом пока всё, как только игра будет опубликована в Steam, напишу пост с анонсом.
Игра на основе карты реального мира Gamedev, Игры, Компьютерные игры, Карта мира, Openstreetmap, Длиннопост

Найдены возможные дубликаты

+812

И добавить общественный транспорт, чтобы можно было ехать в игре на работу, пока едешь на работу.

раскрыть ветку 76
+380
И добавить возможность грузить базу фотографий коллег, что бы натягивать их на морды пришельцев
раскрыть ветку 26
+181
И не только на морды
раскрыть ветку 11
+12

Вспоминается один из эпизодов Черного Зеркала, где копии сознания коллег хранились в приватном виртуальном мирке главного разработчика.

раскрыть ветку 5
+22
У моего друга вштало большое предложение - добавить возможность натягивать пришельцев с натянутыми мордами коллег.
раскрыть ветку 1
0

И оружие разнообразить.

раскрыть ветку 5
+73

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

раскрыть ветку 17
+7
Как же жизненно про вечно мерзнущих тёток, выключающих кондиционер, в то время, как большинство умерает от жары
раскрыть ветку 16
+21

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

раскрыть ветку 2
+1

Убивая тупящих бабок особо изощренным способом.

раскрыть ветку 1
+19
"Глубина-глубина,я не твой"..
раскрыть ветку 5
+8

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

раскрыть ветку 3
+8
отпусти меня, глубина... Эхх, хорошая книга, надо перечитать)
+34
Давно хотел такое в игре - приезжаешь на работу, перебил там всех, сжёг нахрен, попрыгал на развалинах... И пошел блин на работу.
раскрыть ветку 1
+32
Главное не перепутать.
+67

А ты хорош =)

ещё комментарии
+11
Не только ехать в игре, а ещё работать в игре и получать внутриигррвую валюту.
раскрыть ветку 4
+25
А потом на внутриигровую валюту покупать внутриигровую еду. И есть ее внутри игры.
раскрыть ветку 1
+4

Ипотеку добавить обязательно!

раскрыть ветку 1
+6

И сделать симулятор работы

раскрыть ветку 1
+30
Чтобы симулировать работу пока симулируешь работу?
Иллюстрация к комментарию
+4
Авто тоже
+3
как же будет обидно если в игре заведешь девушку, а в жизни ты председатель лиги магов
+2

Что так мелочно?
Сразу пихаем тайкун, чтоб можно было строить себе дороги и жд пути по которым и будем ехать на работу, пока работаем на работе и получаем деньги которые уходят на работу работы.
А потом добавляем производства на которые будем работать для того чтобы работала логистика на которой работаем чтоб работали производства, которые будут производить производство для работы производства.

Иллюстрация к комментарию
+1
И добавить в транспорт бабку, которой всегда душно.
+1

Или чтоб можно было стоять в пробке пока стоишь в пробке.

0
Вы случаем не сценарист тачки на прокачку ?)))
0
А то апокалипсис уже наступил, а пенсия - еще нет.
0
Если бы он прокачку и ко-оп с друзьями завёз, эх...
-1
Приходиш с роботы и такой говоришь "ща отдохну" и едешь на свою роботу в игре
+73

мне б в "дальнобойщики" такую карту

раскрыть ветку 26
+39

У меня в 18 стальных колес было любимое занятие не выполнение доставки, а как раз построение знакомых районов в редакторе карт. Жать там было не так много текстур, подходящих для нашей местности. Если же эту игру автор окончательно доведет до ума и продумает геймплей, что бы юзер мог кроме карты еще и квесты созавать - для меня бы вообще не было бы цены этой игре. И чувствую, я бы не стал ограничиваться масштабами только своего города.

@romanshuvalov ты молодец! Я верил, что рано или поздно, появится редактор карт, который можно привязать к цифровым картам реального мира.

раскрыть ветку 6
+1

В ets2 есть все, что нужно для построения карт россиянской действительности. Очень годно.

раскрыть ветку 5
+56

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

раскрыть ветку 17
+28

Автор, а могу ли я, как житель Тольятти, добавлять дома в проект?

раскрыть ветку 11
+12
автор добавь бабок на лавки, в бонусный уровень, и звук добавь:"наркоманы, опять инопланетян лупят, со своими наркотиками обнаглели совсем"
раскрыть ветку 2
+2
А данные с Гугл карты? Там и цвет и высота
раскрыть ветку 1
+1
ЕвроТракСимулятор. Там помоему есть карты россии
+34

Сука, Кинель-Черкассы особенно хорошо получились!

раскрыть ветку 14
+29

Для Сталкера.

раскрыть ветку 2
+7

Срисовали нас! Шухер!

раскрыть ветку 1
+22

Для человека который тут живет я аж дважды ахуел,от того что про тут кто то знает,и от того,что нарисовали такую глушь. Хотя если автор скажет что это за улица я ведь проверю

раскрыть ветку 10
+45
Я не знаю, сарказм ли это, но суть в том, что вау-эффект действительно есть, но только для того, кто знает местность. Я когда сделал первую версию и загрузил свой город, достаточно долго просто летал по нему и рассматривал места. "О, а тут моя школа. О, а вот по этой тропинке я на велике на набережную ездил." Незнакомые города таких эмоций не вызывают.


Конкретно про улицу в Кинель-Черкассах, это улица ведущая к старому аэродрому. Белые дома слева - ул. Хальзова.


Кстати, на всех скриншотах в правом нижнем углу написаны координаты места, где они были сняты.

раскрыть ветку 8
-9

Вернее, смотреть могут не только лишь все, мало кто может это делать ©

ещё комментарий
+202

Хз че накинулись, идея интересная, только инопланетян наверно нафиг а просто войс чат для общения...
Зазвечто миниигры какиенить добавить, или в будущем различные занятия...стоять там хотдоги парить прохожим)

раскрыть ветку 74
+104
Я бы на зомбей поменял, интереснее же
раскрыть ветку 18
+90

Дваждую за зомбей, гораздо лучше будет.

раскрыть ветку 11
+16

Лучше на единоросов. С удовольствием бы их отстреливал.

раскрыть ветку 4
+1

Ну тут уж кому как.

+43
Я всегда мечтал о чём-то вроде GTA или Дальнобойщиков на реальных картах и машинах
раскрыть ветку 37
+25
GTA или на реальных картах

Мне всегда не хватает в играх реализма.

В том же GTA хотелось бы большей "социализации" и реализма.

Чтобы игрок не мог в наглую забежать на военную базу и угнать танк, или встать на перекрестке и стрелять из гранатомета по автомобилям.

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

Потому что сейчас хоть и есть игры наподобие этого (та же энтропия), но… это не то.

раскрыть ветку 28
+6

ты не представляешься сколько начинающих мапперов под кс начинали делать карты своих школ)

+4

Ну GTA я понимаю, реально интересно, а вот Дальнобойщики, кхм-кхм... Часто ли встречаются (ну например) длинномеры на центральных улицах города?

раскрыть ветку 5
0
Сравнивал я родной город в российском проекте Дальнобойщиков. Конечно сильно урезан, но очень похож
+29

Деньги на билет просить, так как кошелек украли !)

раскрыть ветку 3
+6

Ну а что. Прокачка харизмы. Потом берёшь инструмент в виде балалайки и лутаешся ещё знатнее. Открываешь гильдию попрошаек и будешь бороться с пикагильдией. Политические решения вопросов с гильдией ментов

раскрыть ветку 2
+19

Вот кстати да, что-нибудь социальное смотрелось бы отлично, если добавить какой-нибудь хлам, который будет способствовать общению.

раскрыть ветку 1
-1

виртуальные паяльники, которые вставляются в виртуальные жопы?


и можно играть в начало капитализма!

+5

Появятся мультиакки ботоводы состоящие тупо из продавцов хотдогов и будут строить империю!!!))) 

раскрыть ветку 2
0

давно пора вводить строгую регистрацию по паспортным данным и т.п.

раскрыть ветку 1
+4

Ну накинулись так как это не совсем игра. Это - работа, у меня товарищ работает во фгупе при москомархитектуре и у них постоянно такие проекты реализуется. Заказчиком выступает город.

раскрыть ветку 1
+5

У Вас это работа, человек хочет реализовать это как развлекательную программу/игру, ничего плохого в этом не вижу.
По сути внутри такого проэкта можно реализовать и работу если сильно захотеть, но нужен высокий уровень безопасности. (например оффисы компании по всему миру, устроили конференцию "на природе", обсудили дела, возможно даже с использованием 3d фейсов и VR... надо же к будущему двигаться, ато по фильмам уже давно такое должно быть :D  )

+2
Я бы хотел карту своего города в постал 2 добавить)
раскрыть ветку 1
+4

И чтоб часть людей прописать как котов?

+1

Можно будет делать карты для Армы)

+1
VRchat на реальных локациях?
Прикольно вообще то
^__^
0
Прям первому игроку приготовиться
-13

Идея заезженная, еще во времена GTA SA подобное делали, точнее прямо моды делали для GTA SA состоящие из местности.

ещё комментарий
+28
А я подпишусь) помню как во времена ГТА мечтал чтобы в игре был мой маленький северный город и я мог бы по нему ходить и чё то делать) технологии из каминг) жду продолжения
раскрыть ветку 75
+23

Воооо, вот ради этого всё и создавалось. Дайте, кстати, ссылку на ваш маленький северный город, посмотрим, насколько он детализирован.

раскрыть ветку 74
+2

Киров!

раскрыть ветку 8
+1
Посмотри на Йошкар-Олу
раскрыть ветку 33
0

Автор, а на Баку можно посмотреть ?

раскрыть ветку 2
0
Город Ноябрьск, ЯНАО
раскрыть ветку 3
0

А овраг в Воркуте есть?

Кстати, а зима будет? Можно же при загрузке карты обращаться к какому-нибудь api погоды, и, в соответствии с этим, симулировать снег/дождь/Град и п.р. С отключением в настройках, конечно. Короче, ТС, щаламывай цену в 2к, я куплю! И уже хочу разработать пару модов :)

раскрыть ветку 7
0

Можно посмотреть на станицу Староминскую (Староминский район, Краснодарский край)

раскрыть ветку 2