Как мы сделали невозможное: переносим трехмерную карту всей Земли в одну игру
Всем привет! Меня зовут Дмитрий "Varg Murtter" Филиппов, и сегодня хотелось бы поделиться с читателями DTF историей моего довольно крупного проекта.
Вообще, сейчас в команде нас всего двое, и называем мы себя Heavy Geeks. Мы решили перенести трехмерную карту всей Земли в одну игру. Бесшовную карту. Да-да, вы всё правильно прочитали. Всю Землю. В одну игру. Вероятно, у вас уже появились вопросы а-ля: "что?", "как?", "зачем?", "серьезно?". Но обо всём по порядку.
Как ты до этого вообще додумался?!
Ну, очевидно, что идея не новаторская. Разработчики давно пытались уже сделать что-то подобное. Идём в гугл и видим, что в итоге так никто ничего и не реализовал. А жаль.
Хотелось бы сказать, что идея просто пришла ко мне в голову и закончить на этом, но что-то мне подсказывает, что эта идея формировалась ещё с тех пор, как бедного ученика средней Московской школы сильно надули, сказав, что в игре Metro можно гулять по всей Москве и даже найти свой дом, знакомые места, ту же школу...
Что бы там не было, но первые мысли о том, что перенести карту всего мира в одну игру всё таки возможно, у меня начали появляться летом 2017 года. В один прекрасный летний день я просто сел за компьютер и начал судорожно гуглить. Гуглил, обдумывал и переваривал всё это я около месяца. Затем началась учеба с работой и гугление резко прекратилось. Но мысль не покидала меня. Она пожирала меня каждый день, и я просто не мог думать о чем-то другом.
"Чувак, го на имкап!"
Как-то решили мы с коллегой поучаствовать в Microsoft Imagine Cup 2018. Идей не было вообще. Что не брали - всё уже изобрели до нас. Возвращаясь с очередного неудачного хакатона я предложил коллеге свою идею с переносом карты всего мира в одну игру, и понеслось... Мы подали заявку на Imagine Cup, прошли отборочный этап и выступили с первым прототипом нашего проекта на региональном финале.
Да, выглядит смешно и неуклюже, но чёрт, тут карта всего мира! Идея на первый взгляд была очень проста: взять OpenStreetMap-карты (весом в 1ТБ) и вынести их на сервер. В итоге всё оказалось намного сложнее, но оно работало!
Мы прошли на всероссийский финал. На региональном этапе один из судей посоветовал нам сделать игру в стилистике Minecraft. У нас был всего месяц на это, но что-то мы всё таки набросали. Никогда больше не будут делать что-то в стилистике Minecraft...
С этим мы пришли на всероссийский финал Imagine Cup 2018. И знаете что? Мы собрали кучу народа у нашего стенда! Хоть дальше мы и не прошли, но мы поняли, что двигаемся в правильно направлении. Но от идеи с Minecraft'ом мы конечно же отказались.
А где игра-то?
Пока мы участвовали в Imagine Cup, мы собрали немного людей в нашу группу в ВК, и начали просто работать. И о боги, даже что-то начало получаться! Я не верил тому, что занимаюсь этим. У нас действительно есть полностью оцифрованная трехмерная карта всего мира! Как же мне это нравится.
Очень часто нам задают вопрос из разряда "а чем вы отличаетесь от Google StreetView?". У меня к таким людям встречный вопрос: "вы серьезно?". Хотя их можно понять, ведь кроме "картонных" зданий они пока ничего не видят. И вполне логично будет спросить "а что в этой игре нужно делать? это симулятор ходьбы?". Честно? Пока да. Сейчас мы работаем над визуализацией самой карты, чтобы всё выглядело ну хотя бы приемлемо. А вот дальше мы будет накручивать сюда sandbox-механику. Да, мы решили, что будет весело побегать с друзьями по всему мир и сломать, например, Эйфелеву Башню. Ну или забраться на Эверест и обустроить там базу. Почему бы и нет? Да, сейчас графика (если это вообще можно так назвать в данном случае) "вырвиглазная", но решение этой проблемы - вопрос времени.
Итог
За полгода работы над этим проектом лично я получил просто огроменный опыт. И я собираюсь его закончить, что бы там не получилось в итоге. Очень надеюсь что идея выстрелит, и мы соберем достаточно игроков, чтобы поддерживать сервера.
Надеюсь вам понравилась данная статья и моя идея :)
Если вам вдруг интересно, то приглашаю вас присоединиться к нашему маленькому комьюнити: https://vk.com/heavygeeks
Imagine Travel Project by Heavy Geeks
Статью надо было назвать: Эй, чуваки! Мы написали свой первый навигатор с кривым 3D view, в процессе отстрелив себе все ноги и другие конечности. Дайте конфетку!
Йоу, зачем негатив? Ребята на позитиве дунули и давят тупую лыбу, че тебе жалко, накодь им остальные 99% проекта.
Разумеется без вышек такую игру разрабатывать бессмысленно. Нужен идеальный алгоритм процедурной генерации вышек. И мультиплеер на два ярда игроков.
Или это может быть огромный пинбол, а шарики это миграционные потоки из мест конфликтов. Всё, на этом завязываются с бредовыми советами.
Комментарий недоступен
Было бы очень интересно почитать, как это реализовано технически
Быть может в следующей статье напишу об этом :)