Как я перестал бояться и полюбил игрострой.

    История о том, как я загорелся игростроем и как затем остыл к нему.

    Начало 2012 года. Тогда я понемногу увлекался небольшими инди-играми. Они цепляли какой-нибудь своей идеей и относительно быстро отпускали. Но их было уже тогда крайне много.

    Примерно в то же время я познакомился с «игровым движком» Unity. Он сумел меня заинтересовать, и я подумал, а почему бы и мне не создать какую-нибудь маленькую игру. Местом познания вселенной разработки игр был выбран небольшой но уютный форум Game Creating CommUnity. Я попал на него почти в самом его расцвете, но сейчас он практически мёртв.

Хоррор мечты

    Свою игру я видел, как бродилку в подземных тоннелях со скриммерами. Визуально игра должна была напоминать Метро 2033, но с более минималистичной графикой. По геймплею была похожа на Amnesia, т. е. мы просто ходим и пугаемся. Ещё одним вдохновителем была игра SCP-087 — Лестница.

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

    Языком программирования внутри Unity был выбран (скорее всего броском монетки) Unity JavaScript или UnityScript. В интернете уже было достаточно стартовых уроков и видео на русском языке, и я принялся изучать. Спустя примерно неделю просмотров роликов на ютубе и чтения различных обучающих постов, я понял, что мой прогресс близок к нулю и я начал заставлять себя пробовать что-либо писать.

    Первым делом я начал с генерации тоннелей. Создал несколько примитивных тетрис-фигур из встроенных в Unity кубов, определил у них при помощи прозрачных триггеров начало и конец, и на конечный триггер повесил скрипт, создающий другую фигуру-тетрис, если игрок к ней приближается. За один вечер я смог набросать примитивный код, который создавал мои фигуры. Каждый раз при запуске я с радостью наблюдал всё новых и новых причудливых змей.

NLg78oI
Один из тестов генерации тоннеля.

    Для тестирования работы скрипта, я просто начал бегать по генерируемой передо мной дороге, наблюдая за работой моего творения. В какой-то момент я заметил, что бегать по этим дорожкам достаточно увлекательно. Если это действительно интересно мне, то почему это не будет интересно ещё кому-нибудь?

White track

    Я решил повременить с амбициозным хоррором (который я бы всё равно не закончил) и создать игру попроще. В одном из 3D редакторов я создал пару примитивных фигур с закруглёнными краями, собрал из них различные сегменты тропы, прикрутил к этому всему счётчик очков, метров и таймер, постоянно подгоняющий игрока, закинул десяток треков со своего плейлиста и 22.03.2012 первая версия White track увидела свет.

g3oqeRX
White track в одной из первых версий.

    Суть игры достаточно проста: просто бежать вперёд. Есть таймер, который стремится к нулю, а на пути встречаются бонусы, добавляющие время (каждый раз всё меньше, чтоб игра не была бесконечной). Элементы разных цветов ведут себя по-разному: оранжевый — подчиняется законам физики; красный — исчезает при соприкосновении; чёрный — мгновенно убивает и т. д.

    Игру я самостоятельно выкладывал на форуме GCC и отправлял на сайт small-games.info. Игра была встречена тепло, и я принялся за дальнейшую работу. Буквально за первую неделю я выпустил ещё 3 обновления, но в дальнейшем я старался над каждым обновлением работать всё дольше.

1n9gapS
Сегменты, из которых собирается тропа.

    Генератор тропы становился всё сложнее и умнее, число сегментов для генерации постоянно расло, игра становилась шире, разнообразнее, приятнее.

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

Hy7kwgf
Периодический наклон тропы — не самая лучшая идея, но прожила какое-то время в игре.

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

    Примерно спустя год, вначале 2013 года, разработка игры существенно замедлилась. Энтузиазм не спеша спадал, а встроенный в Unity стандартный контроллер (отвечает за главного персонажа и управление им) начал меня не устраивать, а точнее меня не устраивало то, что на него другие объекты почти не влияют, что любое взаимодействие с физикой происходит через костыли. Я начал задумываться о создании своего собственного контролера, который бы физически корректно взаимодействовал с окружающими объектами. Пусть у меня и были успехи в данном направлении, этот новый контроллер совсем не ложился на уже существующую игру и её бы пришлось переписывать почти с нуля. Я оказался на распутье. В качестве временного решения, я прикрутил некоторые новшества при помощи костылей к старому контроллеру и добавил в игру.

Interference0

    21.10.2013 случился анонс конкурса для разработчиков игр: Gaminator 13. Задачей стояло — за 3 недели собрать игру на определённую тему. В данном конкурсе темой оказалось «Большое и маленькое». Я решил принять участие, чтоб отвлечься от White track и её полного переделывания.

u3CDj8o
Игра Intenference для конкурса.

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

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

    Планов на конкурсную работу было не сильно много, большую часть из которых я успел реализовать. Но вот превратить мой проект в законченную игру я не сумел. В игре было 2 уровня, которые заканчивались банальным выходом в меню. Даже банальную надпись «Конец» я не удосужился прикрутить.

    Моя игра заняла 4 место из 16. Достаточно неплохой результат, но тогда я был всё же слегка расстроен.

jk8QC1i
Одна из новых локаций.

    После конкурса я решил сперва закончить Interference0 (как я её позже переименовал), а затем вернуться к White track. За год я переработал некоторые механики, избавившись от второго уровня я продлил первый раза в 3−4 и ещё по мелочи. Работа шла с переменным успехом, я периодически её забрасывал, потом возвращался вновь. Мотивации и энтузиазма начало не хватать.

Factory red army

    12.10.2014 случился анонс конкурса Gaminator 15. В этот раз я так же решил принять участие, т.к. мотивация работать над своими проектами постепенно угасала. В этот раз тема была: «Выход за грань».

nwvHbLN
FRA — конкурсная игра.

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

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

    За две с половиной недели, я сумел привести игру в законченный вид. Из 26 игр, моя игра не заняла призового места. Спустя время недостатки игры стали видны всё лучше. Самое главное — это слишком медленный процесс. Не знаю куда я тогда смотрел, но играть сейчас в неё очень больно и скучно.

ScoT6qS
Старая и новая модели юнита из игры FRA.

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

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

9Ke0Cm3
Ещё один незаконченный проект.

Последние попытки.

    После середины 2015 года, стало всё сложнее и сложнее браться за работу. Осознав, что на руках имею три начатых и незаконченных проекта (не считая FRA для Gaminator 15), я начал осознавать, что совсем не способен ставить конечные цели и задачи, а также достигать их.

    Я попытался вернуться к тому, с чего начал и продолжить работу над White track. Начал опять же с доведения до ума контроллера игрока. Я садился за работу, но, спустя короткое время, вновь бросал. Работа перестала приносить удовольствие. Заставлять себя было всё сложнее и сложнее.

LG32Uq4
Последний рабочий скриншот.

    Последний рабочий пост, под названием «День первый», вышел 04.11.2015. Название этого поста, как символ моей беспомощности, слабости и лени, очень долго красовалось в качестве последнего. Очень стыдно. С тех пор стараюсь, с переменным успехом, не давать обещаний вовсе. Последний скриншот работы над играми датируется 26.02.2016. С этого момента я больше не прикасался ни к одному из своих проектов.

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

Заключение

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

    Вернусь ли я когда-либо к разработке видеоигр? Возможно. Но точно не в ближайшем будущем.

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