16 сентября 2023 16.09.23 19 1912

Как пересобрать себя и не сойти с ума

+25

Привет! Пришло время продолжить историю о моем пути в геймдев.

Сразу сделаю уточнение, что этот текст является продолжением прошлой статьи, и тем, кто хочет полноценно погрузиться, рекомендую сначала прочитать предыдущий лонг. Для тех, у кого нет такого желания, максимально краткий пересказ: меня зовут Дима, сейчас мне 31, с детства мечтал разрабатывать игры. Закончил школу, бездельничал пару лет, в 20 благодаря своей женщине полюбил программу 3ds Max и в итоге стал архитектурным визуализатором. Несмотря на хороший заработок, настолько нагрузил себя работой, что превратил некогда любое занятие в завод, выгорел дотла и просто стал люто ненавидеть свое ремесло. Однако, в страхе стать бомжом, продолжал покорно брать заказы, и так все было до 24 февраля 2022 года, когда в одно мгновение изменилась моя жизнь и все ценности. Поблагодарив 3D за все и обняв напоследок, я начал свою дорогу в геймдев. Продолжим.

Не имея никаких идей для будущей игры, я понимал, что главное  — начать обучение, а со всем остальным буду разбираться по ходу дела. Для поиска нужных уроков, первое с чем нужно определиться — это игровой движок. Выделив два лидера на сегодняшний день — Unreal Engine и Unity, мой окончательный выбор пал на Unreal, так как он больше заточен под 3D (в котором у меня большой опыт) + у нас уже было небольшое знакомство — я переносил несколько своих архитектурных 3D проектов в интерактивные сцены на UE4.

Еще был очень весомый аргумент — визуальное программирование. Кто не знает, на Unreal Engine можно сделать игру любой сложности, не напечатав ни одной строчки кода. За это отвечает нодовая система визуального программирования Blueprints (далее блупринты) и вместо того, чтобы писать руками код для передвижения героя из точки А в точку Б, ты просто ставишь ноду движения и вписываешь координаты, откуда и куда нужно добраться персонажу. Да, их тоже нужно уметь грамотно применять, но это всяко лучше, чем куча непонятных букв и цифр на экране. Смотря на код своих друзей программистов, у меня всегда было отторжение, будто меня заставляют читать египетские письмена. Так что блупринты были спасением.

Скачав целую кучу уроков и UE5 Beta, я начал изучать как от кружка, нарисованного на бумаге, дойти до шарообразного игрового персонажа; что такое игровая логика, как через пробел научить героя прыгать, почему физику нужно умножать на дельта секунды и как можно случайно попасть в бесконечный цикл и нужно будет завершать процесс в диспетчере задач. Полностью посвящая себя изучению 24/7, слушая разные подкасты про разработку игр, смотря видео на youtube от других разработчиков я чувствовал свое ментальное перерождение. Мысли и идеи кипели в моей голове. Вспоминая последние годы рабской рутины, я снова почувствовал себя живым. К тому же, каждый день приближал меня к своей собственной игре. Но…

В жизни часто возникает свое «но», и в моем случае, чем больше я вникал в игровую тематику, тем больше я понимал, что на первую разработку я потрачу три, а то и больше лет. Смотрите, в мои планы не входило выучить Unreal и пойти в контору делать 3 в ряд, начиная как старший помощник младшего конюха; я не хотел открывать свой Blizzard, так как у меня пока нет таких амбиций и финансов, чтобы платить людям зарплату; ну и еще вариант найти себе подобных инди разработчиков и начать создавать проект своей мечты. Возможно последнее — это то, что нужно, но желания делать подобное у меня отсутствовало. Вы спросите почему, но я снова (как и в прошлой статье) не смогу ответить на некоторые вопросы. Возможно, хочу, чтобы мой продукт игрался и выглядел так, как только я хочу, не знаю… В общем, перспектива одиночного долгостроя меня не привлекала, но и в команду мне не хотелось.

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

  • Лена, у тебя есть минутка? Мне нужно с тобой серьезно поговорить.
  • Ты меня пугаешь. Что такое?
  • Нет, нет, успокойся, все хорошо. Мне всегда нравились твои художественные работы. Ты же училась на дизайнера, у тебя было много уроков по рисунку, да?
  • Ну, когда-то было, да, нравилось рисовать, но это все было так давно. А что такое?
  • Слушай, ты знаешь, что такое пиксель-арт?
  • Нуууу… это стиль как на старых приставках?
  • Да-да-да.
  • И что?
  • Слушай… Мне нужна твоя помощь. Я сам не верю, что это говорю, но по всей видимости, у меня нет другого выхода. Как смотришь на то, чтобы ты взяла на себя всю графику моей… или уже нашей игры, а я займусь всем остальным?
  • Ну покажи/расскажи мне все подробно, а там будет видно, я в целом не против попробовать.
  • Хорошо, я сейчас тебе скину примеры и попробую найти уроки по твоей теме.
  • А в твоем «Анреале» можно и 2D игры делать?
  • Ой, не спрашивай… Нет, UE4 не был приспособлен делать 2D игры, а в пятой версии вообще вырезали все, что связывало Unreal с 2D.
  • Так, а что теперь делать?
  • Unity… Мне нужно выучить Unity…

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

