Насколько сложно создать игру с нуля?

В сегодняшней колонке мы кратко опишем, насколько сложно создать игру с нуля в одной из известных сред рабочего стола. Мы более подробно рассмотрим, что можно разработать в Unity или Unreal Engine 4, каковы будут затраты и сколько времени и усилий нам придется потратить, чтобы наша игра появилась на рынке.

Перед каждым, кто хотел бы стать разработчиком сегодня и подготовить свою игру, стоит очень простая задача. Существуют тысячи бесплатных руководств о том, как начать работу и на что обратить особое внимание . Порог входа довольно низкий (финансово свободный), все, что вам нужно, — это много мотивации, амбиций, решимости, несколько часов свободного времени в день и желание учиться. В Интернете мы также найдем множество бесплатных вебинаров, которые познакомят нас с миром информационных технологий. Одной из таких панелей занимается Software Development Academy, другой — Codelab, а другие можно найти в Интернете на каждом шагу. Статистические данные в Польше совершенно ясно говорят о пропаже около 50 000 программистов. Это сложная профессия, но очень многообещающая, развивающая и приносящая, по сравнению с другими отраслями, потрясающий заработок.

Сегодня я хотел бы взглянуть на начинающего разработчика игр, будущего разработчика C # или C ++, кодирующего в настольных средах Unity или Unreal Engine 4. Это две самые популярные платформы для разработчиков сегодня, и до определенного момента они остаются бесплатными с практически неограниченный спектр возможностей. Все, что вам нужно сделать, это зайти на официальные сайты, скачать соответствующий клиент и дождаться, пока все обновится. В обоих случаях мы можем загрузить заранее подготовленные, готовые и бесплатные игры, которые помогут нам увидеть, как это делается и какими способами мы можем достичь элементов управления, сценариев, предположений и механики, зависящих друг от друга. В Unity вы можете скачать «3D Game Kit» (есть также 2D-версия), в Unreal Engine 4 используйте «Unreal Engine Hour of Code». По обоим элементам вы найдете подробные руководства на YouTube или на веб-сайте, посвященном Unity.

Начнем с Unity — просто, легко и весело для всех

Во-первых, немного практической информации. Unity до определенной степени бесплатна для всех. После того, как продажи игры достигнут 100 000 долларов, мы должны заплатить за полную однопользовательскую лицензию, стоимость которой сегодня составляет 1800 долларов. Вроде бы много, но в итоге мы получили неплохую прибыль, так что выплатить такое обязательство не проблема. Попасть в этот мир довольно легко. Я сам начал работу над очень простым платформером, основанным на управлении мячом на банально выглядящих уровнях. На написание такой игры у меня ушло 4 рабочих дня, конечно, я пользовался гайдами, найденными в Интернете. Любой желающий может скачать мою игру отсюда (просто нажмите зеленую кнопку «скачать файл») и проверить ее на своем компьютере.

Насколько сложно создать игру с нуля?

Я создал меню на основе заранее подготовленных объектов, что делает его достаточно простым и интуитивно понятным. Просто щелкните мышью на первом или втором уровне. К сожалению, у меня есть некоторые проблемы с обнаружением столкновений на нижней подвижной платформе второго уровня, которые мне, безусловно, нужно доработать. Основная цель — собрать все зеленые кристаллы, найденные на карте. Я создал текстуры в Photoshop, а затем добавил их в Unity. Я сам создал в Blender модель кристалла, платформ, шипов и препятствий. Он работает очень удобно, потому что вам нужно только спроектировать элемент, и вы можете автоматически импортировать его в графическую среду Unity, а затем вам нужно только текстурировать и включить базовые параметры, такие как встраивание в сам мир по трем осям в пробел (я рекомендую установить все по умолчанию на 0). Мы применим физику и обнаружение столкновений с помощью всего одного переключателя, потому что все это преобразовано Unity. Это очень удобное решение.

Элементы управления представляют собой простой сценарий, который определяет, когда вы нажимаете стрелку направления на клавиатуре. Сбор кристалла, благодаря другому фрагменту кода, сообщает игре, сколько таких фрагментов осталось на карте. Когда нам удается собрать их все, мы автоматически попадаем в главное меню, и над названием уровня появляется зеленая стрелка, информирующая о его завершении. Поведение шара зависит от силы тяжести и «шероховатости» поверхности, по которой он движется. Будьте осторожны, не касайтесь шипов, так как это автоматически сбросит уровень до самого начала. Музыка абсолютно случайная , я добавил ее только потому, что у меня на рабочем столе была такая песня. Фон создает очень простую фотографию неба, подключенную к камере таким образом, что она всегда отображается одинаково. Чтобы выйти на рабочий стол Bullet Adventures, сначала нажмите «esc», чтобы перейти в главное меню, а затем снова нажмите «esc».

