Укр
Разработка компьютерных игр, с чего начать?

Разработка компьютерных игр, с чего начать?

  • 30 мая, 2017

Большинство любителей рока рано или поздно берут в руки гитару, фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или на профессиональный ринг. Ну а те, кто сотни часов наиграл в GTA, провел десятки часов в компьютерных клубах за Counter-Strike или достиг немалых успехов в WoT или DOTA, наверняка задумываются о том, чтобы самому начать зарабатывать на разработке игр.

Проблема в том, что данному направлению обучают в считанных учебных заведениях (в нашей стране их можно пересчитать на пальцах). Поэтому большинство разработчиков игр – самоучки.

Создание игры: с чего начать

Первое, с чего, наверное, нужно начать (я не учитываю саму игру в игры)), — это модостроение.

Мод (сокр. от «модификация», моддинг игр) — дополнение к компьютерной игре, написанное, как правило, сторонними разработчиками или любителями с помощью SDK, прилагающееся к игре или специальным, разработанным для модифицирования игр любительским программам. Моды обычно разрабатываются фанатами и для фанатов и предполагают исключительно бесплатное распространение. В отличие от адд-онов, они часто изменяют баланс сил (в стратегических играх) или набор оружия и возможности героя (в 3D-шутерах).

Модостроение позволит вам понять внутреннюю логику вашей любимой игры, как она устроена и что можно поменять в ней в лучшую (а иногда и в худшую) сторону.

Второе, что нужно, — правильно сформулировать свои цели в разработке компьютерных игр. То есть задайте себе ряд вопросов: создавать мобильные приложения или браузерные игры, профессионально заниматься разработкой игр или посвящать этому свободное от работы время? Также нужно понимать, что вам больше по душе: создание интерфейса, создание геймплея или написание скриптов? А, может, вы хотите быть 3D-художником? Правильная постановка цели направит вас на правильный путь.

Ну и, конечно, у вас формулируются ряд вопросов – что нужно знать. Я приведу примеры для написания игровых скриптов, логики, поведения и т.д. То есть программирования (это то, чем занимаюсь я).

Вопрос номер один: какой языки программирования для игр выбрать? Честно, подойдет любой (только компилируемые языки, такие как C++, C#, Java, Objective C и т.д.), главное, чтобы начинающий разработчик, например, знающий основы программирования C#, понял принципы разработки не конкретно игр, а основы логики программирования (то есть в будущем логики в разработке игр).

Возможно ли без программирования?

Изучение языков программирования — очень трудоемкий и долгий процесс. Да и энтузиазм может поутихнуть. Но вы ведь хотите уже сейчас разрабатывать игры.

Тогда мой ответ: конструкторы компьютерных игр!

Конструктор игр — программа для быстрой конвейерной сборки компьютерных игр, подходит людям без специальной подготовки. Объединяет в себе игровой движок и IDE и значительно упрощает процесс создания игр, делая его доступным любителям-непрограммистам. Конструкторы открывают огромный потенциал для создания игр. Особенно для мобильных устройств, на которых есть большой спрос на маленькие игры. Популярные движки (по моему мнению, самые продвинутые на сегодняшний день) такие как Clickteam Fusion, Game Maker Studio и Construct 2 позволяют вам создавать игры для PC, iOS, Android, HTML 5, Flash и т.д.

Движки для игр

Что такое Unreal Engine?

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

Unreal Engine — это одни из самых популярных игровых движков, доступных на сегодняшний день. Мало того, он полностью бесплатный, а также с открытыми исходными кодами. Правда, при достижении определенной суммы заработка на игре вам придётся платить роялти (это, кстати, касается и других движков класса ААА, например, другого не менее популярного движка Unity).

Как некоторые знают, в движке можно писать игровую логику на С++. Но спешу вас успокоить: в нем также можно создавать игровую логику с помощью визуальной системы программирования — Blueprint — это визуальный скриптовый язык, который позволяет написать логику игры без применения языков программирования. Каким бы сложным или простым он ни казался, он остается довольно мощным инструментом, на котором можно создать практически все, что угодно: от простенького персонажа или открытия дверцы до процедурной генерации уровня.

С помощью BSP можно создать красивый пейзаж и обогатить его растительностью и какими-то дополнительными деталями

Сам же Unreal Engine предоставляет определенный набор инструментов, благодаря которому можно создать что-то свое, не прибегая к стороннему ПО (не считая текстур). Внутри редактора для создания игр существует инструмент под названием BSP, благодаря которому вы можете спроектировать сцену. Хотя он предназначен для проектирования, а не для финального результата, с его помощью можно сделать несложную модель и даже сконвертировать её для того, чтобы она могла подвергаться физике. Можно сделать здание, какие-то не очень сложные модели и тому подобное. Также предоставляется инструментарий для создания ландшафтов, с помощью которого возможно сделать довольно красивый пейзаж и обогатить его растительностью и какими-то дополнительными деталями. Добавив немного пост обработки, можно получить замечательную картину.

Конечно, не стоит рассматривать UE4 как набор кнопок под названием «сделать все хорошо». Инструмент очень мощный с впечатляющим функционалом, поэтому изучить все и сразу тоже не получится. Однако если вы сумеете поставить себе цель и наберетесь достаточно терпения, то у вас все получится.

Рекомендуем курс по теме

В качестве вывода. Что нужно знать, чтобы начать?

Начинающему разработчику нужно много терпения в освоении модостроения, разработки на специальных конструкторах игр без программирования, а также необходимо изучить весь инструментарий разработчика. В дальнейшем это пригодится на практике. Ну и, конечно, любить игры!

Что касается более продвинутых людей, то тут список куда больший. Все зависит от того, какую профессию вы выберете. Для программиста — работа на языках высокого уровня, чтобы порог вхождения был меньшим, основы моделирования, геометрия вещей, работа в 3D-пространстве с 3D-моделированием и многое другое — в общем, это то, что называется предметной областью. Любовь к играм и программированию — тоже обязательный атрибут.