Форум Игровой Мир! Игры, новости игр, новинки игр, скачать игры, фильмы

Объявление


.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Игровые движки>>Основы игрового движка

Сообщений 1 страница 2 из 2

1

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

Но вот незадача, на поверку движок оказывается странным архивом с кучей непонятных файлов. Приходится звать программиста, который «год сидит на Си» (Delphi, Pascal и других языках), чтобы он с этим добром разбирался. Программист щурит глаз, просит месяц и покупает по этому поводу толстую книжку. В итоге через полгода мастер кода печально сообщает: назначение большинства функций неизвестно, как ими пользоваться — неясно, и вообще — лучше за год написать движок заново, чем разбираться дальше.

Все понимают, что это конец. Ведь через год и графика устареет, а гениальную идею реализует кто-то другой. Так вот и пропадают молодые таланты, споткнувшись о движок и не выпустив ни одной игры. Давайте поможем индустрии, поговорим про игровые движки.

Основные понятия

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

Соответственно, «игровой движок» — это процесс изготовления игры. Понятно, что графический, физический, скриптовый движки задействованы в этом процессе как отдельные компоненты. У нас на эту работу ушло чуть больше трех лет по календарю. Однако я также включаю сюда грубую оценку времени, которое потратили художники и геймдизайнеры на борьбу с возникающими ошибками. Абсолютный чемпион по затраченному времени, как и везде, отлов и исправление ошибок!

Игровой движок — понятие расплывчатое. Дело в том, что игровое программное обеспечение включает в себя множество разнообразных модулей, некоторые из которых тоже именуются движками. Например, в «Космических рейнджерах 2» совместно работают движок 2D-эффектов, интерфейсный движок, квестовый движок, скриптовый, аркадный, звуковой и видеодвижок. И это далеко не все.

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

Эти вещи могут быть хорошим дополнением к игре, но никак не ее основой. Если команда говорит, что «графика устареет», — это первый признак того, что игры не будет никогда. Все сомневающиеся могут посмотреть на Duke Nukem Forever, который в разработке уже десять лет, и на «Космических рейнджеров 2». Графика последних почему-то никак не устаревает.

Ну а теперь про сами движки. Студия Creat изначально делала и делает все свои игры на собственном движке, ему уже около восьми лет. На нем мы делаем все игры, под все платформы и во всех жанрах.

— Платформы: PC, PS3, PS2, PSP, Xbox, GameCube, Nintendo DS.

— Жанры: гонки, файтинги, шутеры от первого и от третьего лица, квесты, пазлы, симуляторы гольфа.

Дать четкое определение игровому движку вовсе не просто. Это как обсуждать, что такое операционная система и что такое ядро. Я бы сформулировал так: игровой движок — это все, что позволяет создавать игру: Pipeline + Tool Set + Core Game Engine + интерфейсы к подсистемам + набор модулей подсистем.

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

Иногда рассуждают про движок какой-то конкретной игры, например Gamebryo, Aurora, «Операции Silent Storm». Может показаться, что это те самые движки, которые заточены под производство конкретных паровозов, но это не так (точнее говоря, нельзя сказать об этом наверняка). В данном случае мы видим не столько движок, сколько Game Creation Framework (фреймворк — среда разработки), то есть заранее собранный и отлаженный инструмент под наиболее удобное и быстрое производство игры в рамках конкретных ограничений.

Самое главное в движках — это Pipeline + Toolset (тулсеты, они же тулзы — дополнительные инструменты). От них зависит качество и скорость разработки, и это как раз то, что очень тяжело поменять, так как придется многое начинать заново, включая переучивание всей команды.

Из основных компонентов надо выделил следующие:

Графический движок — надстройка над DirectX/OpenGL, которая позволяет обрабатывать графические ресурсы разных форматов (загружать, обрабатывать, выводить на экран).

Физический движок решает задачи взаимодействия игровых объектов: падение камня с горы, занос машины на поворотах, полет самолета при сильном боковом ветре.