Компиляция такой «игры» и создание исполнительного файла происходит автоматически. Вам нужно только добавить очередь соответствующего уровня в выпадающий список, а затем создать готовый файл. Если ошибка возникнет в самих скриптах, мы получим соответствующее сообщение в логах среды Unity. Создание скриптов на C # не представляет особой сложности. Я изучал этот язык программирования почти два года в области информатики в Социальной академии наук, начиная с написания простого калькулятора. Основы интуитивно понятны, и недаром многие специалисты считают, что начинающим разработчикам игр следует начинать с Unity. Здесь гораздо проще создать, например, двухмерную аркадную игру, которая гораздо менее требовательна по конструкции, чем обширная трехмерная игра.

Некоторое время назад мне посчастливилось побывать в студии Creepy Jar в Варшаве и немного поговорить с разработчиками о консоли Green Hell. Польское производство симулятора выживания в джунглях Амазонки. Полный отчет об этом событии можно найти в последнем, 286-м выпуске PSX Extreme. Вся игра создана в среде Unity, отличается красивой графикой и множеством деталей. Это несколько развенчивает «миф» о том, что этот графический движок подходит только для простых 2D или 2.5D платформеров. Unity имеет удобный порог входа, а также множество дополнительных ресурсов и плагинов, доступных в официальном магазине. Их использовали, среди прочего, Дэвид Веле в одиночку создает свой хит «Первое дерево», подробнее об этом здесь. Основатели Creepy Jar предполагают, что он только что сделал это, но сегодня конкуренция жесткая, и на нее трудно привлечь внимание.

Насколько сложно создать игру с нуля?

источник: medium.com

Начиная работать с Unity, стоит обратить внимание на отличное расширение под названием PlayMaker, которое заменяет кодирование на C # простым графическим интерфейсом. Таким образом, подавляющее большинство команд будет выполняться тривиальным методом «перетаскивания», что значительно ускоряет действия. Именно этому плагину Давид, создатель The First Tree, приписывает большую часть заслуги. Он человек, которому очень сложно научиться программировать. Он является живым примером того, что не нужно быть стереотипным программистом и возиться с кодом, чтобы создать большой продукт. Хотя эти знания, несомненно, могут быть полезны, особенно когда мы хотим ввести в нашу игру еще много необычных механик и решений.

Напомним несколько важных моментов — лучше начинать играть в 2D или 2.5D.

Основатели Creepy Jar отмечают несколько элементов, о которых мы вообще не думаем. Согласитесь, что мы хотели бы создать экшн-игру TPP, установленную в наше время, что-то вроде Uncharted или Perfect Darka, только с минимальным бюджетом и с использованием готовых ассетов из магазина Unity. Например, мы видим красивую пальму, которую нужно только купить и которую можно реализовать в игре. К сожалению, есть и проблемы с оптимизацией, часто такое дерево имеет гораздо больше деталей, чем должно быть, его нужно переделывать с нуля, что дает больше часов, потраченных на улучшение проектов, которые должны быть готовы немедленно. Создатели Creepy Jar привели один такой пример — они хотели поскорее создать красивые, богатые и густые джунгли, но после проверки большинства платных ассетов выяснилось, что ни один из них не оправдал ожиданий студии и разработчиков. Следовательно, все это нужно было смоделировать и закодировать самостоятельно.

Насколько сложно создать игру с нуля?

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

Сколько времени нужно на создание такой игры в среде Unity? Самое главное — тщательное исследование. Чтобы появиться на рынке и получить признание, необходимо будет подготовить ряд документации. Какие игры уже созданы в интересующем нас жанре? Какая у них механика? Какая у них графика и на каких платформах они доступны? Какая у них распродажа и рейтинг? Все это существенно влияет на принимаемое решение. Мы можем придумать лучшую гоночную игру в мире, но каждый месяц выходит несколько тысяч игр, поэтому риск скопировать чью-то идею очень высок. Это создает массу проблем при планировании маркетинговой деятельности, ведь нужно поощрять потенциального игрока чем-то конкретным (сегодня, как это ни парадоксально, очень придирчивым). Хотя мы часто меняем концепцию при разработке игры и часто придумываем идеи, которые не принимали во внимание вначале, костяк с точки зрения определения жанра и основных предположений должен оставаться прежним.

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

Unreal Engine 4 мощнее, но сложнее

Около месяца назад я загрузил среду рабочего стола Unreal Engine 4. Я хотел увидеть, насколько сложно понять C ++. Многое из того, что я узнал о Unity, мне придется здесь отбросить. Как показала действительность, все было не так уж и плохо. Unreal Engine 4 очень похож по самому интерфейсу, но я бы даже сказал более интуитивно понятный. В случае разработки довольно «простых» игр нам вообще не нужно знать, как писать код на C ++, потому что у нас есть что-то вроде «Blueprints», который представляет собой графический интерфейс, позволяющий комбинировать команды и исполнительные элементы, используя простую механику «перетаскивания». Я рекомендую вам посмотреть подробное руководство, что именно, на официальном канале Unreal Engine на YouTube.

Насколько сложно создать игру с нуля?

