Цена мечте

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


1 этап

С 14 лет после игры в ММО решил, что хочу стать разработчиком игр. Начал с создания своих серверов для LineAge II и сайтов к ним. На какое-то время поставил затею на паузу, так как не знал куда двигаться и как.


2 этап

После девятого класса поступил в ИТ колледж, где познакомился с программированием. Программа по программированию предполагала изучение в начале алгоритмов, а затем Pascal. На алгоритмах (блок-схемах) программирование завлекло мозг полностью. Начал уже с этого этапа подрабатывать помощью одногруппникам и позже даже всему потоку. После перехода от алгоритмов к Pascal через несколько пар решил, что очень мало и долго рассказывают и решил купить книгу. В итоге выучил сам процедуры и функции. На тот момент ООП было в голове, но применения ему пока не находил, может не до конца понимал или задачи не требовали. Уже на втором курсе начал изучать С++ с OpenGL вместо Pascal, потому что посчитал, что Pascal сильно ограничен. Думал, что надо начать разработку игр с создания своего движка. Попался на тот самый большой камень, который потянул интерес к разработке на дно. Во время учебы создавал небольшие сайты и пытался сделать крохотную игру в духе танчиков на Pascal. Даже нарисовал танка и заставлял его двигаться. В колледже был одним из лучших программистов (конечно стоит согласиться с тем, что специальность Прикладная информатика в экономике не дает глубоких знаний по программированию, потому что ООП и паттерны проектирования нам даже не рассказывали).


3 этап

После колледжа поступил в ВУЗ на специальность Информационная безопасность. Думал, что будут рассказывать про вирусы и операционные системы на низких уровнях, а было больше про техническую информационную безопасность, как то: ПЭМИН, юридическая составляющая и прочее. На этом этапе разрабатывал больше вспомогательный софт. Создал крестики-нолики и чат на сокетах на Delphi и много-много прочего софта для решения небольших задач. Из игр занимался прототипированием на Processing, некоторые имеют главный экран и меню. Весь список игр (правда без ссылок и скриншотов, если будет интересно, то могу куда-нибудь выложить):

- Space Invaders;

- Arkanoid;

- Tetris;

- Snake;

- леталка с видом сверху;

- шутер с видом сверху про атаку военной базы (игра включала два разных вида оружия, что было прорывом для себя лично);

- атмосферная игра про Путешествие.


Ближе к концу обучения и к диплому начал изучение LibGDX и основ программирования в духе GOF и Чистого кодо Роберта Мартина. Параллельно изучал Unity, познакомился с основами и начал изучать работу с сетью. В дальнейшей хотел изучить AI.


Но история сложилась иначе. Решил, что надо создать свою первую полноценную игру. Увидев потенциал в LibGDX, выбрал его "движком" для первой игры. В качестве жанра был выбран PacMan. Разработка длилась 1 год и 3 месяца по вечерам в свободное время. Сначала описал диаграмму классов, начал писать код. После завершения большей части кода перешел к дизайну. Очень долго выбирал способ создания персонажей. Решил, что нужен 3D-редактор. Начал изучать работу с 3Ds Max, но понял, что это очень муторно с нуля создавать персонажей и анимировать их. После этого попробовал то же в Maya и пришел к тому же выводу. В конце концов остановился на Poser. В нем и персонажи по-умолчанию нормальные и анимации у них есть. Немного доработав, вставил в игру. После этого проработал остальные части дизайна в виде декораций. Почти полностью изучил Photoshop. На дизайн ушло практически пол года или около того. В завершение разработки нашел звук, немного его обработал и добавил к игре. 3 марта 2017 года игра оказалась в Google Play. Ссылка для тех, кому интересно: https://play.google.com/store/apps/details?id=ru.pascalman.d.... На текущий момент игра имеет 179 загрузок, а прошло уже больше полу года.

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

На последнем курсе ВУЗа устроился на работу, сначала по трехмесячным договорам, затем по трудовой, где и работаю сейчас. Почти по профилю, правда уровень ниже желаемого - писать макросы, а не игры и даже приложения под Android. Параллельно этой работе вел разработку DormitoryMan и участвовал в LD #38 (следующий этап).


4 этап

Следующий этап был небольшой. Подготовка к нему заняла больше времени, чем сам этап. Заключался он в участии в Ludum Dare #38. Если кто не слышал о LD, то это конкурс разработчиков игр за зрительские симпатии. Некоторые проекты на нем есть действительно потрясающие. И если участвовать в нем даже в пол силы, то можно познакомиться с крутыми и уникальными идеями.

Языком выбрал Processing.js, потому что есть сайты, которые его выполняют (openprocessing.org, например) и он легок для разработки, имеет большое количество готовых библиотек, например, для работы со звуком и простенький движок для игр (p5.play). Звук записывал на собственной кухне с помощью своего ноутбука. Прототипировал в альбоме, дизайн рисовал в Photoshop. Ссылка на проект в Openprocessing.org: https://www.openprocessing.org/sketch/422870. Получил 2 лайка на сайте Openprocessing.org и занял около 700+/2500 место на ldjam.com в общем рейтинге, было еще более высокое место по категории юмора, но не называю его из-за того, что не помню, а сайт закрыт без активного ивента. Их основной портал: http://ludumdare.com/. Результатом очень доволен даже несмотря на то, что хотел принять участие в Compo, а удалось только в Jam. На первый дается 24 часа, а на второй 72. Кроме демонстрации своего проекта как раз познакомился с другими крутыми идеями и похожими играми.

Собственно весь этап этому и был посвящен.


5 этап

После участия в LD #38 решил, что надо заняться разработкой еще одной игры. Популярными играми были и есть Match 3. Думал, что смогу на волне популярности добиться миллиона загрузок и на рекламе начать зарабатывать хотя бы что-то. С мая по конец октября 2017 года вел разработку своей последней игры - Travel Jewel (ссылка на Google Play: https://play.google.com/store/apps/details?id=ru.pascalman.t...).

Разработка Match 3 далась много легче, чем аналога PacMan. Тема игры - путешествия по городам России и рассказ об их достопримечательностях. Начинается путешествие в Петропавловске-Камчатском и проходит по всем большим городам России. В дизайне присутствуют почти все элементы убранства кораблей, будь то: канаты, дерево, старая бумага, бочки и даже якори. Фоновой музыкой выбран звук прибоя и периодический крик чаек. Игровые камни - сами достопримечательности. По началу было сложно сделать их не монотонными и при это разными, оттенки были очень похожи друг на друга. Дизайн рисовался в Illustrator, звук брался с открытых источников. Могу сказать, что разработка шла по большей части очень гладко и легко. Возможности движка известны, идея не включает кучу спецэффектов и игровой логики. Дизайн, не смотря ни на что, все равно отнял большую часть времени. Игра была опубликована 20 октября 2017 и заработала 3 загрузки (от самых близких друзей, судя по всему). Поэтому итогом разработки является факт того, что игра не взлетела. Возможно, что интересней играть в конфетные Match 3.


Чего это стоило, итог всех мытарств

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

Подумай трижды перед тем, как решать тратить свободное время на разработку игр, читатель! А я попробую свои силы в B2B-секторе. Всем спасибо и удачи!