Almagest Picker. Новый уровень мотивации.
В декабре 18 года после очередной сессии я начал создание собственного мобильного программного обеспечения для Dota 2. В мобильной разработке я не знал ничего, а знания об объектно-ориентированном программировании оставались на уровне создания 32-х клеток для шашек с созданием алгоритма на нажатие по полю. Свой процесс обучения я решил совместить с чем-то интересным, что в принципе может быть реальным полезным приложением.
Задумка началась с того, что ранее летом был создан твиттер аккаунт twitter.com/Runuiu там я писал фишки для некоторых героев, в основном на тех на которых сам играл. Выбрал представление этой информации в текстовом варианте, т.к. для видео формата на это приходилось бы тратить часы из-за неудачных дублей, из-за того что пришлось бы придумывать сценарий и текст к нему, ко всему прочему нужно чтобы сама игра выглядела красиво, а у меня не то что сетов нет, банально игра еле тянет 40 фпс на стареньком ноуте. Сам же за годы игры поднял 6к играя на одном герое.
Используя данную задумку я начал придумывать функционал и отображение информации в приложении. Вначале взял за основу популярное приложение в маркете с >500 000 скачиваний, но затем отказался от этой идеи, т.к. проект у меня планировался гораздо более амбициозный.
Придумал я следующие разделы: герои, предметы, крипы. Было бы глупо делать приложение, которое имело бы лишь информацию с игры. Изюминкой планировалось использование почти всех характеристик юнитов, добавление раздела крипов, т.к. его нет ни в одном из мобильных приложений.
Далее я прочитал сотни отзывов некоторых приложений со скачиваниями >100 000. Отзывы отобразили для меня следующие проблемы, которые я должен был решить...
Тут я вспомнил что разработку начал в октябре или в конце сентября, но т.к. за 2 недели я не продвинулся в работе с базой данных SQLite (SQL я знал, я не смог банально подключить базу к проекту).
Решить я должен был следующее:
1) Быстро обновлять данные после патчей;
2) Иметь актуальную информацию каждый день, т.к. мог обнаружиться какой-нибудь баг в игре, и пока он не пофикшен можно было бы сказать о нем в приложении;
3) Добавить больше информации, чем просто данные с самой игры.
Тут же обнаружил позитивные стороны своего продукта:
1) Если данные будут обновляться часто, то в первую очередь откроют мой продукт;
2) Если будет больше информации, то люди скачают мой продукт, ибо важна информативность, а не красивые анимации и картинки в большом разрешении;
3) У меня огромный опыт игры и поэтому куча идей, а я сомневаюсь, что люди с таким опытом игры пойдут делать нечто подобное, в сравнении с другими разрабами у меня огромный запас идей;
4) На мобильную платформу никто не делает этого, потому что игра десктопная, и это меньше конкуренции. На самом деле я взял в пример себя чаще и больше пользуюсь телефоном.
Итак я рассказал как из бедняка хочу выбиться в люди теперь перейдем к тому, что есть на данный момент за примерно 600 +- 100 часов разработки и обучения прогания под данную платформу.
Пикер. Эволюционировал он долго, а начиналось с этого:
А теперь представляет из себя следующее. Совет по коэффициентам преимуществ героя, учет синергии и контры. Совет под стадию драфта. Совет предметов и контрпредметов. Два режима драфта.
Совет профессиональных драфтов, сортируются драфты по количеству совпадаемых героев в пике.
Щепотка сортировок. Сложность, тип атаки, атрибуты, фракция, основа-поддержка, роли, линии. Мануал по всему на иконку книжки в правом верхнем углу.
Тут все в изображении, отображает данные в какой момент игры пик сильнее. Беру данные винрейта каждого героя к определенной минуте, нахожу среднее на команду и отображаю обе команды на графике. Умножаю график одной из команд на коэффициент каждого героя (умножая обе они отдалятся друг от друга симметрично, а мне лишь нужно учитывать преимущество одной).
С пикером пока все. В будущем еще появится совет лайнапов и пара других функций.
Далее герои, которые пока что недоступны, ибо функционал планируется больше. Пока есть какой-то калькулятор статов
(точнее чем в доте, ибо там неправильно отображаются атрибуты героев. Пример: Chaos Knight 25 уровень 100 силы, но бонус к урону от атрибута лишь +99 и так у десятков героев и не только с уроном, проблема в том, что просто в один момент добавляется лишний атрибут, если дается 1.4 за уровень, то при стартовом допустим 16 на втором уровне будет 17.4 а он может округлить до 18. Вначале я думал, что это округление, но нет. Просто неправильно отображает, но бонусы добавляются правильно.)
0 уровень у героев, контргерои, синергия с героями, уже также добавлены контр предметы и предметы героя. Планируются айтембилды, скиллбилды, инвентарь для дополнения калькулятора статов. На некоторых героев уже прописаны десятки фишек, на мою сигнатурку LC их около 35.
Способности. Самая полная информация, чем где-либо. На liquidpedia все на английском и информации мало. Самый большой ресурс дота вики. Но на русском там опять таки беда. И даже то что на английском там есть этого мало. Из заполненных героев и крипов у меня уже больше информации (Дизайн будет лучше).
Предметы будут в скором добавлены. Они полностью заполнены. Присутствуют все предметы из игры. Даже Tango (shared), но он замаскирован в виде пасхалочки.
Собственно окно предмета.
Проблема актуальности данных была решена на корню. Используется онлайн база данных. Для пикера данные обновляются ежедневно. Для героев и предметов могу обновить в любой момент. К тому же пикер работает и без подключения к сети на старых данных. При наличии сети он сразу скачает актуальные данные.
Пока что открытый бета тест - play.google.com/store/apps/details?id=com.erg.almages...
Будет интересно ваше мнение с точки зрения полезности планируется сделать для игрока любого уровня, т.к. в игре нет обучения. Также хочу сделать из этого самую большую энциклопедию, если это будет кому-то нужно.
Dota 2
834 поста3.1K подписчиков
Правила сообщества
1. Не рекомендуется публиковать контент, который не относится напрямую к игре Dota 2.
2. Запрещено оскорблять других участников сообщества, а так же создавать конфликтные ситуации, уважайте чужое мнение.
3. Запрещено пикать пятого кэрри в команду.