Что касается моей женщины, Лены, то сомнений в ней у меня никаких не было. Не хочу бросаться красивыми словами, но на данном этапе жизни она мой верный партнер и единомышленник. Несмотря на не самый большой игровой опыт, эта индустрия ее всегда интересовала, а прошлые навыки рисования пригодятся сейчас как никогда (диплом дизайнера до сегодняшнего дня, так ни разу ей и не понадобился). Я накидал ей кучу примеров игр в стилистике пиксель арт, уроков; попытался объяснить, что мне в будущем будет нужно и сказал, что время на обучение есть, так как мне предстоит разобраться с Unity…

Все «прелести» Unity можно почувствовать уже на этапе скачки/настройки. Для начала нужно определиться, какая версия тебе нужна  — свежая или LTS? В чем ты будешь писать код, обычный Visual Studio, например, или Visual Studio Code? А какого года выбрать — 2019 или 2022? Сейчас ответить на все эти вопросы я могу за минуту, но тогда в голове была такая каша, а руки так и тянулись запустить родной Unreal Engine. Но решение принято и дороги назад нет.

Когда все было настроено, а многочасовой курс с 95% положительных отзывов скачан, я впервые запустил Unity. Изучаем интерфейс, создаем квадрат, физика, коллайдеры и вот момент, когда я должен написать свой первый в жизни код. Сказать, что я был в шоке, это ничего не сказать!

В смысле, я должен все это сам писать? Я что, должен все это запомнить? Вот это гигантское предложение из непонятной белеберды, я должен запомнить? Прям обязательно точка с запятой в конце? Какие еще фигурные скобки, как в школе, что ли? Почему на новой строке? В смысле, опять ошибка? Где? Я что, должен все это запомнить?

Цитата ежедневных мыслей в первый месяц изучения программирования для Unity

В общем, стадия принятия — гнев, во всей красе. Приступы тихой ярости одолевали меня каждые пару минут, и это повторялось изо дня в день. Написание кода, по сравнению с блупринтами в UE, казалось прошлым веком. Мозг воспринимал «переезд» как пытку и на отрез отказывался перестраиваться с Unreal’а на другой движок. К тому же, вот с чем мне пришлось столкнуться — если по началу у меня получалось написать хоть какой-то код и я мог выводить «Hello, world!», то через время я дошел до урока, в котором абсолютно ничего не понимал. С одной стороны, это не мешало двигаться дальше, просто проскочить непонятный урок, но в чем смысл? Если я даже с обучением основ не справился. Я раз за разом проходил данный урок и все так же ничего не понимал. Даже начинание всего курса с нуля не принесло никаких результатов. А потом ко мне пришла гениальная мысль, что это курс плохой, и мне нужен другой, хороший! Логично?

Новый курс скачан: урок 1, 2, 3 и ступор, преподаватель что-то требует, но я не понимаю что. Повторяю все по видео, но этого мало. Помимо повторения, нужно еще и понимать, что ты делаешь, а с этим проблемы. Как вы поняли, этот урок тоже плохой!

