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

Наверное, каждый мечтал загрузить в любимую игру свой родной город и побегать по знакомым улицам. Скоро у вас появится такая возможность. Встречаем: 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, Длиннопост

Лига Разработчиков Видеоигр

6.5K пост22K подписчика

Добавить пост

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

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

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

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

раскрыть ветку (76)
386
Автор поста оценил этот комментарий
И добавить возможность грузить базу фотографий коллег, что бы натягивать их на морды пришельцев
раскрыть ветку (26)
186
Автор поста оценил этот комментарий
И не только на морды
раскрыть ветку (11)
78
Автор поста оценил этот комментарий
И не только пришельцев.
раскрыть ветку (10)
64
Автор поста оценил этот комментарий

И не только натягивать

раскрыть ветку (7)
56
Автор поста оценил этот комментарий
И не только не только
раскрыть ветку (5)
23
Автор поста оценил этот комментарий
А может, они и не против
раскрыть ветку (4)
14
Автор поста оценил этот комментарий
Я не против
раскрыть ветку (3)
10
Автор поста оценил этот комментарий

Ну, если не против - натягивай

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

Подтягивайся*

2
Автор поста оценил этот комментарий
и не только коллег
8
Автор поста оценил этот комментарий
Все позасрали своей порнухой.
раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Молодцы какие

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

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

раскрыть ветку (5)
1
Автор поста оценил этот комментарий
Какая серия, сезон? Не припомню
раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Последний сезон, первая серия.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо
1
Автор поста оценил этот комментарий
Это какая серия? Я первые четыре осилил, потом времени не было.
ещё комментарий
24
Автор поста оценил этот комментарий
У моего друга вштало большое предложение - добавить возможность натягивать пришельцев с натянутыми мордами коллег.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Это как Омск , только не Омск .

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

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

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

от карандаша и кнопки до ядерной боеголовки

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

Постал какой-то :)

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

Мне бы хватило набор из дум-2.

Эх, модеры, где же вы?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Где моя базука?!
ещё комментарий
73
Автор поста оценил этот комментарий

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

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

У нас на работе чувак такой же есть.

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

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

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

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

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

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

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

О, можно тогда вопрос?

Как ты переносишь ветер на улице?

Чем ветер на улице отличается от сквозняка в помещении? Почему ветер не представляет опасности, а сквозняк вызывает панику у некоторых людей?

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

Сквозняк это ветер который стал домашним.

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

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

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

я сам по себе нейтрально отношусь к любой жаре  + у нас в офисе большиство курило на рабочем месте , посему целесообразность кондиционера снижалась до 0 , а кудо уж пиздец то както теток подьебали шо весь мужской коллектив ходил тупо в трусах ) а им предлгалали приходить в купальниках

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

Блин, прямо на больную мозоль

Лежу в больнице, на улице жара, в палате пекло, но любая попытка открыть окно или дверь пресекается паническим криком - не открывай, нас всех продует!

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

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

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

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

Но жару я ещё хуже переношу, поэтому форточки всё же открываются

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

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

Так блин если открыть окно и дверь - в палате устанавливалась вполне комфортная температура, и никто не был бы потным и мокрым. Но нет, из-за одной дамы 6 человек вынуждены париться в духоте.

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

Какое счастье что сегодня я уже дома)

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

Не пробовал таких посылать? Почему из-за какой-то зачарованной овцы ты должен страдать?

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

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

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

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

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

О да!!!! А самое адское зло это бабка с картой на кассе супермаркета!

19
Автор поста оценил этот комментарий
"Глубина-глубина,я не твой"..
раскрыть ветку (5)
8
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
4
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (2)
1
Автор поста оценил этот комментарий
А костюм со шлемом выдают или нужно со своим?
раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
8
Автор поста оценил этот комментарий
отпусти меня, глубина... Эхх, хорошая книга, надо перечитать)
35
Автор поста оценил этот комментарий
Давно хотел такое в игре - приезжаешь на работу, перебил там всех, сжёг нахрен, попрыгал на развалинах... И пошел блин на работу.
раскрыть ветку (1)
33
Автор поста оценил этот комментарий
Главное не перепутать.
71
Автор поста оценил этот комментарий

А ты хорош =)

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

открою ка я сеть платных внутриигровых туалетов...


а то в 90-е был мал, не успел.

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

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

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Нет, это уже ужасы и садо-мазо. Не путайте жанры.
7
Автор поста оценил этот комментарий

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

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

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

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

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

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