Как карантин помог мне стать разработчиком игр

Как карантин помог мне стать разработчиком игр Gamedev, Gamemaker Studio 2, Android разработка, Инди, Игры, Indiedev, Разработка, Личный опыт, Длиннопост

Шутка, конечно. А может быть и нет. Как бы то ни было, вчера в google play появилась моя первая игра. Подтолкнуло меня к этому то, что предприятие наше в конце января разогнало всех сотрудников по собственному желанию, после чего я слетал в запланированный заранее отпуск, а потом оказался на карантине без работы. Игра проще не придумаешь — смесь тетриса и... ну... чего-то еще. Суть игры в складывании значений падающих блоков, для их уничтожения. Если поле переполнено — поражение. Конечно, это не та игра, о которой я всегда мечтал. И я делал уже более интересные демки. Но это первая игра, которую я опубликовал. Моей целью было, в первую очередь, понять процедуру того, как устроен процесс разработки и публикации, поэтому я сразу решил делать максимально простую игру. Но выпускать очередной унылый платформер или TDS  не хотелось, а браться за серьезную работу вот так без опыта мне показалось неправильным. Так и появился Арифметрис. В качестве движка я выбрал Gamemaker studio 2 от yoyogames по нескольким причинам. Первая: я не программист. Огромный плюс gamemaker в том, что у него очень простой и понятный интерфейс, логика работы и свой собственный упрощенный язык программирования. Вторая причина: среда разработки у меня уже была. Несколько лет назад я уже было решил попробовать себя в индустрии, купил полный комплект первой версии студии за баснословные, кажется, 759 баксов. А позже купил и лицензию на вторую версию движка. Но всё, что я выпустил за это время — несколько проектов для джемов на форуме. Итак, движок есть, идея есть.

Как карантин помог мне стать разработчиком игр Gamedev, Gamemaker Studio 2, Android разработка, Инди, Игры, Indiedev, Разработка, Личный опыт, Длиннопост

Игровые ресурсы.

Графику я решил для начала сделать максимально простой и не отвлекающей. Так как я графический дизайнер, эти ваши адоби фотошопы и иллюстроторы мне вполне по плечу. Но задача была не в том, чтобы сделать игру с поразительным дизайном. Поэтому всё максимально аскетично. Шрифт из числа тех, что можно использовать бесплатно. Им я не очень доволен, потому что уж очень тонкий, планирую заменить в скором времени. Кстати говоря, работа с шрифтом в движке построена следующим образом: все нужные символы переносятся на специальные атласы, превращаясь просто в растровые спрайты. Это значит, что для каждого отдельно взятого размера и начертания будут свои спрайты. И что информацией о кернинге можно подтереться. Для меня это стало ужасной новостью. Но возможно с этим можно сто-то сделать, надеюсь, что так. Потому что то, во что превращается шрифт вызывает у меня боль. Звуки подбирал из открытых источников, в основном на фрисаунде.

Как карантин помог мне стать разработчиком игр Gamedev, Gamemaker Studio 2, Android разработка, Инди, Игры, Indiedev, Разработка, Личный опыт, Длиннопост

Игровой процесс и мои мысли насчет его улучшения.

Релизная версия состоит из единственного режима и трех уровней сложности. Программа выдает игроку задание набрать нужную сумму. Кликая по блокам, их значения суммируется, пока не наберется точно искомая сумма. Если результат будет выше, то блоки загораются красным и звучит сигнал. Сейчас я не доволен этим дизайнерским решением и переделаю его в ближайшее время. Суть в том, что сейчас игра никак не наказывает за ошибку и это позволяет халтурить и тыкая примерно наугад подбирать нужные значения. Меня такой расклад не устраивает. Планирую реализовать следующим образом: кроме того, что есть сейчас включается небольшая тряска экрана на пол секунды, во время которой блоки нельзя перевыбрать. Но это что касается классического режима, а я хочу добавить еще аркадный. В нём при переполнении суммы следующий блок будет вычитать свое значение, а не прибавлять. В это режиме также будут блоки увеличенного размера, замороженные, которые неактивные некоторое время, золотые, добирающие до нужного значения автоматически, крепкие, которые уничтожаются только после второго раза, взрывающиеся, отрицательные и удваивающие очки финального счета. Также в планах подвезти мультиплеер, где два игрока будут собирать блоки на одном поле, но у каждого будут свои очки. Правда на текущий момент я мало знаю про нетворкинг, с этим еще предстоит разобраться. Также я не доволен алгоритмом подбора задачи и раздачи значений блокам. Игра не допускает случаев, когда игрок не сможет собрать искомую сумму. Но старается слишком сильно. Я планирую поправить его, чтобы не было ситуацийЮ когда половина поля усеяна блоками со значениями 30-50, а вторая половина единицами и двойками. У меня уже есть мысли, как организовать это, сделаю в ближайших обновлениях. Кроме того я уже готов добавить поля других размеров, но еще не придумал, как причесать интерфейс под это дело, потому что главное меню и так уже щеголяет братской могилой из иконок на голове, нужно поработать над этим.

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

1) Нужно фиксировать задачи и ход их выполнения. Иначе очень легко закопаться в фичи, у меня такое бывало раньше. Хорошо помогает Трелло. Пишешь, что в работе, что на ближайшее будущее, а что в хотелки. Даже если работаешь один.

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

3) Но и делать слишком длинные перерывы тоже не стоит. Какие-то мелочи важные забываются, если отрываешься от проекта надолго. Особенно критично, если не комментировать код, как я.

4) Комментировать код.

5) Английский язык. Я занимаюсь английским с преподавателем онлайн последние полтора года. Это сильно помогло мне, потому что на русском языке информации мало и она, зачастую, уступает англоязычной.


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

Как карантин помог мне стать разработчиком игр Gamedev, Gamemaker Studio 2, Android разработка, Инди, Игры, Indiedev, Разработка, Личный опыт, Длиннопост

Лига Разработчиков Видеоигр

6.8K постов22.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"