Мое мнение о разработке компьютерных игр.

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

Да было время
Да было время

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

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

Для удобства в ориентировании

1. Движок это важно.

Какая махина
Какая махина

Насчет тега про движок я не согласен, это как раз важно, вы же не будете движок от «Феррари» вставлять в трактор или же движок от танка вставлять в автобус? Если же вы решите выбрать движок просто по наитию или из-за популярности, то вы можете столкнуться со следующими проблемами:

Не найти работу связанную с выбранным движком

Не найти разработчиков, связных с этим движком, и остаться в полном одиночестве со своими проблемами

Столкнуть с особенностями движка, что приведет тупо к потере времени и переносу проекта на другой, более нормальный движок

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

Зачем вам такое хобби, которое может по итогу не принести никакой пользы?

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

Но если это вас не останавливает, то вот вам мой совет.

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

2. Как же это БЛЯТЬ работает?!

Шутки для технарей
Шутки для технарей

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

Ну что, гуманитарии, хотите игрушку сделать, расписали множество тетрадей, набрали множество референсов, там механики какие-нибудь интересные описали, сюжет крутой аж на 2000 страниц в Word лежит, а сеттинг такой уникальный, что нигде такого не было, и это самое уникальное, что есть в этом мире. Не спорю, это всё полезно и нужно, но пора уже начать ДЕЛАТЬ игру.

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

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

Готовы ли вы к технической ебли?

Игры это не только сюжет, написанный Нилом Дракманном, это не только интересный дизайн Hollow Knight: Silksong, не только хардкорный геймдизайн Хидэтаки Миядзаки, это еще и техническая ебля, которая будет преследовать вас до самого релиза. Это сейчас есть игровые движки, но даже это в них есть костыли, о которых вы даже не догадывайтесь. Жалуетесь на оптимизацию в новых играх, ну так что хотели, нужно воевать за каждый бит, за каждый полигон, за каждую функцию и еще при этом смотреть, чтобы всё не развалилось.

Здесь другие ребята, 100 отборных солдат С++, с книжками «Чистый код» наперевес и SOLID-молитвами на устах.

Мне больше всего нравится один из выпусков подкаста «Как делают игры», который является хорошим примером, как даже такой движок, как Урина Енжен, может иметь свои подводные камни, которые еще надо найти и переписать, вот ссылка:

Но если это вас не останавливает, то вот вам мой совет.

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

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

3. Только практика, теория придет следом 😎.

Время дикого ФОНКА, ПЛЮС УЛЬТРА МОРАЛЬ
Время дикого ФОНКА, ПЛЮС УЛЬТРА МОРАЛЬ

«Пуньк среньк, я писал месяц функцию просчета попадания снаряда, я такой молодец, я такой крутой разработчик»

Съеби под камень уёбище, время переходить на дотерский.

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

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

Так и останешься ебучим ничтожеством, что только и может двигать квадратики по экрану? Может пора уже взять жизнь за яйца?

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

А вы что думали, весь мир будет ждать, пока вы будете программировать черепашку в Godot? Что думали, что не будете кранчить? Думали, будете сидеть, попивать латте и не спеша делать игру?

Сам лично застал, как вышла Урина Энжен 4, а уже после Урина Энжен 5, как появился VR, как появился Godot, как обновился Blender. IT-рынок постоянно развивается, быстрая обучаемость является важным навыком, но еще важнее быть решительным и не бояться применять свои знания, иначе можно много пукать, можно много сренькать, но теория без практики это НИЧТО. Даже если вы решили избрать путь соло-разработчика и готовы пожертвовать 5 лет на долгую разработку своей игры, это вам ничего не даст. Думаете, что сможете не попасть в болото бесконечной теории и кто-то будет ждать, пока вы сделаете свой более крутой Балдурс Гейт? ЛОЛ, когда вы уже закончите, уже выйдет Балдурс Гейт 6 или Халф Лайф 3, а ваша игра никому будет не нужна.

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

Но если это вас не останавливает, то вот вам мой совет.

Для активных пацанов, которым надоело постоянно учиться, есть очень быстрый способ на практике получить полезные навыки, которые явно бустанут вас как разработчиков, и это участие в Game Jam. Собираешь сквад своих пацанов, обученных настолько хорошо, что в школе вас называют ЧВК «ГОДОТ». После начинаешь открывайте itch.io (спасибо, что заблокировали их) ну или какую либо альтернативу, гуглить ты умеешь, всё что надо найдешь. Забивайте время, отпрашивайтесь там или же берите больничные, чтобы уже к ближайшему Game Jam вы были подготовлены, выспавшимися и морально заряженными, и вперед к победе.

