Всем привет!
[ВСТУПЛЕНИЕ]
В прошлой публикации я написал, что расскажу о трудностях, встречающихся на пути инди-разработчика. Снизу перечислены проблемы, связанные с выбором движка, продвижением игры в массы, а также ограниченностью в ресурсах, а также представлены советы по их решению.
[ВЫБОР ДВИЖКА]
Первое с чем приходится столкнуться начинающему разработчику при создании игры - это выбор движка, который будет являться основной всему проекту. При выборе игрового движка я рекомендую обратить внимание на следующие аспекты:
1) Системные требования. Данный пункт является самым важным, поскольку разработка игры - это длительный процесс. Если компиляция занимает крайне длительный промежуток времени, а IDE неимоверно лагает, то хватит вас ненадолго. С этой проблемой я столкнулся при разработке своей первой игры, Unity и Unreal точно отпадали как игровые движки, поскольку железо у меня было весьма слабое, даже IDE неимоверно лагали (Visual Studio, Android Studio), но я очень хотел создать свою игру, поэтому нашел оптимальное решение в виде Solar2D (к сожалению, я тогда не знал о Godot, движок весьма легкий (весит всего пятьдесят с чем-то мегабайт) и шустрый). В данном движке присутствовал свой быстрый эмулятор и удобная компиляция .apk, .aab файлов, в качестве IDE я использовал Atom.
2) Язык программирования. Ключевое требование для языка программирования - это соответствие вашему уровню подготовки и вашим целям. Если вы не желаете сильно углубляться в программную часть игры, то можете воспользоваться технологиями визуального программирования или подобрать простые для изучения языки программирования. Что же касается моей первой игры, то в Solar2D используется такой язык программирования как Lua. Я никогда раньше не писал на нем и больше специализировался на C# и C++. В целом это не было большим препятствием, однако порой не хватало тех или иных фишек уже знакомых мне языков.
3) Наличие документации или гайдов в интернете. Чем известнее выбранный вами движок, тем больше видеоуроков и полезных статей вы сможете найти по нему, не стоит пренебрегать этим, особенно если вы только начинаете свой путь в геймдеве и не сильно знакомы с процессом разработки игр. По Solar2D в интернете присутствует небольшое количество гайдов, в основном меня спасала документация, которая, к слову, была на английском языке, так что если вы не сильны в нем, то должны быть особенно внимательны к этому пункту.
[ПРОДВИЖЕНИЕ ИГРЫ]
Если вы хотите значительного успеха в разработке игр, то вам не обойтись без инструментов для продвижения своей игры. Речь идёт о том, что любой игре требуется реклама в том или ином виде, чтобы игроки могли узнать о ней и дать свой фидбэк по ощущениям от игрового процесса. Я считаю, что существует два основных способа продвижения игры:
1) Закупка рекламы. Данный способ заключается в покупке показов рекламных роликов для целевой аудитории.
Плюсы:
+ Экономия времени;
+ Быстрое привлечение новых игроков;
+ При помощи закупок можно проверить потенциальную ценность вновь созданной игры.
Минусы:
- Требуется подготовить рекламные материалы (баннеры, видео);
- Требуются денежные вложения;
- Нужно умение собирать и анализировать рекламные метрики;
- Нужно постоянно уделять внимание тому, производится ли закуп в плюс или минус для того, чтобы в случае колебаний не потерять больших денег.
2) Самопродвижение. Этот метод подразумевает рекламу игры своими силами при помощи создания контента и его распространения через разнообразные медиа.
Плюсы:
+ Не требуются денежные вложения;
+ Общение с аудиторией происходит напрямую;
+ Возможность получать обратную связь от игроков еще на этапе разработки.
Минусы:
- Большие затраты времени на подготовку контента;
- Высокие требования к качеству контента;
- Требуется стабильно выпускать какие-либо материалы.
Если говорить о моем опыте продвижения игр, то в своем первом проекте я не использовал никакие из перечисленных выше методов, поскольку цель моей первой игры заключалась в проверке моих сил закончить проект. Тем не менее, когда я начал работать над Call of Ocean, то необходимость в публикации и продвижении информации об игре была очевидна, поэтому я советую каждому уделить тщательное внимание данному аспекту.
[ОГРАНИЧЕННЫЕ РЕСУРСЫ]
Крайне важно понимать, что у инди-разработчиков весьма ограниченные ресурсы для разработки игры, для крупных AAA-проектов требуются соответствующие команды, поэтому с целью адекватной оценки собственных сил я могу дать следующие рекомендации:
1) Специализируйтесь на определенной нише. Не стоит пытаться делать игры всех видов, специализация на каком-то одном типе игры позволит вам повторно использовать ваш код и уделить большее внимание качеству контента, а также позволит разобраться в предпочтениях вашей аудитории.
2) Пользуйтесь ассетами и готовыми библиотеками. Если вы все-таки решили делать технически сложный проект относительно небольшой командой, то вам обязательно стоит пользоваться ассетами и готовыми библиотеками, в особенности если они проверены временем. Для небольших проектов этот вопрос является делом вкуса, поскольку каждые по-разному относятся к применению чужих наработок, ведь зачастую это кот в мешке.
3) Выберите себе основное направление и развивайтесь в нем. У каждого есть свои любимые аспекты в разработке игр: кому-то нравится программировать, кто-то любит писать диалоги, продумывать квесты и т.п. Каждому разработчику важно понимать, что его привлекает больше всего и развиваться в этом направлении, а задачи которые менее интересны постараться минимизировать или отдать на выполнение другим людям.
[ЗАКЛЮЧЕНИЕ]
Данный пост получился весьма объемным, изначально я хотел написать чуть больше рекомендаций, однако решил, что оставшиеся советы лучше отложить на потом, чтобы не перегружать эту статью. В следующей публикации я расскажу о своем прогрессе в написании тренировочного движка.
Спасибо за внимание!