Открываю новый, на определенном этапе все снова повторяется. И так 5 или 6 разных курсов подряд, после чего приходит осознание, что я тупой и писать код не способен. Но перед тем, как бросить Unity, я зачем-то решаю открыть самый первый курс и попробовать пройти его еще раз, и Эврика! А теперь-то я все понимаю! Это странно (хотя ничего странного), но у каждого преподавателя я учился чему-то новому и полученные знания, например, в четвертом курсе помогли мне пройти первый, а потом уже опыт первого решал все проблемы третьего (извините если запутал).

С тех пор все пошло как по маслу. Я проходил курс за курсом, в которых учился делать разные простенькие игры, записывал любые идеи, приходящие мне в голову, бесконечно мечтал во время принятия пищи и продолжал кодить в голове, после выключения компьютера, находясь в кровати. Что касается Лены, ее жизнь была похожа на мою, тоже все свободное время на обучение, только в ее случае — рисованию и анимации пиксель-арта.

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

Далее я решил еще немного «потренироваться на кошках» и написать своими руками механики из игровой классики. Так появились свои вариации «змейки», «бомбермена», «танчиков» и других игр. Конечно, без видео с ответом под рукой было не так легко, но главная причина, почему я выбрал Unity, а не например Godot (который сейчас набирает дикую популярность), это то, что на 95% твоих вопросов уже дали ответ в интернете, и почти любая проблема, скорее всего, кем-то решена. Вообще я понял — главное научиться мыслить как программа, и писать код станет легко. Даже в повседневной жизни этот навык может помочь (привет дурдом).

Однажды, копируя механику из очередной старой игры, я задумался — зачем я вообще сижу и повторяю что-то чужое, если можно придумать свое и пытаться это написать? И, о черт! Неужели этот момент пришел? Неужели с учебой покончено? Я что, начинаю делать свою игру…!?!

Как-то так проходило мое обучение. А сейчас я покажу вам, чему будет посвящена будущая статья. Моя первая игра сейчас находится в активной разработке, и я прошу вас добавить ее в желаемое (в Steam), это очень поможет в ее продвижении. В следующий раз, я расскажу как искал идеи для игры, делал прототип, десятки раз перерисовывал одни и те же карты и многое, многое другое.

Большое спасибо за прочтение и добавление игры в желаемое, вы большие молодцы! Подписывайтесь и пишите комментарии, до встречи.

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

  • Дима, неужели все может быть так легко, по-детски в 30 лет?

И да, и нет. Пожалуйста, не забывайте, что мне понадобилось почти 20 лет, чтобы прийти к себе и то событие, которое сломало мою прошлую жизнь.

  • Тебе очень повезло с Леной.

Да, наверное да.

  • Лене заняться больше нечем? Она что, не работала?

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

  • Мужик, прошло 7 месяцев, ты что по слову в день писал?

Сразу после написания прошлого лонгрида я решил, что выложу продолжение после того как игра будет в играбельном состоянии (впереди еще очень много работы) + будет готова страница в Steam. Вчера Steam одобрил игру в магазине, сегодня статья выложена в сеть.

  • Да Димон, первая статья то покруче была.

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

  • Почему не выбрал визуальное программирование в Unity (Bolt, Playmaker)?

Я это рассматривал, но по нему не так много уроков, как по c#; он не такой гибкий и удобный как в UE (как мне показалось, может я не прав) и самое главное — я решил, что если уже учу Unity буду как взрослый, исключительно через программирование, чтоб делать абсолютно все что в голову придет.

  • Очередной пиксель-арт, ты с дуба рухнул???

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

  • И что думаешь, ты в будущем выпустишь свой Minecraft и все побегут его покупать?

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

  • Я пришел за ответом, как пересобрать себя и не сойти с ума, а не читать скудоумный рассказ ноунейма!

Тут каждый должен сам решать, я не психотерапевт. В моем случае это максимальный выход из зоны комфорта, просто начать делать то, о чем мечтал много лет. Далее понимаешь, что менять жизнь не так уж страшно. Задаешься вопросом: «Какого черта так долго тянул и не сделал этого раньше?» Потом приходит удовольствие от процесса познания чего-то нового.

  • Правда ли, что дикие лошади спят стоя?

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