Обладая физическим и графическим движками, можно приступать к разработке игры, но только на уровне программного интерфейса. Каждое изменение вносится непосредственно в код. Это работает, но геймдизайнеры обычно не совсем понимают, как в таких условиях делать игру. Им нужны более простые и понятные инструменты разработки.

Для этого пишут скриптовый движок, который текстовыми командами позволяет управлять всем остальным: графическим и физическим движками, AI, интерфейсом, эффектами. С обычным текстом геймдизайнерам работать намного приятнее.

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

Процесс принятия технологических решений

Да в общем-то все очень просто. У каждой команды, на каждом проекте есть Core Team — основной состав команды разработчиков, костяк группы, те люди, которые работают над игрой с самого начала и до победного.
Она всегда представлена следующими ролями:
продюсер, ведущий геймдизайнер, ведущий программист, главный художник, главный 3D-моделлер, специалист по контролю за качеством, технический директор проекта.
Плюс так называемый Project Integrator — человек, который берет у программистов код, у художников — персонажей и модели, все это проверяет на соответствие диздоку, собирает из всего этого рабочий билд и отдает геймдизайнерам и скриптерам, которые уже из всего этого набора будут делать игру. На небольших проектах один человек часто совмещает несколько ролей.

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

Звучит все страшно занудно и бюрократично, но это только потому, что мне пришлось дать полуформальное описание процедуры. Если у кого-то сразу в голове возник образ бейджиков, кабинетов и бумаг на подпись, то этот образ ошибочен.

Сколько стоит движок

Мнение, что цены на лицензионный движок во всех случаях заоблачно высоки, ошибочно. К примеру, CrioLand готова выдать лицензию на движок «Завтра война» за сумму около $10 000. Компания также берется за обучение специалистов (заинтересованным лицам можно связаться с руководством компании через редакцию).

Skyfallen Entertainment за сумму порядка $20 000 (точная цифра и тема роялти обговариваются индивидуально) лицензирует движок «Магии крови», предоставляет исходники и поддержку в разумном объеме. Этой возможностью воспользовались в Katauri Interactive. Они делают на этом движке «Легенду о рыцаре».

НАпримнр Katauri Interactive, пришлось немного изменить движок под свой контент. Но в результате получили экономию времени. Расклад примерно такой.

— Создание движка и инструментария с нуля заняло бы примерно два года. Затем еще два года ушло бы на изготовление самой игры. Итого четыре года.

— Взяв движок от Skyfallen, всего за два года разработки сделали вполне играбельную демоверсию, которую остается только заполнить контентом (примерно год). Таким образом, потратят на разработку новой игры ровно три года.

Итого: если получить большую игру в допустимые сроки, лучше взять готовый движок. Даже с учетом доработки это сэкономит массу времени, которое можно с пользой потратить на создание геймплея. Тогда и игроки спасибо скажут, и игра окупится.

Краткий словарик

Pipeline — производственная цепочка, конвейер.
Toolset — тулзы, автономные или полуавтономные вспомогательные программы, предназначенные для выполнения каких-то конкретных задач.
Core Engine (Core Game Engine) — ядро движка. Стабильная, малоизменяемая часть кода.
Game Creation Framework — фреймворк, среда разработки.
Collision (коллижен, полностью Collision Detection) — система столкновений, включается в момент пересечения границ игровых объектов. Она отслеживает столкновения игровых объектов и информирует о ситуации игровой движок. А реагирует на столкновение игровая логика. Реакция зависит от типа столкнувшихся объектов. Упрощенный пример: если в танк попала ракета — танк взрывается, но если бросать в танк камнями (при условии, что они есть в игре), то ничего подобного не произойдет.
AI — искусственный интеллект (ИИ).
UI (User Interface) — пользовательский интерфейс.
Source (Source Engine) — движок Half-Life 2.

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

0

2

прочитал, удивился, закрыл

0



Рейтинг форумов | Создать форум бесплатно