Текст книги "Сделай видеоигру один и не свихнись"
Автор книги: Слава Грис
Жанр: Программирование, Компьютеры
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 2 (всего у книги 2 страниц)
3. Движки и ваши личностные особенности
Я только что рассказал про два могущественных движка, которые позволяют воплотить в жизнь любые по сложности идеи, но тем не менее на Unity и Unreal Engine создается лишь около половины игр, выпускаемых в Steam. Некоторые крупные ААА-студии продолжают использовать свои собственные закрытые движки, чтобы меньше зависеть от сторонних компаний, и к этим ребятам вопросов у нас не имеется. Но что же движет небольшими студиями и соло-разработчиками, которые выбирают себе в качестве основного инструмента другие, куда менее популярные и продвинутые продукты?
Unreal Engine и Unity, по сути, не сложнее в освоении, чем другие «мелкие» и «неповоротливые» движки. С одной стороны, научиться на них работать даже проще: у Unity есть официальный бесплатный курс для начинающих разработчиков, а уж количество обучающих материалов по Unreal Engine зашкаливает, в то время как найти толковый обучающий курс по какому-нибудь Construct – задача непосильная.
Люди, выбравшие инструментом для воплощения своих идей весьма примитивные программы, на мой взгляд, опровергают популярное убеждение, упомянутое мною выше: якобы самое важное – чтобы инструмент использовался по назначению.
Но главное в выборе движка – это ваши личностные особенности. От них-то и надо отталкиваться.
Если вам будет некомфортно работать на выбранном движке, то вы не будете на нем работать. При разработке игры в одиночку нам ничто не мешает опустить руки и бросить свои светлые начинания. Нам важно создать условия, в которых вероятность устать от создания игр будет минимальной.
Ключевым нюансом в выборе движка является то, насколько вам приятно и удобно с ним работать. Уделите по одному вечеру каждому из движков, выполните в них по одному уроку и определитесь с тем, где вам было приятнее работать.
Даже если вы собрались делать 2D-игру, но вас привлекают эстетика «высокотехнологичности», сияющая новизна и чувство причастности к чему-то очень продвинутому – выбирайте Unreal Engine. Если же вам неприятно работать в Unreal Engine и он кажется вам излишне перегруженным, то какой бы проект вы ни делали с помощью этого инструмента – он навсегда останется недоделанным.
Если у вас есть планы найти работу в среде разработчиков, делать мобильные приложения или устроиться в игровую студию, то Unity на данный момент является движком, навык владения которым быстрее всех поможет вам найти работу. Если же вы все время спотыкаетесь о C#, чувствуете, как написание кода вас тормозит и мешает воплощать идеи в жизнь, а использование 3D для имитации 2D кажется вам глупостью, то у вас не получится раз за разом возвращаться к интерфейсу Unity и создавать свой продукт.
Construct – движок для работы только с 2D-графикой. Именно он – мой личный выбор. Construct полностью основан на визуальном программировании и создает среду, в которой работа с неким подобием кода протекает невероятно быстро. Я человек абсолютно не технического склада ума. Меня не пугает, что я не могу заглянуть «под капот» движка и до конца понять все процессы, которые скрываются за аккуратными «блоками» с условиями. Мне это просто неинтересно. Я могу уделить больше внимания спрайтам и визуальной составляющей моей игры. Именно внешний вид создаваемых мной продуктов для меня является важнейшим аспектом: я одержим контролем над каждым спрайтом, над каждой тенью и каждым эффектом, оттого предпочитаю классическую анимацию и полное отсутствие программных спецэффектов и постобработки в своих проектах. Такие игры, как Hollow Knight, Cuphead и Hotline Miami, не были созданы на Construct2, но могли бы – движок позволяет создать все то, что мы видели в этих играх (рис. 5).
Рис. 5
Логика поведений в 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, организаторы которой регулярно проводят еще и серии лекций как раз для тех, кто пришел на конференцию не как журналист, издатель или разработчик, а ищет новых знаний для того, чтобы приобщиться к индустрии.
Причины посещать эти мероприятия кроются далеко не в контактах, связях и знакомствах, без которых, честно говоря, разработчик-одиночка теоретически может обойтись. Как и все самое важное, причины приехать в другой город на сходку или конференцию кроются у нас в голове.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?