Игровой движок
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Часть серии о |
Индустрия видеоигр |
---|
— Игровой движок это программная среда, предназначенная в первую очередь для разработки видеоигр и обычно включающая соответствующие библиотеки и вспомогательные программы, такие как редактор уровней. [1] Терминология «движка» аналогична термину « программный движок », более широко используемому в индустрии программного обеспечения .
Игровой движок также может относиться к программному обеспечению для разработки, поддерживающему эту среду, обычно это набор инструментов и функций для разработки игр. [2] [3]
Разработчики могут использовать игровые движки для создания игр для игровых консолей и других типов компьютеров . Основные функциональные возможности, обычно предоставляемые игровым движком, могут включать в себя механизм рендеринга («рендерер») для 2D- или 3D- графики , физический движок или обнаружение столкновений (и реакцию на столкновение), звук , сценарии , анимацию , искусственный интеллект , работу в сети , потоковую передачу, управление памятью , многопоточность , локализации поддержка , граф сцены и поддержка видео для кинематографических изображений . Разработчики игровых движков часто экономят на процессе разработки игр , повторно используя/адаптируя по большей части один и тот же игровой движок для создания разных игр. [4] или для помощи в портировании игр на несколько платформ.
Цель [ править ]
Во многих случаях игровые движки предоставляют набор инструментов визуальной разработки в дополнение к повторно используемым программным компонентам. Эти инструменты обычно предоставляются в интегрированной среде разработки, что позволяет упростить и ускорить разработку игр на основе данных . Разработчики игровых движков часто пытаются предвосхитить потребности разработчиков, разрабатывая надежные пакеты программного обеспечения, которые включают в себя множество элементов, которые могут понадобиться разработчику игр для создания игры. Большинство комплектов игровых движков предоставляют средства, упрощающие разработку, такие как графика, звук, физика и искусственного интеллекта функции (ИИ). Эти игровые движки иногда называют « промежуточным программным обеспечением », потому что, как и в деловом смысле этого термина, они предоставляют гибкую и многократно используемую программную платформу, которая обеспечивает все основные функции, необходимые прямо из коробки , для разработки игрового приложения при одновременном снижении затрат. , сложность и время выхода на рынок — все это важнейшие факторы в высококонкурентной индустрии видеоигр . [5]
Как и другие типы промежуточного программного обеспечения, игровые движки обычно предоставляют платформы абстракцию , позволяя одной и той же игре запускаться на различных платформах (включая игровые консоли игры и персональные компьютеры) с небольшими изменениями, если таковые имеются, в исходный код . Часто программисты разрабатывают игровые движки с компонентной архитектурой , которая позволяет заменять или расширять определенные системы в движке более специализированными (и часто более дорогими) компонентами промежуточного программного обеспечения игры. Некоторые игровые движки содержат ряд слабо связанных компонентов промежуточного программного обеспечения игры, которые можно выборочно комбинировать для создания специального движка вместо более распространенного подхода расширения или настройки гибкого интегрированного продукта. Как бы то ни было, расширяемость остается высоким приоритетом для игровых движков из-за широкого спектра применений, для которых они применяются. Несмотря на специфику названия «игровой движок», конечные пользователи часто повторно используют игровые движки для других видов интерактивных приложений с графическими требованиями в реальном времени , таких как маркетинговые демонстрации , архитектурные визуализации , обучающие симуляции и моделирования . среды [6]
Некоторые игровые движки предоставляют только возможности 3D-рендеринга в реальном времени вместо широкого спектра функций, необходимых играм. Эти движки полагаются на то, что разработчик игры реализует остальную часть этой функциональности или собирает ее из других компонентов промежуточного программного обеспечения игры. Эти типы движков обычно называются «графическим движком», «движком рендеринга» или «3D-движком» вместо более широкого термина «игровой движок». Эта терминология используется непоследовательно, поскольку многие полнофункциональные игровые движки 3D называются просто «движками 3D». Примеры графических движков: Crystal Space , Genesis3D , Irrlicht , OGRE , RealmForge, Truevision3D и Vision Engine . Современные игровые или графические движки обычно предоставляют граф сцены — объектно-ориентированное представление трехмерного игрового мира, которое часто упрощает игровой дизайн и может использоваться для более эффективного рендеринга огромных виртуальных миров. [ нужна ссылка ]
По мере старения технологий компоненты двигателя могут устареть или оказаться недостаточными для требований конкретного проекта . Поскольку сложность программирования совершенно нового движка может привести к нежелательным задержкам (или потребовать перезапуска проекта с самого начала), группа разработчиков движка может решить обновить свой существующий движок новыми функциями или компонентами.
История [ править ]
До появления игровых движков игры обычно писались как отдельные объекты: например, игра для Atari 2600 должна была разрабатываться снизу вверх, чтобы оптимально использовать аппаратное обеспечение дисплея — эта основная процедура отображения сегодня называется ядром разработчиками . игр для старых систем. Другие платформы имели больше свободы действий, но даже когда дисплей не вызывал беспокойства, ограничения памяти обычно саботировали попытки создать проект с большим объемом данных, который нужен движку. Даже на более удобных платформах очень мало что можно было повторно использовать между играми. Быстрое развитие аркадного оборудования – которое в то время было передовым преимуществом рынка – означало, что большую часть кода потом все равно придется выбросить, поскольку в последующих поколениях игр будут использоваться совершенно другие игровые дизайны, использующие преимущества дополнительных возможностей. ресурсы. Таким образом, большинство игровых дизайнов 1980-х годов разрабатывались с использованием жестко запрограммированного набора правил с небольшим количеством уровней и графических данных. С золотого века аркадных видеоигр , стали обычным явлением Компании, занимающиеся видеоиграми разрабатывать собственные игровые движки для использования со своим программным обеспечением.
Ярким примером собственного игрового движка на домашних консолях середины 1980-х годов был движок плавной боковой прокрутки, разработанный командой Сигэру Миямото из Nintendo для Nintendo Entertainment System (NES). Движок, который они разработали для гоночной игры с боковой прокруткой Excitebike (1984), позже был использован в платформере с прокруткой Super Mario Bros. (1985). Это позволило Марио плавно ускоряться от ходьбы до бега, а не двигаться с постоянной скоростью, как в более ранних платформерах. [7]
Хотя сторонние игровые движки не были распространены до появления компьютерной 3D-графики было создано несколько систем создания 2D-игр в 1990-х годах, в 1980-х годах для независимой разработки видеоигр . К ним относятся конструктор для пинбола (1983), ASCII конструктор для военных игр (1983), [8] Строительство Громовой Силы (1984), [9] Adventure Construction Set (1984), GameMaker Гарри Китчена (1985), Wargame Construction Set (1986), Shoot-'Em-Up Construction Kit (1987), Arcade Game Construction Kit (1988) и наиболее популярные ASCII RPG Maker движки 1998 года. вперед. Klik & Play (1994) — еще одно устаревшее предложение, которое все еще доступно. [10]
Термин «игровой движок» возник в середине 1990-х годов, особенно в связи с 3D-играми, такими как шутеры от первого лица с движком шутера от первого лица . Epic games, основанная разработчиком Тимом Суини, дебютировала на Unreal Engine в 1998 году. [11]
Популярность Id Software от игр Doom и Quake была такова , что вместо того, чтобы работать с нуля, другие разработчики лицензировали основные части программного обеспечения и создавали собственную графику, персонажей, оружие и уровни — «игровой контент» или «игровой контент». ресурсы". Отделение правил и данных, специфичных для игры, от базовых концепций, таких как обнаружение столкновений и игровая сущность, означало, что команды могли расти и специализироваться. [10]
Более поздние игры, такие как id Software от Quake III Arena и Epic Games, 1998 года от Unreal были разработаны с учетом этого подхода, при этом движок и контент разрабатывались отдельно. Практика лицензирования такой технологии оказалась полезным дополнительным источником дохода для некоторых разработчиков игр, поскольку стоимость одной лицензии на высококлассный коммерческий игровой движок может варьироваться от 10 000 до миллионов долларов США, а число лицензиатов может достигать нескольких десятков. компаний, как это видно на примере Unreal Engine . По крайней мере, многоразовые движки ускоряют и упрощают разработку сиквелов игр, что является ценным преимуществом в конкурентной индустрии видеоигр . Хотя примерно в 2000 году между Epic и id существовало сильное соперничество, с тех пор Unreal Engine от Epic стал гораздо популярнее, чем id Tech 4 и его преемник id Tech 5 . [12]
Современные игровые движки — одни из самых сложных написанных приложений, часто состоящие из десятков точно настроенных систем, взаимодействующих друг с другом для обеспечения точно контролируемого взаимодействия с пользователем. Продолжающаяся эволюция игровых движков привела к четкому разделению рендеринга, сценариев, графики и дизайна уровней . Сейчас, например, в типичной команде разработчиков игр обычно бывает в несколько раз больше художников, чем настоящих программистов. [13]
В шутерах от первого лица по-прежнему преобладают сторонние игровые движки, но теперь они используются и в других жанрах . Например, ролевая видеоигра The Elder Scrolls III: Morrowind и MMORPG Dark Age of Camelot основана на движке Gamebryo , а MMORPG Lineage II — на движке Unreal Engine. Игровые движки также используются в играх, изначально разработанных для домашних консолей; например, движок RenderWare используется во франшизах Grand Theft Auto и Burnout .
Поточность приобретает все большее значение из-за современных многоядерных систем (например, Cell ) и возросших требований к реалистичности. Типичные потоки включают рендеринг, потоковую передачу, аудио и физику. Гоночные игры обычно были в авангарде многопоточности, когда физический движок работал в отдельном потоке задолго до того, как были перемещены другие основные подсистемы, отчасти потому, что рендеринг и связанные с ним задачи требуют обновления только с частотой 30–60 Гц. Например, на PlayStation 3 физика в Need For Speed работала с частотой 100 Гц, а в Forza Motorsport 2 — с частотой 360 Гц.
Хотя этот термин был впервые использован в 1990-х годах, в 1980-х годах существует несколько более ранних систем, которые также считаются игровыми движками, например системы Sierra Adventure Game Interpreter LucasArts (AGI) и SCI, система SCUMM и система Incentive Software . Движок Freescape (1986 г.) [14] ). В отличие от большинства современных игровых движков, эти игровые движки никогда не использовались ни в каких сторонних продуктах (за исключением системы SCUMM, которая была лицензирована и использовалась Humongous Entertainment ).
По мере того, как технология игровых движков развивается и становится более удобной для пользователя, сфера применения игровых движков расширяется. Сейчас они используются в серьезных играх визуализации, обучения, медицины и военного моделирования : приложениях для , одним из примеров является CryEngine . [15] Чтобы облегчить эту доступность, новые аппаратные платформы в настоящее время используются игровыми движками, включая мобильные телефоны (например, телефоны Android , iPhone ) и веб-браузеры (например, WebGL , Shockwave , Flash , Trinigy 's WebVision, Silverlight , Unity Web Player , O3D и чистый DHTML ). [16]
Кроме того, все больше игровых движков создаются на языках более высокого уровня , таких как Java и C# /. NET (например, TorqueX и Visual3D.NET ), Python ( Panda3D ) или Lua Script (Leadwerks). Поскольку большинство 3D-игр в настоящее время в основном ограничены графическим процессором (то есть ограничены мощностью видеокарты), потенциальное замедление из-за накладных расходов на перевод языков более высокого уровня становится незначительным, в то время как прирост производительности, предлагаемый этими языками, работает на игровой движок. выгода разработчиков. [17] Эти последние тенденции продвигаются такими компаниями, как Microsoft, для поддержки разработки инди- игр. Microsoft разработала XNA в качестве предпочтительного SDK для всех видеоигр, выпущенных для Xbox, и связанных с ними продуктов. Сюда входят инди-игры Xbox Live. [18] канал, созданный специально для небольших разработчиков, у которых нет обширных ресурсов, необходимых для продажи игр на полках магазинов. платформы , становится проще и дешевле, чем когда-либо Разрабатывать игровые движки для платформ, поддерживающих управляемые . [19]
Игровые движки как индустрия [ править ]
Производители игровых движков решают, как они позволяют пользователям использовать их продукты. , так же Игры — это индустрия как и двигатели, на которых они построены. Основные игровые движки продаются по разным ценам, будь то в виде абонентской платы или лицензионных платежей. [20] Unity и Unreal Engine в настоящее время являются двумя наиболее популярными вариантами для разработчиков игр. [21] Хотя различия между различными игровыми движками стираются по мере того, как они создают на их основе свои собственные инструменты, разные разработчики игр могут быть слишком привыкли к системе, чтобы ее можно было изменить, или быть привлечены огромными преимуществами таких движков независимо от платных каналов.
Промежуточное программное обеспечение игры [ править ]
В более широком смысле этого слова сами игровые движки можно назвать промежуточным программным обеспечением. Однако в контексте видеоигр термин «промежуточное программное обеспечение» часто используется для обозначения функциональных подсистем внутри игрового движка. Некоторые промежуточные программы для игр делают только одну вещь, но делают это более убедительно и эффективнее, чем промежуточные программы общего назначения.
Четыре наиболее широко используемых пакета промежуточного программного обеспечения [22] которые предоставляют подсистемы функциональности, включают RAD Game Tools 'Bink, Firelight FMOD , Havok и Scaleform GFx. RAD Game Tools разрабатывает Bink для базового рендеринга видео, а также аудио Miles и Granny 3D рендеринга . Firelight FMOD — это недорогая надежная аудиобиблиотека и набор инструментов. Havok предоставляет надежную систему моделирования физики, а также набор приложений для анимации и поведения. Scaleform предоставляет GFx для высокопроизводительного пользовательского интерфейса Flash и высококачественного воспроизведения видео, а также редактора метода ввода надстройку (IME) для поддержки азиатского чата в игре.
Другое промежуточное программное обеспечение используется для оптимизации производительности — например, Simplygon помогает оптимизировать и генерировать сетки с уровнем детализации , а Umbra добавляет оптимизацию отсеивания окклюзии в 3D-графику.
Некоторые промежуточные программы содержат полный исходный код , другие просто предоставляют ссылку на API для скомпилированной двоичной библиотеки . Некоторые промежуточные программы можно лицензировать в любом случае, обычно за более высокую плату за полный исходный код.
См. также [ править ]
- 3D компьютерная графика
- Авторская система
- Физика игры
- Список движков шутеров от первого лица
- Список игровых движков
- Список промежуточного программного обеспечения игры
- Виртуальная студия
Ссылки [ править ]
- ^ Валенсия-Гарсия, Рафаэль; и др. (2016). Технологии и инновации: Вторая международная конференция, CITI 2016, Гуаякиль, Эквадор, 23-25 ноября 2016 г., Материалы . Спрингер. ISBN 9783319480244 . Проверено 22 июля 2021 г.
- ^ «Общие термины и определения в разработке игр | Словарь игрового дизайна | Unity» . Единство. Архивировано (PDF) из оригинала 6 августа 2017 г. Проверено 14 июля 2021 г.
- ^ Тан, Джеймс. «Введение — Unreal Engine (слайды Canterbury Software Summit 2013)» (PDF) . Нереальный движок . Проверено 14 июля 2021 г.
- ^ «Что такое игровой движок?» . GameCareerGuide.com . Проверено 24 ноября 2013 г.
- ^ О'Нил, Джон (15 января 2008 г.). «Моя очередь: реальная стоимость промежуточного программного обеспечения» . Gamedaily.com. Архивировано из оригинала 30 августа 2009 года . Проверено 24 ноября 2013 г.
- ^ Отчет об использовании промежуточного программного обеспечения в играх. Архивировано 17 октября 2013 г., на Wayback Machine.
- ^ Уильямс, Эндрю (16 марта 2017 г.). История цифровых игр: развитие искусства, дизайна и взаимодействия . ЦРК Пресс . стр. 152–4. ISBN 978-1-317-50381-1 .
- ^ «Конструктор военной игры» . О!ФМ . Архивировано из оригинала 28 июля 2013 года . Проверено 3 сентября 2012 г. Альтернативный URL
- ^ «Строительство Громовой Силы» . О!ФМ . Архивировано из оригинала 28 июля 2013 года . Проверено 1 сентября 2012 г. Альтернативный URL
- ^ Jump up to: Перейти обратно: а б Фиадотау, Михаил (2019). «Дезаэмон, создатель ролевых игр, NScripter: исследование и классификация игрового продукта в Японии 1990-х годов». Журнал игр и виртуальных миров . 11 (3): 215–230. дои : 10.1386/jgvw.11.3.215_1 . S2CID 213694676 .
- ^ Вайнбергер, Мэтт. «Генеральный директор Fortnite говорит, что она «выходит за рамки игры», и объясняет амбициозное видение компании» . Бизнес-инсайдер . Проверено 17 февраля 2022 г.
- ^ Брамвелл, Том (9 августа 2007 г.). "id Tech 5 Интервью • Страница 1 • Интервью •" . Еврогеймер.нет . Проверено 24 ноября 2013 г.
- ^ «Исследование состава команды разработчиков игр: изменения со временем» . Проверено 17 января 2011 г.
- ^ «Двигатель Фрискейп» . Универсальный список видеоигр . Проверено 16 мая 2020 г.
- ^ «Видеоигры начинают становиться серьезными» . Газета.нет. 31 августа 2007 г. Архивировано из оригинала 3 декабря 2008 г. Проверено 17 января 2011 г.
- ^ «Игры: тенденции мобильной и беспроводной связи в 2008 году» . M-trends.org. Архивировано из оригинала 8 января 2011 г. Проверено 17 января 2011 г.
- ^ Цербст, Стефан; Дювель, Оливер (2004). Программирование 3D-игрового движка (книга) . Премьер Пресс. ISBN 9781592003518 . Проверено 17 января 2011 г.
- ^ «xboxlivecommunitygames.org» . xboxlivecommunitygames.org . Проверено 24 ноября 2013 г.
- ^ «Microsoft разрешит создавать игры для XBox 360, созданные пользователями» . Проверено 5 мая 2017 г.
- ^ «10 лучших движков для видеоигр | издание 2018 года» . Лучший ресурс по дизайну видеоигр . 11 марта 2017 г. Проверено 15 мая 2019 г.
- ^ «Два двигателя, движущие вперед игровую индустрию стоимостью 120 миллиардов долларов» . Исследование CB Insights . 20 сентября 2018 г. Проверено 15 мая 2019 г.
- ^ «Обзор технологий движка Gamasutra и промежуточного программного обеспечения» . Гамасутра.com. 08 мая 2009 г. Проверено 17 января 2011 г.
Внешние ссылки [ править ]
- СМИ, связанные с игровыми движками, на Викискладе?