Стоит знать, что UE4 от Epic Games имеет несколько иное предположение при оплате лицензии издателя от Unity. Здесь мы уволим инженеров 5% от прибыли только после того, как выручка превысит 1 миллион долларов, что составляет 50 000 долларов. Это много, но, с другой стороны, у нас в карманах еще 950 000 долларов. Unreal Engine 4 дает несравнимо большие возможности в графическом развитии нашей продукции (и оптимизации), он также имеет более легкий доступ к некоторым базовым механикам (например, элементам управления для выбранных жанров), но, в конце концов, мы будем делать с ним очень похожие вещи, как и на Единство, чему хорош этот фильм, будет примером. Во время встречи основатели Creepy Jar упомянули, что они перепрыгивают в среду Unreal Engine во время своей следующей игры. Не обязательно потому, что он предлагает больше возможностей, но в Польше он просто собирает больше специалистов и опытных разработчиков, которым они небезразличны.

Однако Unity придерживается того факта, что в первую очередь создает мобильные постановки и менее сложные 2D-платформеры, максимум 2.5D. Как показывают избранные примеры, это полная чушь. Unity также допускает больше, и для некоторых это будет даже базовым выбором. Дело в том, что в Интернете мы найдем гораздо больше руководств и ресурсов для среды Unity, потому что в глобальном масштабе это все еще лучший выбор для начинающих разработчиков. Unreal Engine, в свою очередь, с самого начала предложит гораздо большую базу готовых решений, особенно с точки зрения графики, но также и в области технологии захвата движения, HDR, высококачественных текстур, эффектов частиц или физики. персонажей и материалов. На нем проще сделать масштабное производство ААА? Видимо, да, но реальность показывает, что почему-то в Unity были созданы такие постановки, как Escape From Tarkov, Doom for Switch, The Forest (по образцу создателей Green Hell), Rust или Wasteland 3. Так что вы можете , вопреки распространенному мнению.

Насколько сложно создать игру с нуля?

Как видите, я создал свою самую простую, абсолютно любительскую продукцию за 4 дня , используя руководства, имеющиеся в сети. У меня был некоторый опыт работы с Blender и раньше, и Photoshop — один из моих повседневных рабочих инструментов, но создание чего-либо, что работает и может пройти от начала до конца, не займет много времени. Конечно, если бы я хотел потратить свои «Приключения мяча» и заработать на этом деньги, мне пришлось бы потратить гораздо больше времени на тонкую настройку нескольких десятков уровней, устранение ошибок и создание более интересных механик. Для этого мы также найдем подробные руководства в Интернете. Итак, вопрос в том, стоит ли оно того? Да, если у нас достаточно энтузиазма, решимости и интересной идеи. Сегодня продажа игры на уровне 5, может быть, даже 10000 копий, не является большой проблемой, особенно в случае проекта мобильной версии, где всегда найдется ниша, чтобы купить все, что мы туда бросим.

Green Hell находился в разработке почти полтора года, прежде чем появился в раннем доступе Steam. Первое дерево, вспоминает Давид, было построено за 18 месяцев. В среднем требуется около года, чтобы создать что-то, что можно показать миру, а затем потратить на это и заработать на этом деньги. Средний бюджет на производство одной игры «Indie Premium», то есть немного более подходящей игры, созданной небольшой компанией, колеблется в районе двух или трех миллионов злотых. Это, например, стоимость первого снайпера от City Interactive. Первое дерево стоило более 2800 долларов (включая музыку), а создание первого Ведьмака стоило 28 миллионов злотых. Самые большие игры в жанре AAA, такие как GTA V, уже стоят больших денег — здесь потребовалось целых 265 миллионов долларов, включая огромные затраты на маркетинг. Cyberpunk 2077 поглотил еще больше средств — более 316 миллионов долларов. Точные суммы на производство и маркетинг Red Dead Redemption 2 неизвестны, но оцениваются более чем в 400 миллионов долларов. Создание Max Payne 3 обошлось в 105 миллионов долларов (без учета маркетинга), а бюджет такой Half Life 2 был закрыт на уровне 40 миллионов долларов.

Это огромные деньги и их невозможно потратить из собственного кармана, для этого вам потребуются огромные корпоративные ресурсы и огромные доходы из многих источников. А вы знаете, сколько существует проектов, которые потратили десятки миллионов долларов и так и не были выпущены? Впрочем, в будущем я мог бы написать об этом отдельную статью. Если вы хотите стать разработчиком, никогда не было так просто войти в этот красочный мир. Наконец, я собираюсь дать отличный совет, который я услышал от основателей Creepy Jar. Даже если у вас огромный талант, отличное портфолио и достаточно целеустремленности, попробуйте пройти стажировку в студии или поработать два или три года на полную ставку в этой среде. Затем убеждения и привычки меняются, и человек приобретает огромный опыт, который окупается в будущем. Найти такое предложение работы несложно, специалистов на рынке не хватает, поэтому есть исследования, которые хотят «обучить» будущих сотрудников.