От идеи до реализации: пошаговое руководство по созданию и публикации собственной игры на платформе Steam

Разработчики игр и ПО

Карьерный рост и перспективы профессии

В Android-разработке, как и везде в IT, новичок начинает с позиции Junior, затем прокачивает скиллы и становится Middle. Через несколько лет может претендовать на позицию Senior, а наиболее успешные дорастают до тимлидов.

С 2016 года в СМИ ходили слухи, что Google скоро заменит Android новой операционной системой Fuchsia — и Android-разработчики останутся не у дел. Всё прояснилось в 2019 году на конференции Google I/O: руководитель направления Android Хироши Локхаймер заверил, что компания не собирается отказываться от Android для смартфонов. Fuchsia будут применять в умных домах, носимой электронике и устройствах дополненной реальности.

Ступени развития

Требования, которым должен соответствовать Android-разработчик (developer) зависят от того, на какую именно «ступень» развития он претендует. Чем выше «статус» сотрудника, тем больше задач он будет решать. И тем выше окажется его зарплата на выходе.

Существуют такие уровни у developers:

  1. Junior (Джуниор). Это – новичок. Он либо учится в университете, или недавно выпустился. Иногда занимается помощью «основным» разработчикам.
  2. Middle. Вторая ступень развития. Требования к такому подчиненному – навык работу 2-4 года. Он сможет создавать небольшие проекты и даже руководить ими.
  3. Senjor (Синьор). Это – наивысшая ступень, которую предусматривает соответствующая профессия. Опыт работы должен быть от 5 лет. Это – мастер-универсал. Настоящий профессионал своего дела. Он полностью сопровождает проект от начала до конца. Иногда – тестирует ПО.

На сайте по трудоустройству можно отыскать уровень зарплаты каждого подобного подчиненного. Новички обычно получают от 40 000 рублей в месяц в России.

Требования к Android-разработчику

На хорошей работе требования к Android-разработчику примерно выглядят так:

  • Отличное знание Android SDK (версии 16 и новее).
  • Знание Java и Kotlin.
  • Опыт работы с Gradle.
  • Понимание принципов ООП, MVP и MVVM.
  • Умение работать с отладчиком и Layout Inspector.
  • Понимание основных принципов работы с многопоточностью.
  • Знание протоколов HTTP, HTTPS.
  • Знание формата JSON и библиотек, упрощающих работу с ним.
  • Умение проектировать пользовательский интерфейс.
  • Умение писать поддерживаемый и тестируемый код.
  • Навык оформления кода в соответствии с JavaDoc.
  • Опыт работы с Linux.
  • Знание английского языка.
  • Приветствуется умение читать чужой код искать необходимые решения в сторонних приложениях.

Проектирование и схематичная отрисовка разных состояний приложения

Создание уровней и задач

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

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

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

Важно создать разнообразие задач, чтобы игра не стала однообразной и монотонной

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

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

Создание уровней и задач — творческий процесс, который требует времени и усилий

Однако, если подходить к нему со страстью и вниманием к деталям, можно создать увлекательную и интересную игру, которая понравится игрокам

Реклама своими силами

В будущем на рынке останется два вида компаний: те, кто вышел в интернет, и те, кто вышел из бизнеса.

Билл Гейтс

Чтобы рекламировать игру, в первую очередь нужно сделать для нее сайт

Сайт — это очень важное место, куда будут обращаться за информацией как пресса, так и игроки. Не обязательно сильно заморачиваться с дизайном — главное, чтобы сайт был информативным и понятным

Посетитель должен легко найти краткое описание по игре и подборку демонстрационных скриншотов с концепт-артом. Если есть трейлер — его стоит разместить на самом видном месте. Видео отлично подходит, чтобы продемонстрировать основные идеи игры.

На сайте обязательно должен быть размещен пресс-пак. Это логотип, все скриншоты и трейлеры по игре, упакованные в одном архиве. Не забудьте оставить свои контакты. Лучше всего, если это будет именно адрес электронной почты, а не отдельная страница с формой для связи. Если вы хотите, чтобы пресса о вас хорошо отзывалась, хотя бы сделайте работу журналистам чуточку проще.

Чтобы держать связь с прессой, нужно грамотно готовить и рассылать свои пресс-релизы. В идеале стоит обратиться к одному из зарубежных PR-агентств — потратив несколько сотен долларов, вы получите грамотную рассылку по своему проекту. Если же денег совсем нет — пресс-релизы придется писать самим. Вот несколько нюансов:

  1. Пишите грамотно. Если пресс-релиз на английском и он содержит кучу ошибок — это очень плохо.
  2. Общайтесь вежливо. «Здравствуйте», «До свидания», «С уважением», «Мы ответим на все ваши вопросы», «Если вы не хотите получать от нас письма, мы можем убрать ваш e-mail из нашего списка» — вот в таком ключе стоит писать.
  3. Краткость — сестра таланта. Журналист вряд ли дочитает до конца трехстраничную историю о том, как вы позавтракали, пошли выгуливать собаку, чуть не попали под машину и внезапно вам пришла в голову идея игры. Лучше ограничиться перечислением основных особенностей проекта и кратким пересказом сюжета.
  4. Если есть возможность — предложите рабочую версию для обзора. Журналистам всегда интереснее пощупать проект самим, нежели фантазировать об игре и переписывать пресс-релиз своими словами.
  5. Можно использовать графику в оформлении письма, но не перегибайте палку. Одного красивого скриншота или арта для пресс-релиза будет достаточно. Все остальное собирайте в пресс-пак и добавляйте ссылку на скачивание в конце письма.
  6. Держите связь. Если журналист ответил на ваше письмо и хочет узнать какие-то подробности — вы должны полностью удовлетворить его интерес. Единственное — не соглашайтесь ни на какие взятки. Редко, но встречаются порталы, где об игре предлагают написать хороший обзор за деньги. Такую прессу мало кто читает, так что лучше с ними не связываться.

