Логика поведений в Constuct. Слева – условие (пуля коснулась игрока), справа – событие (игрок уничтожен)
Упомянутая Hotline Miami была создана с помощью Gamemaker. Точно так же как и Construct, этот движок запирает разработчика в двух плоскостях, лишая его возможности создавать трехмерные игры. В Gamemaker используется собственный язык GML, который имеет и визуальное ответвление. GML отличается от языка Construct своей глубиной и сложностью, что делает Gamemaker инструментом, подходящим для людей с техническим складом ума. Если вас воодушевляет и дает силы работа именно с кодом, но при этом профильного образования у вас пока еще нет, то в создание игр на Gamemaker вполне можно втянуться.
Мне бы очень хотелось составить табличку в духе: если вам от движка нужно вот «это» и «это» – выбирайте «такой-то движок», но, во-первых, такие таблицы уже лежат на просторах Сети, а во-вторых (если вы правильно уловили мою мысль), существование такой таблицы не очень поможет вам выбрать инструмент.
Если при выборе движка отталкиваться только от технических требований к своей будущей игре, то велика вероятность, что вы натолкнетесь на программу, с которой не сможете «подружиться» и в среде, в которой не будете чувствовать себя комфортно. Если бы сотни моих вечеров, проведенных за работой в Construct, являли собой борьбу с логикой движка, его интерфейсом, а заодно с моим дискомфортом и ярым нежеланием возвращаться к работе, то я бы не довел до ума ни один из своих проектов. Именно соответствие Construct моим личностным особенностям помогло мне создать на нем три игры и провести в этой программе больше 6000 часов.
Работа с игровым движком напоминает общение между двумя людьми из разных стран. Вы очень плохо знаете язык приезжего, а если и заучите каждое слово, то вам все равно потребуются дополнительные годы, чтобы говорить на уровне носителя языка и понимать все культурные особенности своего товарища.
Каждый вечер вы будете пытаться объяснить этому иностранцу на ломаном подобии его наречия: «Я хочу, чтобы ты сделал “вот такую штуку”» (например, чтобы персонаж атаковал по нажатию на кнопку «Х»). Чтобы в понятной форме донести до движка ваши требования, вы должны быть терпеливы и внимательны. Сложно оставаться терпеливым и внимательным к продукту, который вызывает у вас только раздражение и ненависть.
Один мой знакомый был программистом веб-сайтов и неплохо знал такой язык программирования, как Java Script. Желание делать игры привело его к Unity – благодаря многочисленному сообществу и отличной маркетинговой кампании пути многих начинающих разработчиков упираются именно в Unity. В ходе разработки своего проекта с использованием всех предоставляемых Unity благ он начал спотыкаться о реализацию сложных и глубоких задач, вроде создания AI (искусственного интеллекта) или проработки поведения NPC. Знания Java Script едва ли помогали ему в этом деле. Скорее, напротив, они мешали освоить новую логику в новой среде.
Вместо удобного, раскрученного, многофункционального движка мой знакомый в итоге обратился к более низкоуровневому программированию и начал разработку проекта на «сухом» Java Script с использованием react-компонентов (готовой библиотекой некоторых шаблонов кода для реализации конкретных задач) и массово используемым готовым решением для корректно работающей физики под названием phaser.js. Работа над игрой стала для него куда менее утомительной, среда – куда более понятной и знакомой лично ему. Но набор его инструментов выглядит как что-то неповоротливое и сложное! Так почему ему не понравилось работать на Unity?
Его личный опыт, его склад ума и его знания поспособствовали тому, что работа на чем-то более, казалось бы, сложном и неудобном, протекала быстрее и приносила больше удовольствия.
Надеюсь, никто не забыл предисловия к этой книге, и не ждет, что я четко скажу вам в одном предложении, какой движок вам выбрать? Я не могу этого сделать – проблема выбора движка лежит на вас, я уже перечислил, на что нужно опираться в своем решении. Но я могу дать еще две подсказки.
Во-первых, никто не запрещает вам попробовать каждый из популярных движков. Зайдите на сайт одного из них, посмотрите на игры, которые созданы с его помощью, взгляните на пару вводных уроков и прислушайтесь не к своему разуму, а к более глубоким ощущениям – цепляет ли вас хоть чем-нибудь эта программа? А продукты, созданные на ней? У некоторых игр на Unity есть некое неуловимое сходство, отличающее их от игр на Unreal. А какое ощущение оставляет беглый просмотр форума сообщества? Вы почувствуете, как что-то внутри в определенный момент щелкнет и даст ответ на вопрос: «А для меня ли эта программа?»
Если прислушаться к себе окажется чрезвычайно трудной задачей, то скачивайте все подряд движки и пытайтесь в каждом из них выполнить хотя бы один урок. Так вы точно поймете, выполнение какого урока принесло вам удовольствие и на каком движке стоит остановиться. Без удовольствия от работы вы ни за что не заставите себя провести месяцы, а может быть, и годы свободного времени за созданием видеоигр.
Второй совет – общайтесь с разработчиками. Никто лучше человека, работающего на Game Maker, не ответит вам на вопрос «а легко ли на нем будет сделать “вот-такую-то-игру”»
Лучше, конечно, общаться в реальной жизни – так вы уловите больше их личных свойств и характерных манер.
На мой взгляд, существуют некоторые неуловимые качества, объединяющие тех, кто выбрал себе в «коллеги» тот или иной движок. Эти незримые сходства и трудноуловимые качества и должны стать еще одним вашим помощником в выборе движка – кто из разработчиков окажется ближе к вам по своим манерам, взглядам и убеждениям?
4. Мы не одни
Поиск живого общения с будущими коллегами по цеху должен увенчаться прекрасным открытием: во множестве городов России регулярно проводятся как формальные, так и неформальные сходки разработчиков. Если их не бывает в вашем городе, то помните, что поезда все еще ходят и, потряхивая ваши косточки в купе или плацкарте, доставят вас до места встречи разработчиков.
Наши сходки условно можно разделить на три формата.
Первый из них является самым легким и непринужденным и подразумевает встречу в специально арендованном зале какого-нибудь бара, где можно пересаживаться из-за одного столика за другой и коротать время в беседах с людьми из игровой индустрии.
Второй формат – чуть более деловой, и помимо необузданного и хаотичного общения он подразумевает наличие в программе доклада от одного из участников сходки. Во время выступления местный разработчик будет рассказывать про свой опыт, отвечать на вопросы и делиться полезной информацией.
Если вы живете в Петербурге или планируете его посетить, то поиск мероприятий должен привести вас к «Индикатору» – площадке для разработчиков видеоигр, где лекции сочетаются с необузданным общением. Чтобы только послушать доклады, стоит обратить внимание на сообщество игровых разработчиков Braindie, а провести время в совсем уж легкой обстановке можно с GamedevHouse – сообществом, которое организует сходки еще и в Москве. В поисках площадок, где читают лекции для разработчиков игр в столице, можно присмотреться к мероприятиям от ВШБИ, а гостям и жителям других городов – прибегнуть к помощи Интернета и социальных сетей, потому что я, разумеется, не могу перечислить все мероприятия во всех городах.
Третий формат, самый, казалось бы, серьезный из всех, – это конференции. Одно слово «конференция» рисует перед глазами серьезную встречу угрюмых дядечек в пиджаках, которые говорят только о будущих сделках, а за могучими плечами каждого из них стоит как минимум одна ААА-игра.
Я же предпочитаю описывать конференции как «бизнес-праздники», в которых «бизнес» вполне можно отодвинуть на задний план. Чаще всего конференция проходит в красочно обставленном зале, где и крупные компании, и маленькие независимые разработчики вроде нас демонстрируют свои проекты, участвуют в конкурсах, ищут коллег, а главное – общаются, делятся опытом и весело проводят время.
Из крупных российских конференций необходимо упомянуть White Nights, организаторы которой регулярно проводят еще и серии лекций как раз для тех, кто пришел на конференцию не как журналист, издатель или разработчик, а ищет новых знаний для того, чтобы приобщиться к индустрии.
Причины посещать эти мероприятия кроются далеко не в контактах, связях и знакомствах, без которых, честно говоря, разработчик-одиночка теоретически может обойтись. Как и все самое важное, причины приехать в другой город на сходку или конференцию кроются у нас в голове.
Мы все – социальные животные. Общение и социализация для нас жизненно необходимы. Даже если мы работаем в гордом одиночестве, потребность в общении никуда не пропадает. Ее не обязательно чувствовать, но поверьте – такая потребность существует.
Я уверен, что на свете есть индивиды, которые действительно способны прожить счастливую жизнь без взаимодействия с другими людьми, но с очень малой вероятностью именно вы являетесь одним из них. Когда каждый на этом свете считает себя интровертом (а уж человек, который избрал путь разработчика-одиночки, скорее всего убежден в таком качестве своей натуры), я чувствую на себе ответственность за рассказ про некоторые вещи, скрытые внутри нашей черепной коробки.
Во-первых, ваши социальные инстинкты будут постоянно требовать от вас быть «подключенным» к стае. Такая механика работы нашего мозга выработалась в связи с тем, что в первобытные времена в одиночку человеку выжить было крайне сложно. Те, у кого отсутствовала зудящая потребность стать частью общества, пытались в одиночку охотиться, строить себе жилье и обеспечивать себе безопасность. Совершенно очевидно, почему они не смогли передать свои инстинкты и свой подход к существованию дальше, – такие люди просто умерли, потерпев неудачу в своем начинании выжить в одиночку.
Десятки тысяч поколений передавали друг другу тягу к объединению в стаю не для того, чтобы современный человек решил, что он «интроверт» и попытался существовать, ни с кем не общаясь. За десятки тысяч лет психика человека не изменилась никаким образом. Наш мозг все так же адаптирован на жизнь в пещере, а не в мегаполисе.
Сейчас мы можем не ехать на сходки в другие города – мы можем пообщаться с другими разработчиками в Сети, не подозревая о том, что это – всего лишь иллюзия настоящих разговоров. Во время живого общения с людьми у вас задействуются совсем иные области мозга, нежели те, которые мы используем при анализе информации в Интернете. (Орбитофронтальная кора активизируется, когда вы общаетесь с настоящими людьми, а височные доли – когда вы взаимодействуете с экраном телефона.)
Тут возникает парадокс: вам кажется, что вы общаетесь с людьми достаточно много – в ходе переписки или просмотра роликов в Интернете. Но никакого удовлетворения социальных инстинктов такое «общение» вам не принесло. Мы подвергаем свою эмоциональную стабильность огромному риску, изолировавшись от других людей за экраном телефона.
Мозг любого из нас не приспособлен к существованию в изоляции. Если мы не будем чувствовать, что мы – часть чего-то большего, то социальный инстинкт так и останется неудовлетворенным. Вы, скорее всего, этого даже не осознаете: мозг просто без вашего ведома решит, что вы несчастны; химические процессы в голове поменяются, дофамина и серотонина станет вырабатываться меньше, у вас начнутся депрессия и упадок сил. Такое унылое состояние очень пагубно скажется на способности разработать игру в одиночку, а мозг так и не сообщит вам: «А давай-ка махнем на сходку!» – вам нужно догадаться, каков выход из сложившейся проблемы, самостоятельно.
Посетите сходку разработчиков. Почувствуйте, что вы часть чего-то большего. Это необходимо для удовлетворения ваших социальных потребностей.
Вторая скрытая причина, по которой сходки разработчиков стóят того, чтобы выбираться из уютной квартирки и ехать в далекие дали, заключается в том, что общение с другими людьми формирует в нашей голове некие образы.
Мы не способны познать ни одного человека до самого конца, до всех мелких деталей его мышления. Нам может казаться, что мы чудесно понимаем людей, осознаём все, что они нам говорят, и улавливаем смысл каждого их действия. Только стоит задуматься: а существует ли на свете кто-либо, кто на 100 % понимает нас самих?
Так если нет ни одного человека, который понимает нас на 100 %, то как мы можем быть уверенными, что существуют люди, которых мы поняли на 100 %?
При общении с людьми формируются и обрастают деталями их образы у нас в голове. Именно эти образы, скомпонованные нами самостоятельно, мы и можем понять. Как сильно отличается этот образ от реального человека, зависит от нашей внимательности и особенностей восприятия, но образ этот никогда не будет полностью соответствовать самому человеку. Особенно если знакомство с ним поверхностно.
Наше представление о других людях никогда не соответствует действительности. Наше представление о них – это то, как мы их воспринимаем.
На сходках разработчиков формируются именно поверхностные образы, но они-то нам и нужны! Мы сами наделим образы разработчиков бóльшим количеством личностных качеств, которые будем потом трактовать как качества, необходимые для разработки успешных игр.
На мероприятиях я нередко встречаю людей, творчеством которых я восхищаюсь. Когда мне удается пообщаться с разработчиком, который был причастен к созданию игры, что мне полюбилась, это формирует в моей голове образ человека, достигшего того, чего хотел бы достичь я. Тут и приходит важное понимание, что разработчики видеоигр – это далеко не сверхлюди.
Раньше мне казалось, что человек, делающий игры (особенно в одиночку!), представляет собой некое многорукое сверхсущество, которое 20 лет училось рисовать, 20 лет училось писать код и еще 30 лет изучало все тонкости самодисциплины. Такой образ очень сильно отличался от того, каким я видел сам себя.
Мне начинало казаться, что для того чтобы делать игры, я должен очень сильно преобразиться. Перестать быть тем, кем я являюсь сейчас. Стать дисциплинированным чудовищем. Наш мозг не особо-то любит перемены и всегда будет стараться избегать того, что угрожает представлению человека о себе. Процесс «избегания» будет состоять из бесконечного поиска причин, почему нам не стоит заниматься разработкой видеоигр. Имея в голове представление о разработчике как о многоруком чудовище, мы вечно будем располагать оправданиями, чтобы ничего не делать: у нас всегда не будет хватать на разработку времени, сил, вдохновения, мотивации или чего-нибудь еще.
Объективной причиной бездействия в нашем случае станет естественное нежелание вашего мозга настолько кардинально менять свое «я» для достижения цели. Даже если разумом вы будете понимать, что приобретение новых качеств и изменение собственного «я» сделает вашу жизнь лучше и краше, ваш мозг продолжит сопротивляться и отказываться работать.
Но вот вы на сходке разработчиков. Или на конференции. И вы видите не многоруких монстров с тремя головами и многолетним стажем за спиной, а обычных молодых ребят, распивающих напитки, экономящих на закуске и отпускающих шутки на отдаленные от разработки темы.
Образы этих людей потеряют ту «монструозность», которая провоцирует ваш мозг принимать защитную позу и воспринимать новое увлечение как угрозу вашей идентичности. Путь от образа «я-сейчас» к образу «я-разработчик» перестанет казаться вашему мозгу длинным, тернистым и ведущим к такому огромному количеству изменений, в ходе которых от вашего нынешнего «я» не останется и следа.
Очеловечивание образа разработчика поможет вам избавиться от некоторых оков, что мешают вам развиваться как профессионалу.
5. Чужой среди своих
Я сталкивался со странным убеждением, что на таких сходках и лекциях стоит появляться только тогда, когда за плечами у вас будет то, что можно показать людям: желательно, уже выпущенная игра, заработавшая миллиард долларов. Требования к себе у людей разные, можно много перечислять причины стесняться и сидеть дома, но у всех этих причин будет одна общая черта: абсурдность.
У меня для вас есть две новости: плохая и хорошая. Плохая новость заключается в том, что человеку, с которым вы начнете беседу на сходке, будет плевать на то, чем вы занимаетесь, даже если за плечами у вас что-то воистину выдающееся. Хорошая новость заключается в выводах из плохой новости: если вы ничего не умеете, никому не будет до этого дела, а значит, вам нечего стесняться своего статуса «новичка».
Разработчики – точно такие же люди, и для каждого из людей самым важным и интересным является одна-единственная вещь – он сам. Каким бы неудачником или мастером вы бы ни были, вашему новому знакомому будет всегда интереснее говорить о себе, а не о вас.
Чтобы показаться отличным собеседником, вам достаточно просто внимательно слушать. Я часто начинаю знакомство на сходке с фразы «привет, а чем ты занимаешься?» В ответ я получаю «я 3D-моделлер», «я музыкант» или «я дизайнер уровней». Это уже дает возможность продолжить беседу, задавая дополнительные вопросы о том, где человек работает, как он научился тому, что умеет, и к каким проектам приложил руку.
Если слушать человека внимательно, давать обратную связь и быть вовлеченным в его речь, то, поверьте, вы не покажетесь скучным, назойливым или приставучим. Напротив, такая беседа останется у человека в воспоминаниях как нечто очень приятное. Позвольте людям самим говорить о себе – и общение с вами станет для них отличным времяпрепровождением.
Не стоит бояться, что в ответ на встречный вопрос «а ты чем занимаешься?» вам будет нечего ответить. Я часто встречаю на сходках людей, которые просто приглядываются к индустрии, но еще в ней не работают, и я ни разу не видел, как их кто-то унизил за стремление к знаниям.
Два года назад на одном мероприятии со мной познакомился обычный парень, не имеющий никакого отношения к разработке видеоигр, но очень сильно интересующийся тем, как устроена эта отрасль. После знакомства я начал обращать внимание, что он посещает вообще все лекции и мероприятия, которые связаны с созданием видеоигр.
Мы пересеклись с ним еще кучу раз, и с каждым разом он создавал впечатление все более уверенного специалиста в области разработки. Сейчас он делает весьма успешные игры со своей собственной командой – а ведь прошло не так много времени с тех пор, как он стеснялся говорить о себе.
Его пример вдохновляет: в истории этого парня я вижу возможность двигаться вперед без устали и менять свою жизнь согласно собственным желаниям. Помнить такое – это очень вдохновляет. И теперь вы знаете, где и у вас есть возможность приобрести запас вдохновения и заработать новое убеждение. Убеждение, что вы способны делать игры.
Один мой знакомый с восторгом описывал, как поменялось его мышление, когда в гостях у него побывали два профессиональных разработчика. Они сидели у него на кухне, на том же самом месте, где он обычно сидит с женой и обсуждает простые бытовые вопросы. Два его новых товарища говорили про договоры с именитыми издателями и про то, как распорядиться инвестициями. Они обсуждали это так обыденно, словно речь тоже шла о рутинных бытовых проблемах.
Именно присутствие в кругу общения таких ребят помогло моему товарищу сформировать представление о том, что «делать игры – это выполнимая работа». Мы всегда строим планы на жизнь и формируем свою программу действий исходя из того, что нам кажется возможным. Если же в кругу нашего общения одни только люди, профессии которых не связаны ни с риском, ни с творчеством, то вероятность резко сменить профессию на разработчика игр будет куда меньше. Вам и вашему мозгу нужны живые примеры людей, преуспевших в этом деле. Вам нужно общение с разработчиками.
То, о чем вам поведает живой человек, а не запись на YouTube, по многим причинам гораздо лучше отложится в голове. Вместо посещения доклада от местного разработчика в каком-нибудь баре, безусловно, можно послушать лекцию более именитых деятелей индустрии на YouTube, но толку от этого будет, как ни странно, куда меньше.
Первая лекция, которую я посетил, была посвящена дизайну уровней и проводилась в помещении ночного клуба, работающего в обеденное время как обычный бар. Я все еще учился в аспирантуре в то время. Память об утомительных лекциях в университете и о школьных уроках еще не остыла. Для меня стало приятной неожиданностью, что зубодробительное разгрызание гранита науки в формальных и строгих стенах университета не имело ничего общего с неформальной лекцией в баре.
Отличия заключались в том, что выступающего все слушали с жадным вниманием; никто не скрипел стульями, не залипал в телефонах, не шептался, не хихикал на задних партах. В помещении не было угрюмой атмосферы академической покорности. Общая заинтересованность, страсть к своему делу, светлая атмосфера мероприятия – все это не прочувствовать, если не оказаться на подобном выступлении вживую.
Чтобы сохранить в памяти все услышанное в такой обстановке, не нужно даже особо напрягать мозг. Во-первых, имея в своем распоряжении множество различных маркеров для запоминания, мозг растаскает текст лекций по бóльшему количеству ассоциативных цепочек. Во-вторых, у нас у всех есть еще одна интересная особенность: память человека работает лучше, если он обладает осознанием, что не сможет в любой момент вернуться к этому материалу. Вернуться к лекции в Интернете можно, казалось бы, когда захочется, и мозг сам принимает решение не фиксировать подавляющую часть информации. А вот отмотать время назад и попасть на лекцию, которую вы слушали вживую, – уже невозможно. Мозг воспринимает такую лекцию как «ускользающую» информацию.
Проводились эксперименты, в ходе которых сверялось количество запоминаемой информации студентами двух групп: первая группа имела право только слушать лекцию, а вторая – записывала ее на свои смартфоны любым способом – видео, аудио, что угодно. Весьма очевидно, какая из двух групп запомнила информацию лучше.
Материалы, которых мы не помним, не участвуют в процессе нашего мышления, никак не влияют на нахождение путей решения вставших перед нами проблем и не помогают генерировать новые идеи.
Видео в Сети хороши только в том случае, если вы примените полученные знания здесь и сейчас. В ином случае доклад от местного разработчика мобильных приложений окажется куда полезнее, чем многочасовая лекция с YouTube-канала Game Developer Conference.
Не стоит оставлять без внимания и тот факт, что опыт местного разработчика будет проще применить в собственном проекте. Я слушал про разработку ААА-игр с многомиллионными бюджетами, и это было интересно. Но к чему мне знания о том, как потратить миллион долларов на целый штат сотрудников и выдать целое «ничего», с которым придется клянчить еще миллион долларов у инвесторов? Я не собираюсь таким заниматься!
А если вы все еще сомневаетесь в высокой важности общения даже при работе в одиночку, то подумайте о том, что самое жестокое наказание в тюрьме – это изолятор. Заключенные больше боятся остаться наедине с самими собой, нежели в компании других преступников, среди которых есть по-настоящему грозные и опасные особи.
6. Наши помощники в 3D
По сравнению с восьмидесятыми вместо дьявольского низкоуровневого Assembler в нашем распоряжении находятся удобные движки, работу в которых освоить возможно и без технического образования, а также огромное сообщество разработчиков, где вы обязательно найдете человека, знающего решения всех вставших на вашем пути проблем. Но и на этом наши козыри отнюдь не заканчиваются.
Помимо самого игрового движка можно использовать, разумеется, еще и множество другого программного обеспечения. Иной раз это ПО может заменить целые команды разработчиков.
Так, например, крупные студии пользуются обеспечением Anima – оно позволяет создавать толпу управляемых компьютером персонажей, которые будут имитировать настоящую жизнь: прогуливаться по городу, останавливаться, чтобы поболтать, сидеть на скамейках и реагировать на неожиданные вещи. Вы думали, что создатели необъятных открытых игровых миров, где живут сотни NPC, писали код для каждого из них самостоятельно? Как бы не так – это была Anima или подобное ей программное обеспечение.
Но речь идет не о таких серьезных и дорогих решениях, а о чем-то попроще.
Если вы собрались делать игру в 3D, то вашим верным другом станет Blender – он могуч, он бесплатен, в нем создаются невероятные вещи, а самое главное – на Blender можно установить колоссальное количество дополнений, расширяющих функционал этой программы. Так, например, многим может пригодиться MB-Lab – дополнение, позволяющее генерировать людей. Вам не придется прорабатывать каждый полигон человеческого лица и возиться с его «скелетом». Работа в MB-Lab больше напомнит создание персонажа в компьютерной игре, где в нашем распоряжении находятся различные ползунки для регулирования веса персонажа, его возраста и оттенка кожи. Отдельные программы, которые помогут вам сделать 3D-модель человека со всеми костями, – это MakeHuman или Mixamo Fuse; они представляют собой куда менее перегруженное ПО, нежели Blender, но и дальше работы с гуманоидоподобными сущностями вы в них на данный момент не продвинетесь.
Для анимирования вашего только что собранного 3D-персонажа вам не нужно прибегать к Motion Capture, который используют для сложных анимаций крупные студии. Сам этот способ подразумевает наличие у вас дорогостоящего оборудования в виде навороченных видеокамер и кучи датчиков, которые вы прилепите к профессиональному актеру и будете заставлять его выполнять различные акробатические трюки. В однокомнатных квартирах этот вариант кажется совсем уж абсурдным.
Сейчас и камеры, и датчики, и самого каскадера заменит программа, которая так и называется: Cascadeur. С ее помощью вы сможете создавать чрезвычайно реалистичные анимации: программа самостоятельно, без вашего участия, учтет центр тяжести персонажа, инерцию движения и параболические траектории. Еще более простой путь анимирования 3D-персонажей лежит через онлайн-сервис Mixamo, в каталоге которого вы сможете найти невероятное количество уже созданных анимаций, скачать любую понравившуюся лично вам и применить ее на своем персонаже.
Для того чтобы ваш персонаж двигался воистину впечатляюще, пускал молнии, огненные шары, а каждый его шаг поднимал в воздух столбы пыли – можно использовать Effekseer. Эта программа являет собой редактор частиц, а ведь именно с помощью частиц проще всего создать подобные визуальные эффекты
При создании этой модели скульптор не использовал отдельные полигоны для каждого камешка. Это просто куб с наложенной на него PBR-текстурой
Что касается создания окружения, то и здесь у нас найдутся помощники. Проблемой для начинающего 3D-скульптора может стать не сам процесс моделирования какого-нибудь дерева или колонны, а такой процесс, как текстурирование. Без текстуры ваше дерево будет выглядеть как серый столб, а с текстурой любой серый столб начнет выглядеть как дерево.
Бесплатными помощниками в деле создания текстур могут стать такие программы, как Laigter, ArmorPaint, Materialize Image To Material Tool и Quixel Mixer. В этих приложениях вы сможете создать PBR-текстуры – они имитируют реально существующие материалы вроде камня, дерева, травы и т. п. Сколы на камнях, отдельные куски коры на деревьях или складки на статичных тканях не всегда в видеоиграх являются действительно многополигональными объектами. Иллюзию высокой степени детализации им создают именно PBR-текстуры.
Но что делать, если желания учиться моделировать и рисовать текстуры нет, а игры делать очень хочется? В наши дни даже это не означает, что двери в чудесный мир разработчиков игр для вас закрыты: существуют различные онлайн-магазины, именуемые маркетплейсами. Там вы можете купить ассеты – наборы различных уже смоделированных объектов, которые можно использовать в своей игре.
Ассет может включать в себя, например, десятки 3D-объектов на определенную тематику: бар, детская площадка, средневековая деревня. Если автор ассета указывает, что он не против использования этого ассета в коммерческих целях другими людьми, то вместо того чтобы моделировать целую деревню, вы можете ее просто купить на таких ресурсах, как Unity Asset Store, Envato, 3dmodelhaven или Unreal Marketplace.
Вы ошиблись, если вы подумали, что есть всего два варианта для создания 3D-игры – или сделать модели самостоятельно, или купить модели за деньги. Третий вариант заключается в том, чтобы пользоваться ассетами бесплатно. На Unreal Marketplace каждый месяц раздается весьма внушительный набор ассетов на самые разные темы и в самых разных стилях. Средняя цена всего раздаваемого набора в любое другое время составляет от 25 до 50 тысяч рублей, а в момент акции вам достаточно просто скачать то, что вам предлагают в этом месяце.
Более того, вы можете просто установить в поиске галочку FREE в разделе «цена» и выбрать что-нибудь из выложенных в общий доступ ассетов. Есть ресурсы, на которых вас вообще круглые сутки ждут бесплатные наборы 3D-объектов: Oyonale, Turbosquid и CGTrader.
Если вам кажется, что игра, созданная с использованием ассетов, всегда будет высмеяна игроками, то посмотрите на игру Bright Memory и почитайте отзывы к ней. Это проект, созданный одним человеком, который ни разу в жизни не занимался моделированием. Все, что вы видите, – это комбинация скачанных и купленных ассетов. Игрокам нет никакого дела до того, кто сделал 3D-модель главной героини или, например, нарисовал горы на заднем плане. Даже крупные студии используют собственные ассеты из проекта в проект. Так, например, в Red Dead Redemption 2 вы сможете найти точно такие же деревья, которые вы видели в GTA V.
Создателем 3D-моделей также на помощь могут прийти быстро развивающиеся нейросети вроде Instant NeRF от Nvidia, которая способна превращать в 3D-объекты целые улицы из реального мира путем обработки сотен фотографий. RealityScan от Epic Games позволит вам с помощью камеры мобильного телефона «сканировать» в 3D любой попавшийся под руку объект – достаточно будет побегать вокруг него, записывая видео или делая фотографии. Разумеется, нейросети сделают работу весьма грязно и неаккуратно, но кому-то подправить детали и заняться ретопом (уменьшение количества полигонов) будет куда проще, чем моделировать все с нуля.
Попробуйте установить себе разные программы и посмотреть ролики об их возможностях, чтобы определиться, какой набор инструментов вам нужен для реализации ваших идей.
7. Наши помощники в 2D
Если вам, как и мне, 3D неинтересно и чуждо, а свой путь к успеху вы планируете проложить плоскими спрайтами вместо трехмерных фигурок, то встанет вполне резонный вопрос: в какой же программе начинать творить?
Самой раскрученной программой для рисования является Photoshop, но его цена словно устанавливалась с одной простой целью – отпугнуть новичков. Поиск бесплатного аналога может привести вас к программе GIMP, которую, опять же с помощью бесплатных плагинов, можно вполне развить до точно такого же функционала, которым хвастается Photoshop. Помимо GIMP я рекомендую обратить внимание на программу Krita, примеры анимации в которой я советую вам посмотреть на YouTube: эти работы у многих вызывают восторженный душевный трепет.
Krita и GIMP прекрасно годятся для создания растровых изображений. Растровое изображение – это файл, представляющий собой мозаику из цветных пикселей (самых маленьких точек, которые может отобразить ваш экран). Откройте фотографию вашего товарища в VK, сделайте свой собственный снимок или нарисуйте и сохраните что-нибудь в Paint – перед вами предстанет «растровое» изображение.
О смену размера картинок обжигаются многие начинающие разработчики, которые не могут определиться с тем, в каком же размере и формате им рисовать объекты для своей игры. Чтобы не обжечься о «мыльные» рисунки, я могу дать весьма точную рекомендацию. Для начала выберите, в каком максимальном разрешении вы хотели бы видеть свою игру. Я бы рекомендовал адаптировать всю графику под fHD – т. е. рисовать все объекты под размер экрана 1920 × 1080 точек. Но тут возникнет проблема, свойственная растру: взгляните, например, на Fearmonium