Моя игра Just Hide в Steam


Лучшие комментарии

Лучше сделать постоянную демо версию, которая была бы доступная как до, так и после релиза.

Кстати, уважаемый, а что с Вашей целеустремленностью? )) Мы с бородой ждём Ваших блогов, а их всё нет и нет. У Вас довольно интересно получается некоторые темы описывать)

Вот так и запланировал в самом начале разработки, так что демка перед релизом и после точно будет

Рад, что ты не остановился на пути к мечте, не смотря на не самые лучшие обстоятельства. Мне бы такую целеустремленность. Желаю успехов и хороших продаж игры.

Только вернулись с бородой на волны Интернета))) Что ж, два текста — это довольно интересно. Плюс и по Циве будет что-то — интригует. Ибо во вторую часть мы в свое время наиграли сотни часов)) Будем с нетерпеньем ждать.))

Кстати, давайте ранний доступ, если хотя бы 1-2 уровня есть живых (если в ранний доступ не как-то особенно геморойно игры вытаскивать). Визуалка понравилась, один скрин прям Сплинтер Геар Солид напомнил. Хочется потыкать палочкой.

Особенное спасибо Dredlord за комментарий 🙂. Сейчас объясню в чем дело — Лена (моя женщина, которая рисует всю графику) переживала, что ее рисовка хрень; я ее всегда успокаивал говорил, что мы делаем нашу первую игру, опыта у нас ноль, сейчас прошел только год после того как ты узнала что такое пиксель-арт. Говорил ей «Вот увидишь, придет день и я тебе тебе покажу комментарий, где хвалят твою рисовку». Этот день настал, спасибо 😇

Ранний доступ не планирую, хочу сразу выпустить готовый, отполированный продукт. Тут мнение у каждого свое, но я никогда не играю в ранний доступ, следовательно и сам не хочу его делать. Если бы у меня была какая-то RPG или песочница, может я бы думал по другому.

По поводу «Сплинтер Геар Солид» — вообще Just Hide это чтобы было бы если человек у которого любимый жанр стелс, который обожает Splinter Cell, Metal Gear Solid, Thief и Deus Ex решил бы делать игру. В следующей статье подробно расскажу как я к этому пришел

Добрый день. Очень интересная статья!

А без опыта 20-ти лет в 3д, в Юнити зайти с полного нуля будет так же сложно как и вам, или вам все же попроще учитывая ваш 3д-опыт? Как считаете?

И вопросик еще. Отрисовать графику… не обесцениваю труд вашей жены ни в коем случае, но вообще, для вашей игры там прямо много графики нужно рисовать? Такое тз можно поручить группе фрилансеров, например: пяти дизайнерам, один возьмет персонажей, другой картинки для сюжетных вставок, третий — уровни, четвертый — какие-то мелкие детали на уровнях (от фаерболлов и оружия, до каких-то объектов движимых / повторяющихся типа коробок), дать каждому по 200 баксов и уложиться в 1000? Или это намного дороже выйдет? Не сочтите мои вопросы за ламерские, а знайте — они именно такими и являются.

На данный момент пишу два больших текста. Снова связано с историей индустрии. Так долго только потому что, первое: уже есть блоги про это, а повторяться не хочется, и тут надо рассказать то, о чем не рассказывали и подать более оригинально и доступно. Второе: хочу сделать видеоверсию, но это уже по возможности.
Плюс надо как-то продолжать историю Цивилизации, с которой тоже определенные трудности возникли.

Спасибо за лонгрид, жду, когда это перерастёт в дневники разработчиков. Успехов!

Спасибо за комментарий и пожелания. И вам всего хорошего

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

Хороший Лонг! Успехов в твоих начинаниях и пусть это будет только началом)

Спасибо!

Мой предыдущий опыт в том, что я делаю сейчас вообще не важен. Все что я учил было в новинку и с 3D сферой никак не связано. Единственное, что я уже знал, что такое текстуры, материалы и карты нормалей и т. п.

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

Спасибо, очень приятно! И вам успехов на вашем пути 💪🏻

Читай также