Графическое оформление

Ни одна успешная игра не обходится без красивой графики, поэтому создание дизайна – один из важнейших этапов разработки. Дизайн на ОС Android реализовывается с помощью «дизайн-документа» или диздока. Начать создание игрушки нужно именно с его детальной проработки. В файле содержится:

  1. Объектные модели;
  2. Функциональные спецификации;
  3. Игровой контент;
  4. Интерфейс.

Рассмотрим каждый из пунктов более подробно.

Объектные модели

Это информация о функционале каждого предмета. Объектные модели отвечают за возможность покупки и продажи предметов, а также за улучшение игровых характеристик персонажей.

Функциональные спецификации

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

Игровой контент

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

Интерфейс

Интерфейс – это то, как пользователь будет взаимодействовать с игрой. Он включает в себя кнопки, с помощью которых можно управлять персонажем, и разделы меню: например, играть, счет, настройки, топ игроков, справка. Если вы не имеете опыта в создании приложений на Андроид, перед созданием собственного скачайте с Плей Маркета и проанализируйте популярные игры и перенесите лучшие решения в свой проект.

Какое будущее у мобильной разработки

Эксперты отмечают экспоненциальный характер развития сферы мобильных систем в целом и разработки приложений в первую очередь. Еще 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. Другие же предпочитают использовать готовые звуковые библиотеки, которые можно найти в интернете.

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

Хорошо подобранный звуковой фон и музыка могут сделать игру более привлекательной и запоминающейся для игроков. Звуковое сопровождение и музыка являются важными составляющими игрового процесса и могут повысить его качество и эмоциональную составляющую.

Подведем итоги:

  1. Выберите музыку и звуки, соответствующие жанру и настроению игры.
  2. Создайте собственные звуки или используйте готовые звуковые библиотеки.
  3. Обеспечьте хорошее качество звуков и эффектов.
  4. Добавьте звуковые эффекты для придания реализма и эффектности игровым действиям.
  5. Не забудьте о балансе звука и музыки, чтобы они не отвлекали от игрового процесса.

Следуя этим рекомендациям, вы сможете создать увлекательную и эмоционально насыщенную игру с качественным звуковым сопровождением и музыкой.

Информация: как разработчика, у вас есть магическая система тегов

Теги, добавленные игроками, влияют на показы игры на других страницах Steam, особенно на страницах других игр, в разделе «Похожие товары»

Очень важно количество людей, применивших тег, но у вас, как разработчика, есть супер секретная сила для буста тегов. Если вы войдёте в Steam с учётной записью, используемой для Steamworks, зайдёте на страницу своей игры в магазине и добавите тег, у этого действия будет больший вес — официально это в документации не отражено, но я слышал, что подобный голос равен 50 обычным

Не стоит пытаться обойти систему, почитайте документацию в Steamworks по тегам — там есть много специфических сведений о том, какие теги учитываются и как вычисляется их вес, что может повлиять на то, какие из них вы хотите повысить. Я получал различных отзывы от других разработчиков на этот счёт, некоторые говорят, что это неплохо бустануло им трафик. Думаю, это помогло и Gunpoint, чуть меньше Heat Signature. Этот аспект сильно варьируется и зависит от типа игры и от того, насколько популярные игры похожи на вашу, насколько ваша игра похожа на них.

Как выбрать платформу для мобильной разработки

Ранее мы условно разделили мобильную разработку на два направления: по цели продукта и по техническим параметрам. И если первый пункт на момент освоения профессии несильно повлияет на образовательный процесс, то выбор платформы имеет принципиальное значение. 

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

Стоит отметить, что крупные IT-компании отдают предпочтение «чистым» разработчикам, в совершенстве владеющим одной платформой (iOS или Android). «Смешанные» специалисты, практикующие гибридную и кроссплатформенную разработку, интересуют их чуть меньше.

Многие советуют начинать свой путь в мобильной разработке именно с Android. А если в мобайл вы пришли без IT-бэкграунда — тем более. Это объясняется доступностью техники и информации, обилием структурированных гайдов и книг для освоения платформы.

Невозможные баги возможны

За время поддержки приложения вы наверняка не раз столкнетесь с людьми, которые запустят ваше приложение в нестандартных и не предназначенных для него условиях и будут отписываться о багах. Самый простой пример: принудительно перевернуть приложение в ландшафтный режим при том, что оно должно работать только в портретном.

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

Вы уже три раза проверили код и не смогли повторить его на всех эмуляторах и смартфонах? Проверьте код еще три раза и в этот раз запустите приложение на всех-всех эмуляторах и смартфонах.

Инфо: списки желаемого играют огромную роль

Нужно добиться того, чтобы как можно больше людей добавило вашу игру в список желаемого в Steam перед запуском, т.к. это самый эффективный из известных мне способов повлиять на продажи вашей игры в момент выхода. В момент запуска Heat Signature была в желаемом у 33,000. Через месяц после релиза количество «желающих», купивших игру, было 30,000. Конечно, некоторые из них могли добавить игру в желаемое в течении месяца, но это всё равно неплохое соотношение.

  1. Письма от ноунеймов обычно идут прямиком в спам.
  2. Это бесплатно. К примеру, на данный момент я трачу 220$ на отправку писем связанных с Suspicious Developments (я все ещё делаю эти рассылки, да).

Списки желаемого также .

Оцените статью