- Карьерный рост и перспективы профессии
- Ступени развития
- Требования к Android-разработчику
- Создание уровней и задач
- Реклама своими силами
- Графическое оформление
- Объектные модели
- Функциональные спецификации
- Игровой контент
- Интерфейс
- Какое будущее у мобильной разработки
- Тестирование и отладка
- Сколько зарабатывают Android разработчики?
- Сделай сам
- Хорошая техподдержка не менее важна, чем хороший код
- Звуковое сопровождение и музыка
- Информация: как разработчика, у вас есть магическая система тегов
- Как выбрать платформу для мобильной разработки
- Невозможные баги возможны
- Инфо: списки желаемого играют огромную роль
Карьерный рост и перспективы профессии
В Android-разработке, как и везде в IT, новичок начинает с позиции Junior, затем прокачивает скиллы и становится Middle. Через несколько лет может претендовать на позицию Senior, а наиболее успешные дорастают до тимлидов.
С 2016 года в СМИ ходили слухи, что Google скоро заменит Android новой операционной системой Fuchsia — и Android-разработчики останутся не у дел. Всё прояснилось в 2019 году на конференции Google I/O: руководитель направления Android Хироши Локхаймер заверил, что компания не собирается отказываться от Android для смартфонов. Fuchsia будут применять в умных домах, носимой электронике и устройствах дополненной реальности.
Ступени развития
Требования, которым должен соответствовать Android-разработчик (developer) зависят от того, на какую именно «ступень» развития он претендует. Чем выше «статус» сотрудника, тем больше задач он будет решать. И тем выше окажется его зарплата на выходе.
Существуют такие уровни у developers:
- Junior (Джуниор). Это – новичок. Он либо учится в университете, или недавно выпустился. Иногда занимается помощью «основным» разработчикам.
- Middle. Вторая ступень развития. Требования к такому подчиненному – навык работу 2-4 года. Он сможет создавать небольшие проекты и даже руководить ими.
- Senjor (Синьор). Это – наивысшая ступень, которую предусматривает соответствующая профессия. Опыт работы должен быть от 5 лет. Это – мастер-универсал. Настоящий профессионал своего дела. Он полностью сопровождает проект от начала до конца. Иногда – тестирует ПО.
На сайте по трудоустройству можно отыскать уровень зарплаты каждого подобного подчиненного. Новички обычно получают от 40 000 рублей в месяц в России.
Требования к Android-разработчику
На хорошей работе требования к Android-разработчику примерно выглядят так:
- Отличное знание Android SDK (версии 16 и новее).
- Знание Java и Kotlin.
- Опыт работы с Gradle.
- Понимание принципов ООП, MVP и MVVM.
- Умение работать с отладчиком и Layout Inspector.
- Понимание основных принципов работы с многопоточностью.
- Знание протоколов HTTP, HTTPS.
- Знание формата JSON и библиотек, упрощающих работу с ним.
- Умение проектировать пользовательский интерфейс.
- Умение писать поддерживаемый и тестируемый код.
- Навык оформления кода в соответствии с JavaDoc.
- Опыт работы с Linux.
- Знание английского языка.
- Приветствуется умение читать чужой код искать необходимые решения в сторонних приложениях.
Проектирование и схематичная отрисовка разных состояний приложения
Создание уровней и задач
Перед тем, как начать создание уровней, необходимо определить основные элементы игрового мира. Это может быть система карт, 3D-моделей или спрайтов, а также элементы игровой механики, например, прыжки или стрельба. Затем можно приступить к созданию уровней, используя эти элементы.
При создании уровней стоит задуматься о прогрессии сложности. Уровни должны постепенно усложняться, чтобы игрок мог развиваться и преодолевать все новые испытания. Прогрессия сложности можно создать с помощью постепенного введения новых задач или увеличения количества противников.
Задачи игры могут быть разнообразными, такими как сбор предметов, активация выключателей, уклонение от препятствий или победа в сражениях
Важно создать разнообразие задач, чтобы игра не стала однообразной и монотонной
Чтобы игроки не терялись в созданном игровом мире, стоит предоставить им подсказки или обучение на первых уровнях. Необходимо объяснить игрокам основные правила и механику игры, чтобы они чувствовали себя уверенно и понимали, что от них требуется в каждом уровне.
После создания уровней и задач, важно протестировать игру на предмет баланса и играбельности. Регулярное тестирование поможет выявить проблемы и исправить их до релиза игры
Создание уровней и задач — творческий процесс, который требует времени и усилий
Однако, если подходить к нему со страстью и вниманием к деталям, можно создать увлекательную и интересную игру, которая понравится игрокам
Реклама своими силами
В будущем на рынке останется два вида компаний: те, кто вышел в интернет, и те, кто вышел из бизнеса.
Билл Гейтс
Чтобы рекламировать игру, в первую очередь нужно сделать для нее сайт
Сайт — это очень важное место, куда будут обращаться за информацией как пресса, так и игроки. Не обязательно сильно заморачиваться с дизайном — главное, чтобы сайт был информативным и понятным
Посетитель должен легко найти краткое описание по игре и подборку демонстрационных скриншотов с концепт-артом. Если есть трейлер — его стоит разместить на самом видном месте. Видео отлично подходит, чтобы продемонстрировать основные идеи игры.
На сайте обязательно должен быть размещен пресс-пак. Это логотип, все скриншоты и трейлеры по игре, упакованные в одном архиве. Не забудьте оставить свои контакты. Лучше всего, если это будет именно адрес электронной почты, а не отдельная страница с формой для связи. Если вы хотите, чтобы пресса о вас хорошо отзывалась, хотя бы сделайте работу журналистам чуточку проще.
Чтобы держать связь с прессой, нужно грамотно готовить и рассылать свои пресс-релизы. В идеале стоит обратиться к одному из зарубежных PR-агентств — потратив несколько сотен долларов, вы получите грамотную рассылку по своему проекту. Если же денег совсем нет — пресс-релизы придется писать самим. Вот несколько нюансов:
- Пишите грамотно. Если пресс-релиз на английском и он содержит кучу ошибок — это очень плохо.
- Общайтесь вежливо. «Здравствуйте», «До свидания», «С уважением», «Мы ответим на все ваши вопросы», «Если вы не хотите получать от нас письма, мы можем убрать ваш e-mail из нашего списка» — вот в таком ключе стоит писать.
- Краткость — сестра таланта. Журналист вряд ли дочитает до конца трехстраничную историю о том, как вы позавтракали, пошли выгуливать собаку, чуть не попали под машину и внезапно вам пришла в голову идея игры. Лучше ограничиться перечислением основных особенностей проекта и кратким пересказом сюжета.
- Если есть возможность — предложите рабочую версию для обзора. Журналистам всегда интереснее пощупать проект самим, нежели фантазировать об игре и переписывать пресс-релиз своими словами.
- Можно использовать графику в оформлении письма, но не перегибайте палку. Одного красивого скриншота или арта для пресс-релиза будет достаточно. Все остальное собирайте в пресс-пак и добавляйте ссылку на скачивание в конце письма.
- Держите связь. Если журналист ответил на ваше письмо и хочет узнать какие-то подробности — вы должны полностью удовлетворить его интерес. Единственное — не соглашайтесь ни на какие взятки. Редко, но встречаются порталы, где об игре предлагают написать хороший обзор за деньги. Такую прессу мало кто читает, так что лучше с ними не связываться.
Графическое оформление
Ни одна успешная игра не обходится без красивой графики, поэтому создание дизайна – один из важнейших этапов разработки. Дизайн на ОС Android реализовывается с помощью «дизайн-документа» или диздока. Начать создание игрушки нужно именно с его детальной проработки. В файле содержится:
- Объектные модели;
- Функциональные спецификации;
- Игровой контент;
- Интерфейс.
Рассмотрим каждый из пунктов более подробно.
Объектные модели
Это информация о функционале каждого предмета. Объектные модели отвечают за возможность покупки и продажи предметов, а также за улучшение игровых характеристик персонажей.
Функциональные спецификации
Здесь описывается геймплей, основные возможности каждого персонажа. Также здесь дается описание особенностей игровых предметов – оружия, аптечек, брони и других. По сути, функциональные спецификации – это правила, по которым происходит игровой процесс. Чем лучше будет проработан данный раздел, тем легче будет создать качественную Андроид-игру.
Игровой контент
Это текстовая начинка игры. Здесь описываются диалоги персонажей и то, из какого оружия можно наносить урон, сколько здоровья будет отнимать попадание, какие характеристики будут увеличиваться при использовании различного снаряжения. Также здесь содержится подробное описание каждого предмета.
Интерфейс
Интерфейс – это то, как пользователь будет взаимодействовать с игрой. Он включает в себя кнопки, с помощью которых можно управлять персонажем, и разделы меню: например, играть, счет, настройки, топ игроков, справка. Если вы не имеете опыта в создании приложений на Андроид, перед созданием собственного скачайте с Плей Маркета и проанализируйте популярные игры и перенесите лучшие решения в свой проект.
Какое будущее у мобильной разработки
Эксперты отмечают экспоненциальный характер развития сферы мобильных систем в целом и разработки приложений в первую очередь. Еще 10 лет назад мир мобильных устройств, их функциональность и роль в жизни пользователей кардинально отличались от картины, которую мы наблюдаем сегодня.
Среднее время, которое владелец смартфона проводит сегодня со своим гаджетом, — четыре часа. А те, кто читают эту статью, — еще больше. Меньше половины этого времени занимает непосредственно общение — то, с чего когда-то начиналась история мобильной связи.
Мобильные устройства — это уже не про коммуникацию или развлечения. Расширение функционала и оптимизация технологий превратила гаджеты в неотъемлемую часть жизни. Важными и незаменимыми их делает именно «начинка» — те функциональные приложения, которые обучают, развивают, решают проблемы, успокаивают и развлекают, информируют, помогают следить за своим здоровьем, тратить и зарабатывать.
РАЭК в исследовании за 2019 год подтвердила: цифровая экономика набирает обороты и все больше влияет на смежные отрасли. И присмотритесь к трендам — в них все те же результаты трудов мобильных разработчиков:
- развитие машинного обучения и искусственного интеллекта;
- повсеместная геймификация;
- мультифункциональность и стремление приложений к суперформатам экосистем и универсальных сервисов, объединяющих в себе несколько приложений для разных целей.
Погружаться в тонкости мобайла сейчас не только интересно, но и весьма практично. И если пандемия воспитала в вас стремление к саморазвитию, вы знаете, на какой курс записаться в ближайшее время.
Тестирование и отладка
1. Функциональное тестирование: проверьте все основные функции игры, чтобы удостовериться в их правильной работе. Протестируйте игровые механики, уровни, интерфейс пользователя и взаимодействие с объектами
Обратите внимание на возможные ошибки и неправильное поведение игры
2. Тестирование совместимости: проверьте, как игра работает на разных операционных системах и различных настройках оборудования. Убедитесь, что игра стабильно работает на широком спектре устройств.
3. Тестирование производительности: убедитесь, что игра работает плавно и без зависаний на всех поддерживаемых устройствах. Оптимизируйте игру, чтобы достичь наилучшей производительности.
4. Тестирование мультиплеера: если ваша игра поддерживает многопользовательский режим, протестируйте его, чтобы убедиться в его правильной работе и стабильности.
Важно вести подробный журнал ошибок и проблем, чтобы вы могли отслеживать прогресс тестирования и отладки. Используйте инструменты для отслеживания ошибок, такие как Bugzilla или JIRA, чтобы фиксировать и резолвировать проблемы
Не забывайте о регулярных обновлениях и исправлениях ошибок после выпуска игры на Steam. Слушайте обратную связь сообщества и реагируйте на проблемы, которые пользователи сообщают. Это поможет вам создавать качественные и удовлетворяющие игры.
Сколько зарабатывают Android разработчики?
Новичок (Junior) может рассчитывать на зарплату около 50 тыс. руб. Специалисты с опытом работы от 2 лет (Middle) в среднем зарабатывают от 50 до 100 тыс. руб. в регионах и от 90 до 160 тыс. руб. в Москве. Специалисты с большим опытом (Senior) могут получать зарплату больше 200-300 тыс. руб. в месяц.
На рынке встречаются вакансии, в которых предлагают больше 400 тыс. руб. в месяц. Например, такую зарплату может получать Android Team Lead, то есть человек, который управляет командой разработчиков.
Если говорить о мобильных разработчиках-фрилансерах, то стоимость одного часа разработки на Android у частных специалистов может доходить до 1500-2000 руб. Средней ставкой можно назвать около 1000 руб. за час работы хорошего специалиста.
Сделай сам
Возьмите в руки камеру, снимите что-нибудь
Неважно, насколько мелкое и нелепое, неважно, кто в кадре. Напишите в титрах, что вы режиссер
И все — вы режиссер. Остается только торговаться за бюджет и гонорары.
Джеймс Кэмерон
Что нужно сделать, чтобы выпустить собственную игру? С чего начать?
Во-первых, нужна команда разработчиков. Для типичной игры потребуются как минимум программист и художник. Без программиста не будет вообще ничего, а без художника можно сделать разве что текстовый roguelike. Если вы рассчитываете на какое-то продвижение проекта в прессе — было бы неплохо взять в команду еще и PR-менеджера со знанием английского языка.
Учитывая, что бюджет на разработку игры, как правило, нулевой, будущих разработчиков стоит искать среди своих друзей. Наверняка у вас есть одаренные знакомые, которые как раз думают, куда приложить энергию. Одногруппник решает задачи по программированию за десять минут? Знакомая девушка отлично рисует пони, летающих в облаках? Друг лучше всех играет блюз? Здорово! Их таланты можно смешать в одном флаконе и посмотреть, что из этого получится.
С командой определились. Теперь стоит собраться в одном месте и подумать, как будет выглядеть ваша будущая игра. Лучше всего запастись бумагой с ручками и записывать все идеи, которые рождаются во время мозгового штурма. Пиксель-арт и стилизация под ретро? Манипуляции со временем? Новый жанр, не имеющий аналогов? Все это вполне может сработать. Для инди нет никаких запретов, более того — чем вычурнее идея, тем больше шансов, что вас заметят. Главное — планируйте реальную игру, на разработку которой у вас хватит сил. Если в голову пришла мысль сделать MMORPG для всех жителей Земли разом — это, конечно, хорошо, вот только даже Blizzard вряд ли возьмется за игру такого масштаба.
Чтобы трезво рассчитывать силы — лучше сразу договориться про определенные сроки. Одного месяца на первую игру вполне должно хватить. Художник как раз нарисует десяток героев и локации, а программист успеет написать несложный движок. Энтузиазм имеет свойство кончаться, и если на месяц его обычно хватает, то позже у кого-то появляются новые дела, другой разработчик начинает лениться… В итоге игра рискует вообще не дожить до запуска.
В процессе разработки старайтесь показывать промежуточные версии всем друзьям — так вы проверите работоспособность игры на различных компьютерах и сможете лучше сбалансировать проект на основе их отзывов.
На что еще обратить внимание? По возможности старайтесь выпустить игру не только на PC, но и под Mac и Linux. На этих платформах есть множество игроков, поддерживающих инди, — поделившись с ними игрой, вы сможете обрести верных союзников
В связи с этим вашему программисту стоит обратить внимание на кроссплатформенные движки вроде Unity или Flash.
Хорошая техподдержка не менее важна, чем хороший код
Многие айти-специалисты нелюдимы и обладают высоким уровнем ЧСВ. В обычной жизни мы считаем это своей фишкой и не испытываем серьезных проблем. Но все меняется, когда нам приходится работать в команде, а еще хуже — выполнять работу технической поддержки.
Общение с технически неграмотной аудиторией может быть очень болезненным и стоить миллионы нервных клеток. Но это совсем не значит, что пользователей нужно игнорировать и уж тем более посылать далеко.
Я получаю десятки писем в день. Юзеры спрашивают меня, как включить функцию, включатель которой находится в самом верху окна настроек. Они спрашивают, почему я не реализую поддержку WhatsApp, хотя я отвечал на этот вопрос уже пятьдесят раз и даже включил его в FAQ. Многие пользователи просят добавить определенную функциональность, а некоторые покрывают матом, когда я отказываю.
Я стараюсь отвечать всем, независимо от того, насколько банальный вопрос задает пользователь. Есть только два способа сделать так, чтобы я намеренно не ответил: написать не имеющее отношения к приложению письмо и начать спамить одинаковыми вопросами. Остальным: добро пожаловать.
Благодаря такому отношению выигрывают все. И разработчик, который имеет множество преданных пользователей, и сами пользователи, которые в любой момент могут получить ответ на любой вопрос или сообщить о баге, чтобы разработчик исправил его в ближайшем обновлении.
Звуковое сопровождение и музыка
Выбор музыки и звуков должен быть тщательно продуман и соответствовать жанру и настроению игры. Музыку можно использовать как фоновый звук на протяжении всей игры, а также в определенных моментах, чтобы подчеркнуть ключевые события или переходы между уровнями.
Для создания звуков в игре можно использовать различные инструменты и программы. Некоторые разработчики предпочитают создавать собственные звуки с помощью инструментов для записи и обработки звука, таких как Audacity или Adobe Audition. Другие же предпочитают использовать готовые звуковые библиотеки, которые можно найти в интернете.
Важно учесть, что звуки должны быть в хорошем качестве и должны соответствовать атмосфере и стилю игры. Также не забудьте о звуковых эффектах, которые можете добавить для придания реализма и эффектности действиям игрока
Хорошо подобранный звуковой фон и музыка могут сделать игру более привлекательной и запоминающейся для игроков. Звуковое сопровождение и музыка являются важными составляющими игрового процесса и могут повысить его качество и эмоциональную составляющую.
Подведем итоги:
- Выберите музыку и звуки, соответствующие жанру и настроению игры.
- Создайте собственные звуки или используйте готовые звуковые библиотеки.
- Обеспечьте хорошее качество звуков и эффектов.
- Добавьте звуковые эффекты для придания реализма и эффектности игровым действиям.
- Не забудьте о балансе звука и музыки, чтобы они не отвлекали от игрового процесса.
Следуя этим рекомендациям, вы сможете создать увлекательную и эмоционально насыщенную игру с качественным звуковым сопровождением и музыкой.
Информация: как разработчика, у вас есть магическая система тегов
Теги, добавленные игроками, влияют на показы игры на других страницах Steam, особенно на страницах других игр, в разделе «Похожие товары»
Очень важно количество людей, применивших тег, но у вас, как разработчика, есть супер секретная сила для буста тегов. Если вы войдёте в Steam с учётной записью, используемой для Steamworks, зайдёте на страницу своей игры в магазине и добавите тег, у этого действия будет больший вес — официально это в документации не отражено, но я слышал, что подобный голос равен 50 обычным
Не стоит пытаться обойти систему, почитайте документацию в Steamworks по тегам — там есть много специфических сведений о том, какие теги учитываются и как вычисляется их вес, что может повлиять на то, какие из них вы хотите повысить. Я получал различных отзывы от других разработчиков на этот счёт, некоторые говорят, что это неплохо бустануло им трафик. Думаю, это помогло и Gunpoint, чуть меньше Heat Signature. Этот аспект сильно варьируется и зависит от типа игры и от того, насколько популярные игры похожи на вашу, насколько ваша игра похожа на них.
Как выбрать платформу для мобильной разработки
Ранее мы условно разделили мобильную разработку на два направления: по цели продукта и по техническим параметрам. И если первый пункт на момент освоения профессии несильно повлияет на образовательный процесс, то выбор платформы имеет принципиальное значение.
Чтобы определиться, на чем писать код, начинающий специалист может идти двумя путями: от личных предпочтений (попробовать разные варианты и остановиться на том, что нравится больше) до следования требованиям конкретного работодателя, в команду которого хочет попасть.
Стоит отметить, что крупные IT-компании отдают предпочтение «чистым» разработчикам, в совершенстве владеющим одной платформой (iOS или Android). «Смешанные» специалисты, практикующие гибридную и кроссплатформенную разработку, интересуют их чуть меньше.
Многие советуют начинать свой путь в мобильной разработке именно с Android. А если в мобайл вы пришли без IT-бэкграунда — тем более. Это объясняется доступностью техники и информации, обилием структурированных гайдов и книг для освоения платформы.
Невозможные баги возможны
За время поддержки приложения вы наверняка не раз столкнетесь с людьми, которые запустят ваше приложение в нестандартных и не предназначенных для него условиях и будут отписываться о багах. Самый простой пример: принудительно перевернуть приложение в ландшафтный режим при том, что оно должно работать только в портретном.
Можно только гадать, какие цели преследуют такие пользователи, но со временем они научат вас игнорировать невозможные баги. И будьте уверены, именно в этот момент появится настоящий невозможный баг, который затрагивает не только людей со странностями.
Вы уже три раза проверили код и не смогли повторить его на всех эмуляторах и смартфонах? Проверьте код еще три раза и в этот раз запустите приложение на всех-всех эмуляторах и смартфонах.
Инфо: списки желаемого играют огромную роль
Нужно добиться того, чтобы как можно больше людей добавило вашу игру в список желаемого в Steam перед запуском, т.к. это самый эффективный из известных мне способов повлиять на продажи вашей игры в момент выхода. В момент запуска Heat Signature была в желаемом у 33,000. Через месяц после релиза количество «желающих», купивших игру, было 30,000. Конечно, некоторые из них могли добавить игру в желаемое в течении месяца, но это всё равно неплохое соотношение.
- Письма от ноунеймов обычно идут прямиком в спам.
- Это бесплатно. К примеру, на данный момент я трачу 220$ на отправку писем связанных с Suspicious Developments (я все ещё делаю эти рассылки, да).
Списки желаемого также .