Вчера, 14 октября, исполнилось 3 года с момента выхода интерактивной карты STALCRAFT. Хочу поделиться с вами своей историей, как идея превратилась в реальность и с какими трудностями пришлось столкнуться.
В 2019 году я набрел на группу ВКонтакте, где один идейный игрок трудился над созданием карт, которые представляли собой скриншоты локаций с обозначениями мест спавна NPC:
Я начал следить за группой, познакомился с автором, помогал собирать данные для карт. И спустя какое-то время, вдохновившись его работой, решил создать сайт, который значительно упростил бы исследование Зоны. На тот момент прошло уже несколько месяцев с момента релиза калькулятора сборок, так что опыт в создании подобных ресурсов имелся.
Перед началом работы был написан пост на форуме, чтобы узнать мнение игроков. Ссылка на пост: тык
Встретив положительные реакции, я приступил к созданию и сразу же столкнулся с первой проблемой: где и как достать карту игрового мира? В голову не пришло ничего лучше, чем сделать скриншоты локаций и склеить их в фотошопе.
Около часа кропотливой работы и бесшовная версия карты была готова. После чего я начал писать код. Технологию долго выбирать не пришлось.
Калькулятор сборок был написан на Symfony, поэтому я решил использовать этот же фреймворк и для интерактивной карты. На тот момент мне помогал игрок Chenky, который разбирался в php и давал советы, а иногда и писал код.
С выбором библиотеки для карты пришлось повозиться, но я остановился на Leaflet. Она бесплатная, имеет много плагинов и легка в освоении.
Имея за спиной полтора года опыта в веб-программировании, я без проблем написал пару десятков строк HTML-кода, подключил CSS и JavaScript. Дизайн был украден у другого сайта, интерактивной карты для игры Forest, примерно на 90%, т.к. с креативностью у меня проблемы.
За две недели до релиза я завел группу Вконтакте https://vk.com/bupyclab , купил домен https://stalcraftmap.ru/ , подключил SSL-сертификат и наконец-то, 14 октября 2019 года выпустил ОБТ интерактивной карты.
Стоит заметить, что первые два года мне нельзя было напрямую рекламировать свои сайты на официальных ресурсах. Любые ссылки удалялись модераторами, а темы зачастую закрывались. У EXBO довольно строгая политика по отношению к сторонним ресурсам и это обосновано многими факторами. Никому не хотелось бы впускать в своё медиапространство малоизвестный проект, чтобы тот набрал аудиторию и в один момент стал сайтом с кейсами или читами.
Пришлось рекламировать сайт в неофициальных сообществах, оставлять ссылки в комментариях и использовать завуалированную рекламу, а также сарафанное радио. Со временем о проекте узнавали всё больше и больше людей, а в игровую личку стали сыпаться сообщения с благодарностями.
Месячный онлайн с ноября по декабрь 2019 года составлял чуть больше 200 человек. Суточный примерно 15-20 человек. Видя эти цифры я гордился и чувствовал, что двигаюсь в правильном направлении. Нет ничего лучше осознания, что твой проект нравится пользователям.
В последующие несколько месяцев я работал над обработкой данных и добавлением их на сайт. Тогда у меня не было админки и вся информация хранилась в JSON-файлах.
Для тех, кто не знает, что это за формат: вот пример, как выглядел файл с метками NPC:
Это был тот ещё геморрой. Координаты нужно было вводить вручную. Количество строчек в таких файлах могло достигать нескольких сотен. После любого редактирования нужно было вручную заливать файлы на сайт, чтобы на нем отобразились новые данные. Об удобстве и речи не было. Но, тем не менее, работа велась довольно успешно. Было интересно бегать по локациям, исследовать новые места. Зачастую мне помогали в этом другие игроки.
Под конец 2020 года вышла перестройка и карта стала неактуальной.
Тогда у меня были важные дела на работе, переезд в другую страну, свадьба, поэтому я не мог уделять время проекту.
В марте следующего года я возобновил работу над интерактивной картой и в жарком июле 2021 года выпустил новую версию. Ссылка на патчноут: тык
Были переосмыслены многие аспекты, изменен дизайн, добавлена админка. Но самым важным обновлением считаю добавление режима редактирования. Это было круто, ведь теперь каждый мог сделать свой взнос в развитие и карта потихоньку становилась достоянием игроков. Спустя час после выхода патчноута на сайт уже было добавлено 355 меток. Я только и делал, что сидел в админке и апрувил их.
Последующие несколько месяцев работа велась над калькулятором сборок и незначительными обновлениями интерактивной карты.
В октябре 2021 года мне наконец-то разрешили рекламировать карту на форуме и в фанке. Испытываемую радость нельзя было описать словами. Основная проблема решилась. Теперь ссылки и упоминания о моём проекте не будут удаляться, поэтому я сразу же создал тему на форуме: тык
Карта продолжала жить своей жизнью, игроки сами наполняли её контентом. Но с увеличением его количества появилась новая проблема.
Оказалось, что Leaflet не умеет нормально работать с огромным массивом меток. На тот момент их насчитывалось больше 1500. Карта сильно глючила, во время перетаскивания FPS экрана падал до 10-15. Было много багов и “говнокода”. Мысль переписать карту на новый лад появилась давно, поэтому работа началась незамедлительно.
На этот раз я решил использовать другие технологии, которые были мне более близки. Клиентская часть была написана на Angular, а для серверной части использовался Node.js. Проблема с оптимизаией карты также была решена с помощью нескольких строчек кода:
VIDEO
В декабре, за день до нового года, я залил новую версию карты. Ссылка на патчноут: тык
Последующие несколько месяцев прошли без особых изменений.
Летом 2022 года я начал думать над обновлением дизайна сайта. На этот раз было решено “воровать” по минимуму и заодно проверить, есть ли у меня навыки дизайнера. Результатом остался доволен. Также в этом обновлении появилась поддержка нескольких карт. Для этого пришлось немного переписать код сайта. Ссылка на патчноут: тык
В настоящее время интерактивная карта является перспективным проектом. Средний месячный онлайн составляет около 10 000 пользователей (летом поднимался до 13 000), о ней знают много игроков.
Это мотивирует меня продолжать работу над проектом. Ведь за три года он стал моим хобби, моей жизнью. Я провел много вечерних часов (а иногда и ночных) за обновами и ещё столько же придётся провести. Впереди полно работы.
STALCRAFT развивается и я не планирую останавливаться. Открытие европейских серверов даст приток новых пользователей в игру и им будет нужна интерактивная карта. Всем удачи, на связи был Вирус.
Возможно, кому-то из вас эта статья покажется пафосной, но я хотел поделиться с вами своими мыслями, своей историей и, возможно, замотивировать кого-то делать действительно полезные вещи.
Ниже я написал несколько тезисов, которые не вошли в статью:
Я понятия не имею, как гугл аналитика считает месячный онлайн. Суточный онлайн интерактивной карты составляет примерно 1 000 пользователей. Почему месячный выходит 10 000, а не, допустим, 30 000, я не знаю.
За три года интерактивную карту пытались несколько раз выкупить люди с сомнительной репутацией. Поэтому исходный код проекта скрыт.
На данный момент мой доход от интерактивной карты равен нулю. Я подумываю над введением монетизации. В каком виде она будет добавлена - ещё не знаю. Но некоторые варианты уже обсуждались с EXBO.
Если формат статьи вам понравится, я напишу ещё одну, в которой опишу историю создания калькулятора сборок.
Изначальный вариант текста был ужасен. Но, я благодарен своей второй половинке, за то что она сделала вычитку и указала на множество ошибок.