История о том, как я загорелся игростроем и как затем остыл к нему.
Начало 2012 года. Тогда я понемногу увлекался небольшими инди-играми. Они цепляли какой-нибудь своей идеей и относительно быстро отпускали. Но их было уже тогда крайне много.
Примерно в то же время я познакомился с "игровым движком" Unity. Он сумел меня заинтересовать, и я подумал, а почему бы и мне не создать какую-нибудь маленькую игру. Местом познания вселенной разработки игр был выбран небольшой но уютный форум Game Creating CommUnity. Я попал на него почти в самом его расцвете, но сейчас он практически мёртв.
Хоррор мечты
Свою игру я видел, как бродилку в подземных тоннелях со скриммерами. Визуально игра должна была напоминать Метро 2033, но с более минималистичной графикой. По геймплею была похожа на Amnesia, т.е. мы просто ходим и пугаемся. Ещё одним вдохновителем была игра SCP-087 - Лестница.
Игра должна была генерировать из заранее заготовленных элементов разные лабиринты из тоннелей при каждом старте игры. Даже, по возможности, менять их за спиной героя. Уверен, я на придумывал много чего ещё, но уже и не вспомню. Я вообще болею тем, что часто генерирую множество идей, которые руки не доходят реализовывать.
Языком программирования внутри Unity был выбран (скорее всего броском монетки) Unity JavaScript или UnityScript. В интернете уже было достаточно стартовых уроков и видео на русском языке, и я принялся изучать. Спустя примерно неделю просмотров роликов на ютубе и чтения различных обучающих постов, я понял, что мой прогресс близок к нулю и я начал заставлять себя пробовать что-либо писать.
Первым делом я начал с генерации тоннелей. Создал несколько примитивных тетрис-фигур из встроенных в Unity кубов, определил у них при помощи прозрачных триггеров начало и конец, и на конечный триггер повесил скрипт, создающий другую фигуру-тетрис, если игрок к ней приближается. За один вечер я смог набросать примитивный код, который создавал мои фигуры. Каждый раз при запуске я с радостью наблюдал всё новых и новых причудливых змей.
Один из тестов генерации тоннеля. |
Для тестирования работы скрипта, я просто начал бегать по генерируемой передо мной дороге, наблюдая за работой моего творения. В какой-то момент я заметил, что бегать по этим дорожкам достаточно увлекательно. Если это действительно интересно мне, то почему это не будет интересно ещё кому-нибудь?
White track
Я решил повременить с амбициозным хоррором (который я бы всё равно не закончил) и создать игру попроще. В одном из 3D редакторов я создал пару примитивных фигур с закруглёнными краями, собрал из них различные сегменты тропы, прикрутил к этому всему счётчик очков, метров и таймер, постоянно подгоняющий игрока, закинул десяток треков со своего плейлиста и 22.03.2012 первая версия White track увидела свет.
White track в одной из первых версий. |
Суть игры достаточно проста: просто бежать вперёд. Есть таймер, который стремится к нулю, а на пути встречаются бонусы, добавляющие время (каждый раз всё меньше, чтоб игра не была бесконечной). Элементы разных цветов ведут себя по-разному: оранжевый - подчиняется законам физики; красный - исчезает при соприкосновении; чёрный - мгновенно убивает и т.д.
Игру я самостоятельно выкладывал на форуме GCC и отправлял на сайт small-games.info. Игра была встречена тепло, и я принялся за дальнейшую работу. Буквально за первую неделю я выпустил ещё 3 обновления, но в дальнейшем я старался над каждым обновлением работать всё дольше.
Сегменты, из которых собирается тропа. |
Генератор тропы становился всё сложнее и умнее, число сегментов для генерации постоянно расло, игра становилась шире, разнообразнее, приятнее.
Разрабатывая игру, я старался привносить всё новые и новые механики, постепенно разноображивая и усложняя её. Но, не обладая достаточными знания в сфере разработки игр, я зачастую её ухудшал. Иногда я сразу получал критику и прислушавшись отказывался от неудачного решения, а иногда неудачные решения задерживались в игре дольше - тем неприятнее было откатываться назад.
Периодический наклон тропы - не самая лучшая идея, но прожила какое-то время в игре. |
02.07.2012 вышел первый обзор на мою игру. Это было невероятное удовольствие наблюдать как кто-то играет в твою игру и делится своими впечатлениями. Я даже стал своего рода наркоманом, периодически роющим интернет в поисках нового обзора на мою игру.
Примерно спустя год, вначале 2013 года, разработка игры существенно замедлилась. Энтузиазм не спеша спадал, а встроенный в Unity стандартный контроллер (отвечает за главного персонажа и управление им) начал меня не устраивать, а точнее меня не устраивало то, что на него другие объекты почти не влияют, что любое взаимодействие с физикой происходит через костыли. Я начал задумываться о создании своего собственного контролера, который бы физически корректно взаимодействовал с окружающими объектами. Пусть у меня и были успехи в данном направлении, этот новый контроллер совсем не ложился на уже существующую игру и её бы пришлось переписывать почти с нуля. Я оказался на распутье. В качестве временного решения, я прикрутил некоторые новшества при помощи костылей к старому контроллеру и добавил в игру.
Interference0
21.10.2013 случился анонс конкурса для разработчиков игр: Gaminator 13. Задачей стояло - за 3 недели собрать игру на определённую тему. В данном конкурсе темой оказалось "Большое и маленькое". Я решил принять участие, чтоб отвлечься от White track и её полного переделывания.
Игра Intenference для конкурса. |
Моей игрой стал платформер от вида сбоку. Небольшой оранжевый куб преодолевал препятствия, спасаясь от опасностей. В какой-то момент в игре появлялся огромный куб, пытающийся всячески нас уничтожить, параллельно местами разрушая уровень.
В этот раз играбельная поверхность была заранее создана, а случайно генерировался лишь задний и передний фон. Поведение большого куба было полностью заскриптовано, что давало некоторый простор для создания различных ситуаций.
Планов на конкурсную работу было не сильно много, большую часть из которых я успел реализовать. Но вот превратить мой проект в законченную игру я не сумел. В игре было 2 уровня, которые заканчивались банальным выходом в меню. Даже банальную надпись "Конец" я не удосужился прикрутить.
Моя игра заняла 4 место из 16. Достаточно неплохой результат, но тогда я был всё же слегка расстроен.
Одна из новых локаций. |
После конкурса я решил сперва закончить Interference0 (как я её позже переименовал), а затем вернуться к White track. За год я переработал некоторые механики, избавившись от второго уровня я продлил первый раза в 3-4 и ещё по мелочи. Работа шла с переменным успехом, я периодически её забрасывал, потом возвращался вновь. Мотивации и энтузиазма начало не хватать.
К концу лета 2014 года я загорелся идеей поделиться с обществом некоторым моим знанием. Не думаю, что я в то время в чём-либо хорошо разбирался, но тогда я решил, что могу быть кому-либо полезен. Я немного набил руку в GUI и решил по нему сделать видео урок. Первый и последний видео урок вышел 11.08.2014 и хоть и смотрится он сейчас со скрежетом, думаю, получилось вполне не плохо для первого раза. Но, можно было бы разобраться в теме и по лучше.
Factory red army
12.10.2014 случился анонс конкурса Gaminator 15. В этот раз я так же решил принять участие, т.к. мотивация работать над своими проектами постепенно угасала. В этот раз тема была: "Выход за грань".
FRA - конкурсная игра. |
Игра начиналась как пародия на Galaga, но в один момент происходил своего рода "Выход за грань" и игра превращалась в полноценный экшен от вида сверху. Мы исследовали локации, которые должны были напоминать завод или вроде того, а конечной целью был побег.
В этот раз я так же не стал отказывать своему минималистичному стилю. Случайная генерация осталась так же в фоне, а некоторые стены и юниты также по физике разрушались, как и в моей предыдущей игре.
За две с половиной недели, я сумел привести игру в законченный вид. Из 26 игр, моя игра не заняла призового места. Спустя время недостатки игры стали видны всё лучше. Самое главное - это слишком медленный процесс. Не знаю куда я тогда смотрел, но играть сейчас в неё очень больно и скучно.
После конкурса я загорелся доведением этой игры до ума. Начал я с того, что пошёл изучать Blender, чтоб больше не лепить игры из примитивов.
Старая и новая модели юнита из игры FRA. |
Новые модели пошли игре на пользу, юниты стали ещё красивее разлетаться по кусочкам, добавил пару новых эффектов, но в какой-то момент я потерял интерес и к этому проекту.
Ещё один незаконченный проект. |
Последние попытки.
После середины 2015 года, стало всё сложнее и сложнее браться за работу. Осознав, что на руках имею три начатых и незаконченных проекта (не считая FRA для Gaminator 15), я начал осознавать, что совсем не способен ставить конечные цели и задачи, а также достигать их.
Я попытался вернуться к тому, с чего начал и продолжить работу над White track. Начал опять же с доведения до ума контроллера игрока. Я садился за работу, но, спустя короткое время, вновь бросал. Работа перестала приносить удовольствие. Заставлять себя было всё сложнее и сложнее.
Последний рабочий скриншот. |
Последний рабочий пост, под названием "День первый", вышел 04.11.2015. Название этого поста, как символ моей беспомощности, слабости и лени, очень долго красовалось в качестве последнего. Очень стыдно. С тех пор стараюсь, с переменным успехом, не давать обещаний вовсе. Последний скриншот работы над играми датируется 26.02.2016. С этого момента я больше не прикасался ни к одному из своих проектов.
В последующие годы я периодически планировал возобновить работу, обдумывал в уме и на листочках некоторые идеи, но так ни разу к Unity и не прикоснулся. Да и без практики, программирование со временем начало забываться, что так же отталкивало желание заниматься играми.
Заключение
В целом, хоть конец моей карьеры разработчика видеоигр получился совсем бесславным, у меня остались только положительные эмоции о том времени. Я знакомился с интересными людьми, узнал много нового, окунулся в уютное коммюнити игроделов, погрузился в этот увлекательный мир игростроя, где ты - архитектор своих собственных миров.
В настоящий момент я вновь решил связать свою жизнь с программированием, но не в качестве хобби, а в качестве профессии. Я окончил курсы Java разработчика и сейчас нахожусь в поиске своей первой работы программистом, а также подтягиваю свой уровень Английского языка. Всё-таки мне нравится программировать, но в этот раз я хочу работать бок о бок со специалистами.
Вернусь ли я когда-либо к разработке видеоигр? Возможно. Но точно не в ближайшем будущем. Разве что в качестве практики какой-либо технологии на Java и чего-либо совсем уж крохотного по своиму масштабу.
Привет!
ОтветитьУдалитьЭто FunnyAlien с GCC. Я в итоге стал frontend-разработчиком. Уже давно senior react developer
Могу подсказать, помочь, направить, пиши в телеграм @trplfr
Привет. К сожалению, IT сфера в Беларуси всё ещё находится в шоке. Вакансий для джунов нет совсем. Я снова устроился инженером, чтоб переждать это сложное время и попробовать попасть в IT позже. Спасибо за предложение!
Удалить