с чего начать создавать игры
Инструкция начинающего разработчика игр
В данной инструкции я попытался осветить основные моменты разработки игр. Инструкция будет полезна для людей, собирающихся заняться разработкой игр в роли лидера (главного разработчика и организатора).
Хочу отметить, что игры бывают разные – большие и маленькие, сложные и лёгкие, и поэтому для каждой игры эта инструкция верна в какой-то своей определённой степени. Охватить всё не удалось, но передать общие моменты, думаю, получилось.
И так Вы решили сделать свою игру, о чём Вам нужно подумать…
Думаем – нужно ли это тебе
Перед тем, как за что-то взяться, необходимо всё обдумать. А перед тем, как заняться разработкой игр, необходимо обдумать всё очень хорошо. Очень часто начинающие разработчики, достигнув определённых успехов в чём-то (сделал мод для игры, небольшой фан-сайт и пр.), начинают грезить созданием своей игры. Это происходит из-за того, что они имеют слабое представление о процессе разработки игр.
Я перечислю основные ошибки в их представлении:
Концепция и ТЗ
Когда-то давно я написал довольно неплохую статью о концепции проекта. За последние пару лет мои взгляды слегка поменялись, но суть осталась та же.
Контент
Я специально выделил этот раздел, так как он является решающим в процессе разработки игр. Под контентом понимается всё содержимое игры, с которым взаимодействует пользователь. Это графика (растровая, векторная, 3D), музыкальное и звуковое сопровождение, видеоряд, сценарий и текст. Также сюда следует добавить медиаматериалы, используемые для продвижения игры (реклама, банеры и прочие).
В английском языке есть такое понятие как «artist» обозначающие сразу художников, музыкантов, режиссёров, писателей и прочих творцов. К сожалению, в русском языке нет нормального аналога этого слова, поэтому я дальше буду использовать понятие «создатель контента».
Разберём основные моменты этого раздела.
Программирование
Как ни странно, создание программного кода для игр не является самой сложной задачей, но в тоже время и не является простой.
Тестирование
О тестировании начинающие разработчики обычно не задумываются, а зря, так как на него тратиться немногим меньше времени, чем на написание программной части. В этом разделе есть два важных момента:
Организационные моменты
Послесловие
Инструкция получилась большой, материала много. Крайне советую прочесть её начинающим разработчикам игр, так как, возможно, она поможет им избежать ошибок в будущем.
UPD: Статья получилась успешной, даже очень. Но в комментариях прослеживаются замечания по поводу отсуствия романтики и отвращения к играм. Поэтому я прокомментирую эти моменты.
Многие опускают тот факт, что статья для начинающих разработчиков игр, претендующих на роль лидера (первый абзац статьи). Не буду отрицать, что со временем, когда приобретаешь опыт разработки игр и жизнь складывается удачно, возвращается романтика и отвращение спадает. Но в самом начале, когда начинаешь с нуля, после того как столкнёшься с первыми серьёзными проблемами, эта романтика и любовь к играм исчезает ко всем чертям. Разработка игр — это не прогулка по ковровой дорожке в розывых очках, а блуждание в лабиринте Минотавра, где много тупиков.
Я не собираюсь своей статьёй вселять в начинающих разработчиков уверенность. Они должны знать, что путь разработчика игр сложен, что они могут встретить нерешаемые проблемы, что их нерализованный проект будет для них символом поражения.
Как программировать игры: языки, движки и все, что нужно знать начинающему разработчику
Сперва это кажется дико сложным, но чем глубже погружаешься, тем лучше получается. Рассказываем, как начать делать игры,
Главное — в самом начале узнать, что нас ждёт, чтобы потом не свернуть на полпути, пройти все этапы и выпустить релиз. Подробно всем тонкостям, навыкам и хитростям мы обучаем на курсе «Профессия разработчик игр на Unity». Здесь же рассмотрим первые шаги, которые ждут разработчика.
С чего начать разработку игры
Рассчитываем, что вы уже придумали, какой будет игра, разработали концепт и уже ищете способы разработки. Настало время реализовать свои задумки. Есть несколько вариантов, как это сделать.
Все три способа подразумевают какое-никакое программирование, так что знать хотя бы основы вам точно придётся.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Языки программирования
Подойдут любые, от Python и C до Pascal и Java. От выбора зависит то, сколько времени уйдёт на игру и для какой платформы будет релиз. Также язык влияет на производительность.
На C++, например, пишут для любой платформы, а вот PHP или JavaScript лучше подходят для браузерных игр. Если же вы используете один из движков, то лучше вдобавок изучать C# — на нём прописывают скрипты. Главное — не недооценивать языки. Движок Unity дружит и с JavaScript, а MineCraft был написан на Java.
Движки для создания игр
Среди современных выделим:
Crysis, Far Cry, Sniper II: Ghost Warrior.
Gears of War 4, Dead Pool, Mortal Kombat X, Tekken 7
Outlast, Assassin’s Creed: Identity, Temple Run, Deus Ex: The Fall.
Большой популярностью пользуется Unity, он рассчитан как на 2D-, так и на 3D-игры. Он подходит под разные платформы и языки. На нём создается большинство мобильных и инди-игр. Он бесплатный, но если вы зарабатываете на своих играх больше 100 тысяч долларов в год, то придётся делиться ими с разработчиками Unity.
Как строится игровой код
Допустим, вы выбрали язык и движок, составили план. Что дальше? Продумайте всё от и до. В зависимости от выбранного вами пути (чистый язык или использование движка) будет отличаться и то, что вас ждёт на разных этапах разработки.
Если делаете всё своими силами, то на ваши плечи ляжет работа над физикой, механикой, графикой, искусственным интеллектом и балансом. Если выбрали движок — можно вздохнуть спокойно.
Физика
Физика — это то, как мир игры реагирует на действия игрока или объектов внутри мира. Вот какие могут быть физические действия:
Если пишете сами, то для обычного прыжка придется:
Не говоря уже о том, что нужно работать над анимацией всего этого.
В движках уже прописана физика, и нужно лишь подогнать её под свои нужды. Для примера:
И для этого не придётся писать код вообще — всё уже предусмотрено.
Механика
Игровая механика — это то, какими способами игрок взаимодействует с миром. Совокупность игровых механик составляет игровой процесс. Например, вы уже реализовали возможность ходьбы и прыжков. Эта игра, скорее, платформер.
А если добавите механику получения опыта, повышения уровней, прокачки навыков, — игра станет походить на RPG. Механика — такая же важная составляющая игры, как и сюжет или графика.
Ещё один пример: вы написали сценарий к игре, в которой нужно сбежать из тюрьмы. Даже если игра будет самой линейной в мире, игровая механика может всё изменить:
Будучи программистом, придётся уделять много времени механике.
Графика
Раньше графика создавалась с помощью программного кода, потом придумали текстуры и спрайты, а для 3D-игр используются модели. Подготовив все текстуры и модели, нужно добавить их в игру.
В движке достаточно просто загрузить нужные файлы и прикрепить их к нужным моделям. Иначе — прописывать всё вручную, в том числе и анимацию.
Для анимации 2D-объектов создаётся текстура по типу той, что на изображении выше. Она разбивается на равные части, которые сменяют друг друга. То есть игрок сначала видит первый кадр, который потом сменяется на второй, а затем на третий — это создает иллюзию движения.
Если брать 3D-модель, то используется скелетная анимация — модель как бы нанизывается на специальный каркас (скелет) с подвижными частями. Движение этих частей прописывается в коде.
На скриншоте видно, как персонаж сгибает руку в местах с точками (вершинами). Таких точек может быть очень много, если требуется сложная анимация — жесты, мимика и так далее.
Создаётся анимация так: прописываются точки координат или захватываются движения реального актера.
Первый способ сложный, но дешёвый, потому что от программиста требуется только прописать движения — сдвинуть точку A1 на координаты (50,240).
Второй проще, потому что достаточно одеть актеров в специальные костюмы с маячками, отснять это и перенести в игру. Но тут, конечно, придётся оплатить костюмы, павильон, работу операторов, постановщиков и актёров.
Баланс
Чтобы играть было интересно, нужен баланс. Это значит, что у каждого противника должны быть сильные и слабые стороны. Так геймплей не превратится в убийство одуванчиков или десятичасовые перестрелки с боссом.
Искусственный интеллект
Если геймплей предусматривает взаимодействие с NPC, то им нужно прописать модели поведения: реакцию на действия игрока, агрессивность, возможность вести диалоги или торговать.
Работа с ИИ — одна из самых сложных, потому что стоит учитывать множество ситуаций, для которых задумана реакция. Например, когда вы пытаетесь пройти в дверь, ваш компаньон обязательно должен преградить вам путь, чтобы жизнь малиной не казалась.
На какие платформы ориентироваться
Разобравшись с тем, как всё будет устроено в игре, можно приступать к разработке. Но чтобы проект был коммерчески успешен, выбирайте популярные платформы. Всего можно выделить четыре:
У каждой из этих платформ своя аудитория с вполне конкретными предпочтениями. На мобильных устройствах предпочитают головоломки (2048, 94%, Cut the Rope), аркады (Subway Surf, Temple Run, Angry Birds) и казуалы (Talking Cat Tom, Kitty Kate Baby Care, Hair Stylist Fashion Salon).
На компьютерах играют в MMORPG (Lineage II, World of Warcraft, Skyrim) или шутеры (Battlefield, Call of Duty, Counter-Strike).
Приставки подходят для гонок (Need for Speed, Blur, Burnout Paradise), приключенческих игр (Assassin’s Creed, Portal, The Walking Dead) и так далее.
В браузерах собирают пазлы и строят фермы.
Конечно, можно сделать и головоломку для PS4, и гонку для браузера — никто никого не ограничивает.
Заключение
Будьте готовы к тому, что ваша первая игра не станет шедевром. Но не расстраивайтесь, потому что такие проекты отлично подходят для обучения.
Подтяните свои навыки в программировании, чтобы научиться создавать игры, изучите современный язык, который часто используется разработчиками, и выпустите свой первый проект. А наш курс поможет вам в этом.
Разработка инди-игры одним человеком (история, советы)
Я хотел бы рассказать вам о своем опыте в разработке инди игры. Мой опыт ограничен всего одной игрой, которая на данный момент находится в “раннем доступе” в Steam. Это не много, но мне кажется мне есть чем поделиться. Если не хочется читать все — в конце самое интересное кратко.
Знакомство с Unity
Т.к. один из моих любимых жанров это TD (tower defense, защита башнями) – я хотел попробовать создать что-то похожее на игру этого жанра. До начала работы с Unity (и соответственно с C#) я работал только с PHP и Python.
Связка Unity + C# показалась мне более удачной (и простой), чем Unreal Engine + C++. Для начала я познакомился с C# (сделал простенькую программку в Visual Studio), а потом уже начал изучать Unity. Если вы уже владеете на хорошем уровне одним из языков программирования – C# будет прост и понятен. Знакомство с самим Unity – гораздо сложнее.
К сожалению, на момент начала создания игры я не прочитал не одной книги по Unity. Я начал с нескольких онлайн курсов и видео, которые бегло знакомят с инструментами Unity. Могу назвать это одной из самый больших ошибок. То есть я учился работе с Unity непосредственно работая в Unity (создавая игру). Но в принципе это не противоречило тому, чего я хотел. В самом начале я не думал, что игра получиться, и я начну её продавать. Я просто хотел познакомиться с движком, может быть после этого попробовать UE.
Первые шаги
Посмотрев несколько роликов, а также отличный видео-урок по созданию TD в Unity я начал свое дело. Времени на создание игры у меня было всего несколько часов в неделю. Я смотрел видео, читал документацию, гуглил непонятные моменты, что-то делал. Игра начинала превращаться из “кружочки стреляют в квадратики” в “мужик с топором бьет волка”. Я потихоньку осваивал простейшие инструменты Unity и взаимодействие с C#. К сожалению самых первых версий игры, или скриншотов не сохранилось (те что есть, это примерно 2-3 месяца от начала создания).
Также я сделал простейшее меню, и что-то вроде менеджера колоды, ведь у меня TD с элементами CCG (коллекционные карточные игры) и RPG. Далее началась работа над RPG составляющей, мне было интересно придумать формулы расчета урона, брони, меткости, крита и т.д. а также добавить ко всему этому CCG.
Постепенно игра начинала обзаводиться функциями, которых я не встречал в других играх, а также интересными механиками. Больше всего вопросов было к визуальному исполнению. Но так как игра делалась “для себя” – в этом проблем не возникало.
Я ни копейки не заплатил дизайнеру, брал картинки и музыку с открытых бесплатных источников. Например для создания героев я использовал бесплатную программу Hero Machine, для тайлов карт что-то рисовал сам, для музыки — YouTube. В общем на 2-3 месяц разработки (как мне казалось обучения Unity), я даже не думал о продажах или т.д.
Первые траты
Если бесплатная программа по созданию героев-защитников помогала мне, достойных врагов мне создать не удавалось. В какой-то момент мне захотелось сделать разные виды врагов и при этом выглядящих хорошо. Мой взгляд упал на фриланс-биржи. Я разместил заказ на создание 2Д волка и его спрайтовую анимацию на одной из бирж (что-то вроде freelance.com). Ответов было много, я конечно выбрал самый бюджетный вариант. Первый волк мне обошелся в 20$.
После того как я интегрировал в игру волка и увидел на сколько игра выглядит лучше – я задумался об большем количестве врагов. Я поискал ребят на отечественных фриланс-биржах и нашел там человека, который запросил меньше заморского художника, да и его стиль мне понравился больше.
Он нарисовал мне новых врагов “волка”, “кабана”, “энта” для первого акта игры. Они выглядели круче чем вся моя графика игры, поэтому я заказал у него новый UI. Вся работа дизайнера (рисовка первого акта + UI) стоила около 200$.
Я начал видеть, что игра приобретает какие-то реальные очертания. Добавил кузницу и магазин, дизайнер начал работу над вторым актом (нежить). Дизайнер рисовал самих врагов, а также карты – уровни. Второй акт мне обошелся в 100-150$.
Я начал задумываться о Steam Greenlight, чтобы получить хоть какой-то отзыв.
Game Planet 2016
Я увидел объявление об участие на фестивале “Game Planet”. За участие просили 5000р., давали кабинку 1м х 2м. Мне было интересно, поэтому я согласился. Взял в помощники коллегу с работы (спасибо ему за помощь), распечатал кучу макулатуры (спасибо халявному принтеру на работе), призы, баннеры, футболки, купил шоколадки. В общем два дня фестиваля обошлись мне примерно в 150-200$.
Также к старту фестиваля я оформил страничку в Steam для запуска игры на Greenlight. Мне казалось, что удастся привлечь к игре внимание на фестивале и быстрее пройти отбор в Steam.
Всего в инди-площадке не фестивале было 8 кабинок. Мне кажется не очень повезло с расположением. С права от меня была игра про гонки (представлял её ИЗДАТЕЛЬ, разработчики на Украине), слева игра “Mushrooms Wars 2” (сами ребята говорил, что им с дизайном помогал Apple). Почему эти ребята считали себя инди и почему также считали организаторы – мне не понятно. В общем на их фоне я (да и остальные реальные инди-разработчики) выглядели хуже. Я показывал игру на PC а также на дешевом планшете с Windows.
Мы показывали нашу игру, собирали мнения, просили голосовать в Steam, раздавали сертификаты на бесплатную Steam версию и т.д. Также пытались привлечь людей в наши группы в соц-сетях (обещали там дополнительные розыгрыши, призы и новости).
Было интересно наблюдать за игроками, что им понятно, что вызывало трудности. Игроки находили баги и говорили свое мнение. Больше всего жалоб было на графику. Она была слишком простой и с этим было глупо спорить. Графика не могла своей стилистикой походить на олдскульную или пиксельную. Она просто была плохой (т.к. большую её часть делал я сам). Механика игры людям нравилась и была им интересна. Также удивительно, но игра понравилась детям (лет до 10). Такое ощущение, что они первый раз видели жанр TD, и он их очень увлекал. Одна мама оставляла нам ребенка на несколько часов (оба дня фестиваля), и он сидел в углу кабинки и играл.
Также я познакомился с несколькими крутыми ребятами (также инди-разработчиками) и у меня появились люди с кем бы я мог обсудить свое творение, получить профессиональное мнение, совет.
В итоге я могу сказать, что вся польза от фестиваля – несколько голосов в Steam, понимание что надо менять графику, несколько новых знакомств.
Писать как проходился Steam Greenlight особого смысла нет, т.к. его больше не будет. Но все свелось к тому, что надо самому нагонять “подготовленный трафик”. Иначе ваша игра никому не нужна и стандартный комментарий будет “что за очередное говно!?”.
Boomstarter
Также я пробовал краудфандинговую компанию на Российском сервисе Boomstarter. Для меня это стало бесполезной тратой времени. На сервисе нет своего трафика, и если у вас нет сотен человек, которые хотят в вас вложиться – там вы новых не найдете.
Жизнь после Greenlight
Прохождение Steam Greenlight это круто. Это значит, что потраченные часы на разработку, деньги на графики, 100$ за само участие – все было не зря. Кому-то (кроме тебя) твоя игра интересна, и он теоретически готов её купить.
Steam Greenlight оставил двойственные впечатления. Во-первых, получилось пройти его всего за 2 недели. Это быстро и хорошо и этим надо гордиться. Но во-вторых я понял, что без “подготовленного трафика” не получилось бы пройти так быстро (можно было бы зависнуть на несколько месяцев или полгода). Также я начитался кучи комментариев вроде “игра — г***о”, “автор *Роскомнадзор* об стену” и т.д. Меня как неподготовленного к такому было неприятно. Я покликав игры на том-же Greenlight ставил лайки, если нравиться. Если чужая игра мне не нравилась, я просто проходил мимо.
Далее был новый год, потом меня пригласили в интересный фриланс проект. Своему дизайнер я заказал перерисовку карт (уровней), т.к. существующие абсолютно не вписывались. Разработка остановилась примерно на пол года.
Новые уровни стали симпатичнее, я начал добавлять для красоты частицы (particles). Также шел процесс багфикса и добавления того, что предлагали игроки с фестиваля.
Я несколько раз сходил на Питерские гейм-дев тусовки, поболтали, попили пива. Правильную мысль высказал Oleg Pridiuk: “игры надо делать не для того чтобы делать, а для того, чтобы продавать”. Мне эта мысль стала близка, т.к. до этого момента я особо не думал о продаже. Мне нравился сам процесс разработки – ставить цель, реализовывать, придумать новую механику – сделать.
Тем временем я нашел еще одного дизайнер. У первого были другие проекты (может быть более денежные, может быть более интересные).
Со вторым дизайнером мы начали с перерисовки главного меню игры (картинка сверху). Это первое (после заставки), что видит игрок и на мой взгляд оно должно было быть крутым. То, что получилось – мне очень понравилось:
Эта картинка стоила мне около 40$ но делала первое впечатление об игре лучше. Мы продолжили работу и решили начать с перерисовки UI. Старый деревянный UI плохо смотрелся с новыми элементами.
Новый UI обошелся мне в 100$, и т.к. первый дизайнер не освободился – было решено, что всеми новыми задачами займется второй дизайнер. Мы дорисовали второй акт, интерфейсы, он сделал некоторые замечания по цвету-шрифту. Я запланировал выход на среду 8 ноября. Кстати можно менять дату выхода хоть каждый день. Игра тогда будет висеть в списках «скоро выходит», и до её выхода успеет привлечь некоторое внимание. Я такой тактикой не пользовался, но говорят работает.
Steam Early Access
Игра в таком виде была готова (на мой взгляд) к выходу в Steam Early Access. На удивление подготовка заняла ОЧЕНЬ много времени (от готового билда до выхода в Steam). Начиная от добавления Steam SDK и заканчивая сотнями картинок, которые нужны Steam для вашей игры, также загрузка первого билда – это непонятно (спасибо тому, кто помог разобраться). Также необходимо заполнить всякую налоговую информацию, создать описание игры и описание раннего доступа (я сделал на Русском и Английском языках), достижения, карты, смайлики и т.д. Я думаю, что процесс подготовки занял у меня около недели.
Еще я старался вести группы в социальных сетях, старичку на IndieDB и т.д. Все это отнимает ОЧЕНЬ много времени, и вместо того, чтобы делать игру – я делал картинки в фотошопе. В общем если у вас есть человек, который может взять этот труд на себя (или вас в команде хотя бы больше 1) – то вам повезло.
Также для меня было не просто определиться с ценой и днем недели / датой для выхода игры. Я прочитал несколько статей, и вот что понял для себя:
К моменту релиза игры – у меня уже будет исправлены все баги и добавлено все что хочет сообщество. Также у меня будет некое количество отзывов (пока держится в статусе “положительно”). Так что я не вижу не одного минуса в Early Access – это круто и работает.
Способы увеличения продаж
Что я пробовал и что получил:
Итого бюджет
Мне уже видно, что игра полностью отобьёт все вложения, и даже принесет какой-то заработок. Конечно жить на эти деньги бы я не смог, но хобби которое приносит небольшой заработок – это круто. Также я хочу попробовать выйти на iOS и Android по готовности (это принесет очередной интересный опыт). Игра располагает к игре на планшетах.
Буду ли я делать еще игры? Однозначно да!
PS: если кому-то хочется поиграть, но не хочется по какой-то причине покупать — пишите, поделюсь ключиком бесплатно (количество ключей ограничено).
Как сделать свою первую игру. 7 главных советов
Геймдизайну может научиться каждый. Главное — не бояться собственных ошибок.
Если вы читаете эти строки, вас, скорее всего, посещала идея сделать собственную игру. Может быть, вы даже пытались взяться за это — но, впервые увидев интерфейс игрового движка, сказали себе: «Нет». А потом закрыли движок и больше никогда к нему не прикасались.
На самом деле всё не так страшно, как кажется. Советуем, как перестать беспокоиться и полюбить делать игры.
Совет №1. Не стремитесь к идеалу
Не повторяйте ошибку тех, кто пытается сразу сделать игру своей мечты.
Многие берутся за разработку в надежде воплотить в жизнь свои блестящие идеи. Иногда у новичков выходит The Stanley Parable — но куда чаще их задумки гибнут ещё на первых этапах разработки, погребённые под грузом амбиций.
Не потому что у вас нет таланта — просто для этого нужны опыт, знания и, если речь идёт о хоть сколько-нибудь большой игре, команда профессионалов. Вашей целью поначалу должен быть не хороший продукт, а что-то, что вы сможете быстро собрать и так же быстро начать тестировать.
Иными словами, смотрите на свои первые проекты как на обучающие упражнения. Ведь это они и есть.
Игровой энтузиаст. Любит видеоигры, настолки и рассказывать всем, как они устроены.
Совет №2. Выберите подходящие инструменты
Найдите движок, который поможет вам освоить азы разработки. На этом этапе удобство и простота в освоении куда важнее, чем мощность технологии и список опций, — хотя они тоже важны.
При помощи разработчиков-специалистов мы разобрались в плюсах, минусах и особенностях трёх игровых движков, которые подойдут новичкам, — GameMaker Studio 2, Unity и Unreal Engine.
GameMaker Studio
Лозунг компании-создателя движка YoYo Games — «Делать игры может каждый». Дебютировавший в 2007 году GameMaker известен прежде всего своей доступностью. Например, он не требует знания кода: в редактор встроен визуальный редактор скриптов, который позволяет сразу начать делать игру.
Тем не менее его возможностей хватает, чтобы сделать качественный проект: доказательством служат такие игры, как Spelunky, Hotline Miami и Hyper Light Drifter.
Инди-разработчик и старший геймдизайнер Кирилл Золовкин (Allods Team) рекомендует движок независимым разработчикам: «Для небольшой инди-студии или одиночки, создающего 2D-игры, трудно найти более простой и понятный редактор».
Разработчик перечисляет опции и сильные стороны движка, которые пригодятся новичкам:
Однако главное достоинство GameMaker, его простота, также порождает его главные недостатки:
Кроме того, бесплатно GameMaker доступен только в первый месяц — после этого придётся купить одну из версий ценой от 39 до 799 долларов.
Unreal Engine
Движок был впервые использован в 1998 году для создания шутера от первого лица Unreal, но с тех пор успел завоевать репутацию одного из самых мощных и универсальных редакторов в игровой индустрии. На его основе созданы самые разные проекты: от серии NBA и батл-рояля Fortnite до ролевой игры The Outer Worlds и будущей S.T.A.L.K.E.R. 2.
Инди-разработчики тоже любят использовать движок Epic Games. Валентин Щекин (Primary Games) сделал на нём свою первую игру, инди-хоррор Never Again. Он объяснил, почему выбрал именно Unreal Engine: «Меня впечатлили возможности движка. Я сразу в перспективе увидел то, что мне по силам реализовать».
На этом же движке геймдизайнер и художница Юля Кожемяко (Supr Games) делает игры-инсталляции, которые она называет playful experiences. Она выделяет интуитивный интерфейс программы: «Многие вещи [в ней] можно понять методом тыка, просто изучая редактор».
Разработчица также отмечает простор для экспериментов, который даёт Unreal Engine. Для этого в движке присутствует множество опций:
В то же время у движка тоже есть свои ограничения:
Unity
Ещё один популярный движок, любимый инди-сообществом — во многом за баланс между возможностями и дружелюбностью по отношению к новичкам. Unity одинаково хорошо подходит для разработки 2D- и 3D-игр, и с момента дебюта в 2006 году в редакторе были созданы самые разные проекты — от «симулятора ходьбы» Gone Home и мобильной AR-игры Pokemon Go до изометрической RPG Pillars of Eternity и шутера-головоломки SUPERHOT.
Ведущий программист Pixonic Алексей Малороссиянов перечисляет качества, благодаря которым Unity обрёл популярность:
Из достоинств движка также стоит отметить Unity Asset Store, в котором в несколько раз больше ассетов, чем в маркетплейсах других движков.
В то же время в Unity есть свои недостатки, которые могут усложнить разработку:
В конечном счёте, как отмечает Алексей, всё зависит от того, чего вы хотите от своего проекта.
Если ваша задача — собрать прототип несложной механики, или в вашей команде есть только художники и геймдизайнеры, вам подойдёт GameMaker Studio. Если вы хотите создать кинематографический опыт со сложной визуальной частью, вам стоит выбрать Unreal. Если же вы хотите создать достаточно сложный проект со множеством механик, мобильную игру или если вы нацелены на множество платформ, стоит использовать Unity.
Совет №3. Соберите прототип и покажите его друзьям
«Не откладывайте на потом практическую часть», — рекомендует Кирилл Золовкин. Как только вы немного разобрались в движке, пришло время делать прототип — модель будущей игры, предназначенную для тестирования игровых механик.
Опирайтесь на те навыки, которые вы получили при знакомстве с движком, — так вы не загоните себя в тупик. Соберите что-нибудь небольшое — один уровень платформера или трассу в гоночной игре. Главное, чтобы в это можно было играть.
Такое самоограничение поможет за неделю-две собрать прототип, который затем следует показать друзьям.
И надо быть готовым, что его не оценят по достоинству: в конце концов, вашему творению далеко от высокобюджетных игр, к которым они привыкли. Любая реакция ценна сама по себе: во-первых, друзья дадут вам фидбэк, который поможет избежать ошибок в будущем, во-вторых, это избавит вас от ощущения, что вы делаете игры «в стол».
Совет №4. Следуйте принципу «Каждому по способностям»
Успели помучить друзей своими прототипами? Уже получается собрать целый уровень, не запутавшись в движке? Пора сделать полноценную игру. И здесь важно вновь не потонуть в море собственных амбиций.
В геймдеве (и не только) существует такое понятие, как минимально жизнеспособный продукт — то есть набор механик, которого достаточно для запуска. В случае шутера, например, это перестрелки. Все прочие механики — стелс, кат-сцены, разрушаемость — можно добавить позже.
Не пытайтесь сделать всё и сразу. Minecraft тоже когда-то была всего лишь виртуальным конструктором — и посмотрите, во что она выросла.
Геймдизайнер и ведущий канала Extra Credits Джеймс Портнов рекомендует опираться на то, что вы умеете делать лучше всего. Хорошо рисуете? Создайте игру с оригинальным стилем. Не умеете рисовать, зато умеете кодить? Сделайте проект с упором на механики.
Совет №5. Участвуйте в игровых джемах
Игровые джемы ( англ. game jam) — это мероприятия, целью которых становится разработка новых игр в ограниченный срок. Как правило, на создание прототипа участникам даётся двое суток, а тема и условия обычно объявляются перед началом джема.
Юля Кожемяко объясняет, почему так важны эти события: «На джеме есть ограниченный срок, [поэтому] ты не будешь несколько месяцев сидеть без результата, а получишь его через два-три дня… Ты увидишь, что можешь сделать, пусть даже в команде с другими ребятами. На джеме нет возможности прокрастинировать. Нужно полностью сосредоточиться на игре».
Здесь действует тот же принцип, что и с показом игры друзьям. Джемы позволяют не работать «в стол», а показать своё творчество другим участникам и, возможно, профессионалам из индустрии. Там же можно завести знакомства с будущими коллабораторами. В частности, с Ильёй Кононенко, соавтором игры The Tender Cut, вдохновлённой «Андалузским псом», Юля Кожемяко впервые встретилась именно на джеме.
Наконец, из удачного прототипа, собранного во время упражнений, вполне может вырасти полноценная игра. Так, например, на свет появились SUPERHOT, Mini Metro и Hollow Knight.
Совет №6. Составьте график разработки
Закончить игру — слишком масштабная задача. Разделите её на основные этапы — собрать уровень, написать диалоги, — а затем разбейте эти этапы на мелкие задачи, которые вам по силам выполнить за неделю.
Да, дедлайны нужны даже свободным художникам. Расписание даст вам возможность отслеживать свой прогресс и чувствовать, что вы не стоите на месте.
В посте, посвящённом разработке Never Again, Валентин Щекин даёт совет по составлению графика: «…Есть негласное правило разработчика: время, заложенное на разработку, нужно умножать на два. Не верьте! Нужно умножать на четыре».
Если вы отстаёте от графика на месяц, возможно, вам следует скорректировать расписание, чтобы дать себе больше времени. Но если застой длится уже два месяца, скорее всего, вы всё-таки переоценили свои силы. В этом случае лучше урезать масштаб проекта — выбросить необязательные уровни и механики — или просто начать другую игру поменьше.
Совет №7. Работайте регулярно
Старая пословица гласит: «Быстро — это медленно, но без перерывов». То же правило действует в геймдизайне.
Избегайте больших пауз в работе. Старайтесь выкроить хотя бы час в день на разработку игры. Постепенно это превратится в привычку — и у вас не будет чувства, что вы топчетесь на месте.
Алексей Малороссиянов объясняет: «Изучать программирование непросто и требует определённого майндсета. Но когда начинает получаться, вы испытываете огромное удовольствие от результата… Не сдавайтесь и планомерно каждый день хотя бы немного времени уделяйте разработке и изучению движка. И всё у вас обязательно получится».
С ним соглашается Юля Кожемяко: «Возможно, пару месяцев не будет видно никакого прогресса, [не будет ощущения], что вы идёте к разработке игр, но спустя какое-то время это произойдёт. Просто надо методично работать».