О том, как довести первый проект до конца

в 17:06, , рубрики: unity3d, разработка игр
image

Приветствую всех читателей данной статьи! Около двух лет назад я впервые открыл Unity и осмотрел просторы этого движка. И показался мне он чем-то невероятно сложным и запутанным. И вот я, обладая лишь начальными знаниями по программированию на C, решил сделать полноценную игру своей мечты, поскольку был наслышан о низком пороге вхождения.

Но теперь я могу сказать: я один из немногих, кто довёл свой первый проект до релиза! Сделал это, причём, не вложив в него ни копейки.

Часть 0, или первое знакомство

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

Я заинтересован в первую очередь в создании 2D игр. Не потому, что я не смогу сделать 3D игру (я экспериментировал с 3D и раньше, правда, без программирования, но какие-то платформеры получались), но потому, что 2D графика, на мой взгляд, открывает больше возможностей для геймплея, сюжета, делает игру более нереалистичной.

Часть 1, или идеи и восторги

image

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

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

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

Но вскоре мне это надоело, и я совершил открытие.

Открытие № 1: мир должен быть максимально доступен для исследования. Даже в поуровневой игре.

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

Первый добавленный транспорт просто поднимался в воздух, как воздушный шар. Когда игрок касался его, он садился в транспорт (то есть их Rigidbody2D просто скреплялись), а по нажатию пробела или специальной кнопки мог и вылезти. Это уже добавило возможность свободного полёта и большего простора для создания уровней и освоения территории.

Часть 2, или воплощение идей

image

Ободрённый первым успехом, я начал добавлять множество разных объектов, начал разбираться с анимацией (ключевые кадры оказались знакомыми по Blender), и следующий вид транспорта уже стал анимированным: на сцену вышел мяч-оркестр. Я обнаруживал новые функции 2d-движка Unity и создавал новый контент: так появились коробки, ветер, снеговик, плесневики, которые падали со своих мест от звуков оркестра… Но энтузиазм постепенно начал угасать.

В самом деле, фанатов игры не было, опыта не было, разобраться во многом было сложно, а введение новых функций создавало множество проблем: я ещё многого не понимал и дрожал от каждой ошибки, выдаваемой компилятором.

Часть 3, или терпение, терпение и терпение

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

Открытие № 2: Требуется много терпения. Очень много терпения. Особенно если ты единственный энтузиаст в команде.

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

Часть 4, или выпускаем игру в свет

image

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

Открытие № 3: уровни должны ставить игроку задачи разного плана, но постепенно знакомить с правилами игры

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

Я очень спешил до релиза, поэтому кое-что решил отложить на потом.

Интерлюдия, или откуда брать ресурсы

Рисовать мне пришлось самому, поскольку я единственный разработчик. Получилось… удовлетворительно. Впрочем, можете судить сами. Здесь лучше просить помощи у художника, если он знает своё дело. Хотя с переходом на рисование изначально в векторной графике мой стиль рисования немного улучшился.

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

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

Часть 5, или оценка игроков

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

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

— неудобное управление: персонаж имел большую инерцию
— отметили посредственную графику
— игроки могли застревать на одном уровне и не проходить дальше
— и наоборот, некоторым она казалась слишком лёгкой

Часть 6, или работа над ошибками

image

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

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

Открытие № 4: прислушивайтесь к своим фанатам

Конечно, если вы разработчик 2D-игры типа «3 в ряд», а вам предлагают перевести в 3D, да добавить режим, где вы ходите по лабиринтам и стреляете в кристаллы, то кидаться всё переделывать, конечно, же не надо. А иногда предлагают идеи и абсурднее. Но всё же, фанаты — прямые пользователи, которые могут подсказать, что захотят увидеть в продукте. Так, например, появился сложный режим. Я скрежетал зубами, наступил кризис, подобно тому, что в части 3, но более мелкий: я уже знал, что игра в целом нравится людям. И я сделал.

А ещё таким же образом меня почти что заставили мучиться с ракурсами и камерой и полностью переделать уровень, где на игрока падали ящики. Но теперь игрок видел, откуда на него они летят и когда надо уворачиваться.

Часть 7, или мы идём на большую аудиторию

image

Эта часть закончена ещё не до конца. Несмотря на то, что аудитория достаточно преданная, она оказалось весьма небольшой. Я не был уверен в сроках выпуска и успехе, поэтому начал продвигать игру только где-то за месяц до выпуска обновления. И только в социальных сетях. И только в ВКонтакте. На Twitter и Facebook меня заблокировали (видно, за отсутствие друзей и подписок), но это отдельная история. Тем не менее, сейчас я пытаюсь реабилитироваться и готовлюсь к выпуску в Play Market.

Кстати, оказалось, что, хотя социальные сети активно советуют, я смог привлечь с помощью них только около 30 подписчиков и 200 просмотров глобального обновления. А скачали всего-то около 80. Как жаль. Что характерно, запись выложила группа составом около 3 тыс. подписчиков, но просмотрело около 20 против моих 200. Кажется, это далеко не самый эффективный метод.

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

Автор: AllSoliton

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js