Эх, помню свой первый Game Jam, 48 часов без сна, челендж, ускоренное моделирование в Blender, быстрое прочтение документации, чтобы наша художница могла рисовать на 3D-модели, а еще нужно было подготовить проект, как-то его рекламировать. Много ошибок я тогда совершил, но точно скажу, что за эти 48 часов я получил больше, чем за 5 лет обучения в своем институте. Приятно ощущать эту мощь, когда то, что ты делал, было не просто так. Скажу так, хорошее поколение растет, не тормозит, скорее стараются приобрести навыки, которые позволят им прилично зарабатывать. К чему я это, просто с нами участвовал пацан лет 11, он отпросился у родителей, чтобы поучаствовать в Game Jam, в одно лицо разрабатывал игру на GameMaker, вместе с нами 48 часов с перерывами на сон, крутой пацан, надеюсь с ним все хорошо.

Всегда можно что то сделать, в любом возрасте, главное просто начать, АУФ.

Наслушались фонка? Теперь время грустить, переходим к следующему пункту.

4. Стоическое НИЧЕГО

Пора принять правду
Пора принять правду

Что технари, думаете, я не найду, что сказать вам? А тут есть у нас над чем задуматься, и для гуманитариев творческих профессий это очень даже знакомая тема, можно сказать, основополагающая, которая определяет вас как творца.

Для чего же люди рисуют картины, записывают музыку, снимают фильмы, разрабатывают игры? Правильно, для удовлетворения своего творческого ЭГО, это необходимость доказать, что именно твоё творчество самое лучшее на планете, и каждый человек должен увидеть его. Люди ради этого жертвуют всем, кто ухом, кто попадает в психушку, и всё это делается для НИЧЕГО, ради малого шанса, что кто-то когда-то оценит вас по достоинству. Ваш бюст будет стоять в городе, про вас будут писать множество статей о том, какой вы крутой, но на самом деле это малый процент, и сколько много людей умерло и разрушило свои жизни ради того, чтобы остаться по итогу никому не нужными, с разрушенной судьбой и жизнью.

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

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

Зачем ты это все делаешь?

Простой вопрос, который, как заковырка, застрянет в вашей голове. Выходите периодически на улицу, смотрите на людей, что просто любят жить, а ты, как голем, идешь в темноту и снова корпеешь над НИЧЕМ. А ты что думал, будешь получать моральную поддержку каждый день от своих близких? Конечно же нет, для них это всё тупое хобби, лучше прошел бы курс по 1С или же стал сварщиком. Листаешь такой ленту и видишь, как какой-нибудь школьник под фонк учит тебя жизни и говорит, какой он крутой разработчик, сколько он много зарабатывает денег на «Яндекс.Играх», какие у него шикарные метрики, и тут у тебя просыпается ярость, что копилась долгое время. Есть хороший интерактивный фильм, называется он «Чёрное зеркало: Брандашмыг», идеально показывает, что вас может ждать, если вы решите пойти в геймдев.

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

Но если это вас не останавливает, то вот вам мой совет.

Готовитесь, советую два подкаста на тему разработки компьютерных игр:

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

Морально не сдаваться, не увлекаться и периодически просто любить жить. Также советую читать DTF, особенно в эту категорию:

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

Заключение

На этом все
На этом все

Начну с того, что я мечтал стать разработчиком компьютерных игр, и разработку я начинал на тогда только вышедшем Урине Енжене 4. Никакой проект не довел до конца, в одних проектах просто лежат экспортированные модельки из «Блендера», в других прототипы каких-либо базовых механик. Смерился, что ничего не добьюсь в геймдеве, так и жил бы, но мечта о разработке игры до сих пор не дает мне покоя. Когда изучал бэкенд, я думал о том, как бы я смог внедить сетевые технологии в свою игру мечты. Сейчас бывает помешательство, с нифига открываю какую-нибудь модуль по типу PyGame или же игровой движок по типу Godot и ковыряюсь, ковыряюсь в нём, а после успокаиваюсь.

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

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

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

11
9
1
1
37 комментариев