Один мой знакомый был программистом веб-сайтов и неплохо знал такой язык программирования, как Java Script. Желание делать игры привело его к Unity благодаря многочисленному сообществу и отличной маркетинговой кампании пути многих начинающих разработчиков упираются именно в Unity. В ходе разработки своего проекта с использованием всех предоставляемых Unity благ он начал спотыкаться о реализацию сложных и глубоких задач, вроде создания AI (искусственного интеллекта) или проработки поведения NPC. Знания Java Script едва ли помогали ему в этом деле. Скорее, напротив, они мешали освоить новую логику в новой среде.
Вместо удобного, раскрученного, многофункционального движка мой знакомый в итоге обратился к более низкоуровневому программированию и начал разработку проекта на «сухом» Java Script с использованием react-компонентов (готовой библиотекой некоторых шаблонов кода для реализации конкретных задач) и массово используемым готовым решением для корректно работающей физики под названием phaser.js. Работа над игрой стала для него куда менее утомительной, среда куда более понятной и знакомой лично ему. Но набор его инструментов выглядит как что-то неповоротливое и сложное! Так почему ему не понравилось работать на Unity?
Его личный опыт, его склад ума и его знания поспособствовали тому, что работа на чем-то более, казалось бы, сложном и неудобном, протекала быстрее и приносила больше удовольствия.
Надеюсь, никто не забыл предисловия к этой книге и не ждет, что я четко скажу вам в одном предложении, какой движок вам выбрать? Я не могу этого сделать проблема выбора движка лежит на вас, я уже перечислил, на что нужно опираться в своем решении. Но я могу дать еще две подсказки.
Во-первых, никто не запрещает вам попробовать каждый из популярных движков. Зайдите на сайт одного из них, посмотрите на игры, которые созданы с его помощью, взгляните на пару вводных уроков и прислушайтесь не к своему разуму, а к более глубоким ощущениям цепляет ли вас хоть чем-нибудь эта программа? А продукты, созданные на ней? У некоторых игр на Unity есть некое неуловимое сходство, отличающее их от игр на Unreal. А какое ощущение оставляет беглый просмотр форума сообщества? Вы почувствуете, как что-то внутри в определенный момент щелкнет и даст ответ на вопрос: «А для меня ли эта программа?»
Если прислушаться к себе окажется чрезвычайно трудной задачей, то скачивайте все подряд движки и пытайтесь в каждом из них выполнить хотя бы один урок. Так вы точно поймете, выполнение какого урока принесло вам удовольствие и на каком движке стоит остановиться. Без удовольствия от работы вы ни за что не заставите себя провести месяцы, а может быть, и годы свободного времени за созданием видеоигр.
Второй совет общайтесь с разработчиками. Никто лучше человека, работающего на Game Maker, не ответит вам на вопрос «а легко ли на нем будет сделать вот-такую-то-игру».
Лучше, конечно, общаться в реальной жизни так вы уловите больше их личных свойств и характерных манер.
На мой взгляд, существуют некоторые неуловимые качества, объединяющие тех, кто выбрал себе в «коллеги» тот или иной движок. Эти незримые сходства и трудноуловимые качества и должны стать еще одним вашим помощником в выборе движка кто из разработчиков окажется ближе к вам по своим манерам, взглядам и убеждениям?
4. Мы не одни
Поиск живого общения с будущими коллегами по цеху должен увенчаться прекрасным открытием: во множестве городов России регулярно проводятся как формальные, так и неформальные сходки разработчиков. Если их не бывает в вашем городе, то помните, что поезда все еще ходят и, потряхивая ваши косточки в купе или плацкарте, доставят вас до места встречи разработчиков.
Наши сходки условно можно разделить на три формата.
Первый из них является самым легким и непринужденным и подразумевает встречу в специально арендованном зале какого-нибудь бара, где можно пересаживаться из-за одного столика за другой и коротать время в беседах с людьми из игровой индустрии.
Второй формат чуть более деловой, и помимо необузданного и хаотичного общения он подразумевает наличие в программе доклада от одного из участников сходки. Во время выступления местный разработчик будет рассказывать про свой опыт, отвечать на вопросы и делиться полезной информацией.
Если вы живете в Петербурге или планируете его посетить, то поиск мероприятий должен привести вас к «Индикатору» площадке для разработчиков видеоигр, где лекции сочетаются с необузданным общением. Чтобы только послушать доклады, стоит обратить внимание на сообщество игровых разработчиков Braindie, а провести время в совсем уж легкой обстановке можно с GamedevHouse сообществом, которое организует сходки еще и в Москве. В поисках площадок, где читают лекции для разработчиков игр в столице, можно присмотреться к мероприятиям от ВШБИ, а гостям и жителям других городов прибегнуть к помощи Интернета и социальных сетей, потому что я, разумеется, не могу перечислить все мероприятия во всех городах.
Третий формат, самый, казалось бы, серьезный из всех, это конференции. Одно слово «конференция» рисует перед глазами серьезную встречу угрюмых дядечек в пиджаках, которые говорят только о будущих сделках, а за могучими плечами каждого из них стоит как минимум одна ААА-игра.
Я же предпочитаю описывать конференции как «бизнеспраздники», в которых «бизнес» вполне можно отодвинуть на задний план. Чаще всего конференция проходит в красочно обставленном зале, где и крупные компании, и маленькие независимые разработчики вроде нас демонстрируют свои проекты, участвуют в конкурсах, ищут коллег, а главное общаются, делятся опытом и весело проводят время (рис. 8).
Причины посещать эти мероприятия кроются далеко не в контактах, связях и знакомствах, без которых, честно говоря, разработчик-одиночка теоретически может обойтись. Как и все самое важное, причины приехать в другой город на сходку или конференцию кроются у нас в голове.
Рис. 8
Конференция Игропром. Автор снимка Максат Иветков, 2023
Мы все социальные животные. Общение и социализация для нас жизненно необходимы. Даже если мы работаем в гордом одиночестве, потребность в общении никуда не пропадает. Ее не обязательно чувствовать, но поверьте такая потребность существует.
Я уверен, что на свете есть индивиды, которые действительно способны прожить счастливую жизнь без взаимодействия с другими людьми, но с очень малой вероятностью именно вы являетесь одним из них. Когда каждый на этом свете считает себя интровертом (а уж человек, который избрал путь разработчика-одиночки, скорее всего убежден в таком качестве своей натуры), я чувствую на себе ответственность за рассказ про некоторые вещи, скрытые внутри нашей черепной коробки.
Во-первых, ваши социальные инстинкты будут постоянно требовать от вас быть «подключенным» к стае. Такая механика работы нашего мозга выработалась в связи с тем, что в первобытные времена в одиночку человеку выжить было крайне сложно. Те, у кого отсутствовала зудящая потребность стать частью общества, пытались в одиночку охотиться, строить себе жилье и обеспечивать себе безопасность. Совершенно очевидно, почему они не смогли передать свои инстинкты и свой подход к существованию дальше, такие люди просто умерли, потерпев неудачу в своем начинании выжить в одиночку.
Десятки тысяч поколений передавали друг другу тягу к объединению в стаю не для того, чтобы современный человек решил, что он «интроверт» и попытался существовать, ни с кем не общаясь. За десятки тысяч лет психика человека не изменилась никаким образом. Наш мозг все так же адаптирован на жизнь в пещере, а не в мегаполисе.
Сейчас мы можем не ехать на сходки в другие города мы можем пообщаться с другими разработчиками в Сети, не подозревая о том, что это всего лишь иллюзия настоящих разговоров. Во время живого общения с людьми у вас задействуются совсем иные области мозга, нежели те, которые мы используем при анализе информации в Интернете. (Орбитофронтальная кора активизируется, когда вы общаетесь с настоящими людьми, а височные доли когда вы взаимодействуете с экраном телефона.)
Тут возникает парадокс: вам кажется, что вы общаетесь с людьми достаточно много в ходе переписки или просмотра роликов в Интернете. Но никакого удовлетворения социальных инстинктов такое «общение» вам не принесло. Мы подвергаем свою эмоциональную стабильность огромному риску, изолировавшись от других людей за экраном телефона.
Мозг любого из нас не приспособлен к существованию в изоляции. Если мы не будем чувствовать, что мы часть чего-то большего, то социальный инстинкт так и останется неудовлетворенным. Вы, скорее всего, этого даже не осознаете: мозг просто без вашего ведома решит, что вы несчастны; химические процессы в голове поменяются, дофамина и серотонина станет вырабатываться меньше, у вас начнутся депрессия и упадок сил. Такое унылое состояние очень пагубно скажется на способности разработать игру в одиночку, а мозг так и не сообщит вам: «А давай-ка махнем на сходку!» вам нужно догадаться, каков выход из сложившейся проблемы, самостоятельно.
Посетите сходку разработчиков. Почувствуйте, что вы часть чего-то большего. Это необходимо для удовлетворения ваших социальных потребностей.
Вторая скрытая причина, по которой сходки разработчиков стóят того, чтобы выбираться из уютной квартирки и ехать в далекие дали, заключается в том, что общение с другими людьми формирует в нашей голове некие образы.
Мы не способны познать ни одного человека до самого конца, до всех мелких деталей его мышления. Нам может казаться, что мы чудесно понимаем людей, осознаем все, что они нам говорят, и улавливаем смысл каждого их действия. Только стоит задуматься: а существует ли на свете кто-либо, кто на 100 % понимает нас самих?
Так если нет ни одного человека, который понимает нас на 100 %, то как мы можем быть уверенными, что существуют люди, которых мы поняли на 100 %?
При общении с людьми формируются и обрастают деталями их образы у нас в голове. Именно эти образы, скомпонованные нами самостоятельно, мы и можем понять. Как сильно отличается этот образ от реального человека, зависит от нашей внимательности и особенностей восприятия, но образ этот никогда не будет полностью соответствовать самому человеку. Особенно если знакомство с ним поверхностно.
Наше представление о других людях никогда не соответствует действительности. Наше представление о них это то, как мы их воспринимаем.
На сходках разработчиков формируются именно поверхностные образы, но они-то нам и нужны! Мы сами наделим образы разработчиков бóльшим количеством личностных качеств, которые будем потом трактовать как качества, необходимые для разработки успешных игр.
На мероприятиях я нередко встречаю людей, творчеством которых я восхищаюсь. Когда мне удается пообщаться с разработчиком, который был причастен к созданию игры, что мне полюбилась, это формирует в моей голове образ человека, достигшего того, чего хотел бы достичь я. Тут и приходит важное понимание, что разработчики видеоигр это далеко не сверхлюди.
Раньше мне казалось, что человек, делающий игры (особенно в одиночку!), представляет собой некое многорукое сверхсущество, которое 20 лет училось рисовать, 20 лет училось писать код и еще 30 лет изучало все тонкости самодисциплины. Такой образ очень сильно отличался от того, каким я видел сам себя.
Мне начинало казаться, что для того чтобы делать игры, я должен очень сильно преобразиться. Перестать быть тем, кем я являюсь сейчас. Стать дисциплинированным чудовищем. Наш мозг не особо-то любит перемены и всегда будет стараться избегать того, что угрожает представлению человека о себе. Процесс «избегания» будет состоять из бесконечного поиска причин, почему нам не стоит заниматься разработкой видеоигр. Имея в голове представление о разработчике как о многоруком чудовище, мы вечно будем располагать оправданиями, чтобы ничего не делать: у нас всегда не будет хватать на разработку времени, сил, вдохновения, мотивации или чего-нибудь еще.
Объективной причиной бездействия в нашем случае станет естественное нежелание вашего мозга настолько кардинально менять свое «я» для достижения цели. Даже если разумом вы будете понимать, что приобретение новых качеств и изменение собственного «я» сделает вашу жизнь лучше и краше, ваш мозг продолжит сопротивляться и отказываться работать.
Но вот вы на сходке разработчиков. Или на конференции. И вы видите не многоруких монстров с тремя головами и многолетним стажем за спиной, а обычных молодых ребят, распивающих напитки, экономящих на закуске и отпускающих шутки на отдаленные от разработки темы.
Образы этих людей потеряют ту «монструозность», которая провоцирует ваш мозг принимать защитную позу и воспринимать новое увлечение как угрозу вашей идентичности. Путь от образа «я-сейчас» к образу «я-разработчик» перестанет казаться вашему мозгу длинным, тернистым и ведущим к такому огромному количеству изменений, в ходе которых от вашего нынешнего «я» не останется и следа.
Очеловечивание образа разработчика поможет вам избавиться от некоторых оков, что мешают вам развиваться как профессионалу.
5. Чужой среди своих
Я сталкивался со странным убеждением, что на таких сходках и лекциях стоит появляться только тогда, когда за плечами у вас будет то, что можно показать людям: желательно, уже выпущенная игра, заработавшая миллиард долларов. Требования к себе у людей разные, можно много перечислять причины стесняться и сидеть дома, но у всех этих причин будет одна общая черта: абсурдность.
У меня для вас есть две новости: плохая и хорошая. Плохая новость заключается в том, что человеку, с которым вы начнете беседу на сходке, будет плевать на то, чем вы занимаетесь, даже если за плечами у вас что-то воистину выдающееся. Хорошая новость заключается в выводах из плохой новости: если вы ничего не умеете, никому не будет до этого дела, а значит, вам нечего стесняться своего статуса «новичка».
Разработчики точно такие же люди, и для каждого из людей самым важным и интересным является одна-единственная вещь он сам. Каким бы неудачником или мастером вы бы ни были, вашему новому знакомому будет всегда интереснее говорить о себе, а не о вас.
Чтобы показаться отличным собеседником, вам достаточно просто внимательно слушать. Я часто начинаю знакомство на сходке с фразы «привет, а чем ты занимаешься?» В ответ я получаю «я 3D-моделлер», «я музыкант» или «я дизайнер уровней». Это уже дает возможность продолжить беседу, задавая дополнительные вопросы о том, где человек работает, как он научился тому, что умеет, и к каким проектам приложил руку.
Если слушать человека внимательно, давать обратную связь и быть вовлеченным в его речь, то, поверьте, вы не покажетесь скучным, назойливым или приставучим. Напротив, такая беседа останется у человека в воспоминаниях как нечто очень приятное. Позвольте людям самим говорить о себе и общение с вами станет для них отличным времяпрепровождением.
Не стоит бояться, что в ответ на встречный вопрос «а ты чем занимаешься?» вам будет нечего ответить. Я часто встречаю на сходках людей, которые просто приглядываются к индустрии, но еще в ней не работают, и я ни разу не видел, как их кто-то унизил за стремление к знаниям.