...

Движок программы что это

Игровой движок

Игрово́й движо́к — это центральный программный компонент компьютерных и видеоигр или других интерактивных приложений с графикой, обрабатываемой в реальном времени. Он обеспечивает основные технологии, упрощает разработку и часто даёт игре возможность запускаться на нескольких платформах, таких как игровые консоли и настольные операционные системы, например, GNU/Linux, Mac OS X и Microsoft Windows.

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

История

В первое время из-за невысокой скорости и отсутствия какой-либо стандартизации аппаратной части даже порты одной игры серьёзно переписывались — а из одной игры в другую вообще переносили минимум кода. Впрочем, в играх жанра квест существовали Infocom’овская Z-Machine и SCI компании Sierra — именно их можно считать первыми законченными игровыми движками.

Сам же термин «игровой движок» появился в середине 1990-х годов — в это время окончательно установилось доминирование IBM-совместимых компьютеров и появились первые трёхмерные игры. Игры Doom и Quake от id Software оказались настолько популярными, что другие разработчики вместо того, чтобы работать с чистого листа, лицензировали основные части программного обеспечения и создавали свою собственную графику, персонажей, оружие и уровни — «игровой контент» или «игровые ресурсы». Движок Quake был использован в более чем десяти проектах и дал серьёзный толчок развитию middleware-индустрии.

Более поздние игры, такие как Unreal 1998 года (движок Unreal Engine) и Quake III Arena (на движке id Tech 3) 1999 года, были спроектированы с применением данного подхода, с отдельно разработанными движком и наполнением. Практика лицензирования такой технологии оказалась полезным вспомогательным доходом для некоторых разработчиков игр. Так, стоимость одной лицензии на коммерческий игровой движок класса high-end может варьироваться от 10 тыс. до 3,75 млн $ (в случае Warcraft III) [источник не указан 646 дней] , а число лицензиатов может достигать несколько десятков компаний (как для Unreal Engine). По крайней мере, многократно используемые движки ускоряют и упрощают разработку игры, что является ценным преимуществом в конкурирующей индустрии компьютерных игр.

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

Шутеры от первого лица остаются преобладающими пользователями сторонних игровых движков, но сейчас такие движки также используются в других жанрах. Например, RPG Morrowind и MMORPG Dark Age of Camelot основаны на движке NetImmerse, в то время, как Oblivion и Fallout 3 используют новую версию данной технологии — Gamebryo. Известная MMORPG Lineage II построена на движке Unreal Engine 2 (несмотря на то, что данный движок изначально предназначался для использования в шутерах).

Игровые движки также используются в играх, первоначально разработанных для игровых консолей; например, движок RenderWare используется во франчайзах Grand Theft Auto и Burnout.

Современные игровые движки — одни из самых сложных в написании приложений, зачастую состоящие из десятков различных компонентов, каждый из которых можно настраивать по отдельности под нужды игры. На сайте Future Game Coders есть различные темы о подсистемах современных игр.

Обзор

В дополнение к многократно используемым программным компонентам, игровые движки предоставляют набор визуальных инструментов для разработки. Эти инструменты обычно составляют интегрированную среду разработки для упрощённой, быстрой разработки игр на манер поточного производства. Эти игровые движки иногда называют «игровым подпрограммным обеспечением» (сокр. ППО; англ. middleware), так как, с точки зрения бизнеса, они предоставляют гибкую и многократно используемую программную платформу со всей необходимой функциональностью для разработки игрового приложения, сокращая затраты, сложность и время разработки — все критические факторы в сильноконкурирующей индустрии видеоигр.

Как и другие ППО решения, игровые движки обычно платформо-независимы и позволяют некоторой игре запускаться на различных платформах, включая игровые консоли и персональные компьютеры, с некоторыми внесёнными в исходный код изменениями (или вообще без них). Часто игровое ППО имеет компонентную архитектуру, позволяющую заменять или расширять некоторые системы движка более специализированными (и часто более дорогими) ППО компонентами, например, Havok — для физики, FMOD — для звука или SpeedTree — для рендеринга. Некоторые игровые движки, такие как RenderWare, проектируются как набор слабосвязанных ППО компонентов, которые могут выборочно комбинироваться для создания собственного движка, вместо более традиционного подхода расширения или настройки гибкого интегрируемого решения. Тем не менее расширяемость достигнута и остаётся высокоприоритетной в игровых движках из-за широких возможностей их применения. Несмотря на специфичность названия, игровые движки часто используются в других типах интерактивных приложений, требующих графику в реальном времени, таких как рекламные демо-ролики, архитектурные визуализации, обучающие симуляторы и среды моделирования.

Некоторые игровые движки предоставляют только возможности 3D рендеринга в реальном времени вместо всей функциональности, необходимой играм. Эти движки доверяют разработчику игры реализацию остальной функциональности или её сбор на основе других игровых ППО компонентов. Такие типы движков обычно относят к «графическим движкам», «движкам рендеринга» или «3D движкам» вместо более содержательного термина «игровой движок». Однако эта терминология используется противоречиво: так, многие полнофункциональные игровые 3D движки упомянуты просто как «3D движки». Некоторые примеры графических движков: RealmForge, Ogre 3D, Power Render, Crystal Space и Genesis3D. Современные игровые или графические движки обычно предоставляют граф сцены — объектно-ориентированное представление 3D мира игры, которое часто упрощает игровой дизайн и может использоваться для более эффективного рендеринга огромных виртуальных миров.

Аппаратная абстракция

Чаще всего 3D движки или системы рендеринга в игровых движках построены на графическом API, таком как Direct3D или OpenGL, который обеспечивает программную абстракцию GPU или видеокарты. Низкоуровневые библиотеки, например, DirectX, SDL и OpenAL, также используются в играх, так как обеспечивают аппаратно-независимый доступ к другому аппаратному обеспечению компьютера, такому как устройства ввода (мышь, клавиатура и джойстик), сетевые и звуковые карты. До появления аппаратно-ускоряемой 3D графики использовались программные визуализаторы. Программный рендеринг всё ещё используется в некоторых инструментах моделирования для рендеринга изображений, для которых визуальная достоверность важнее производительности (количество кадров в секунду) или когда аппаратное обеспечение компьютера не удовлетворяет требованиям, например, не поддерживает шейдеры.

См. также

  • Список игровых движков
  • Графический движок — главный компонент игрового движка
  • Физический движок — компонент игрового движка
  • Звуковой движок — компонент игрового движка
  • Игровой искусственный интеллект — обязательный компонент игрового движка

Ссылки

  • Cправочный сайт, содержащий большую базу коммерческих middleware-решений
  • Большая база данных по игровым движкам на сайте DevMaster.net
  • Terrain in Games — детальный обзор технологий для рендеринга ландшафтов в движках 1997—2000 года
  • Статья «Анатомия игровых движков» на сайте 3DNews
  • Richard FineEnginuity (англ.) . GameDev.net. — Учебник по созданию игрового движка. (недоступная ссылка — история) Проверено 11 июля 2009.
Игровые движки
Открытое ПО OpenMW • ODE • OGRE • GLScene • Pygame • GBE • Ren’Py • Panda3D • OpenSimulator • ClanLib • id Tech • Spring • DarkPlaces • Delta3D • Stratagus • INSTEAD • Nebula Device • Irrlicht • OpenSceneGraph • openSLUDGE • WorldForge • Love2d • Horde3d • Crystal Space • Genesis3D • GamePlay3d • FlareRPG • PixelLight
Проприетарное ПО Unity • NScripter • Lithtech • Unreal Engine • Source • CryEngine
Жанры компьютерных игр
Action

Движок (компьютерный сленг)

Движо́к (жаргонизм от англ. engine — мотор, двигатель) — выделенная часть программного кода для реализации конкретной прикладной задачи — программа, часть программы, комплекс программ или библиотека, в зависимости от задачи и реализации. Как правило, прикладная часть выделяется из программы для использования в нескольких проектах и/или раздельной разработки/тестирования.

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

Вместе с тем продукты, произведённые с использованием движков, наследуют их ошибки и проблемы безопасности.

Типы движков

  • Поисковый движок (search engine) — основа поисковых систем. Разные поисковые системы могут работать на одном движке. Например, поисковая система Яndex.
  • Движок сайта — система управления содержимым сайта.
    • Вики-движок — программа, служащая для преобразования вики-разметки в удобочитаемое представление, чаще всего в формат Графический движок — система отображения прикладного окружения (например, оконный интерфейс или движок отображения (рендеринга) объёмной сцены)
    • Физический движок — система, отвечающая за симуляцию физики реального тела.
    • Игровой движок — комплекс поддержки игровой ситуации, включающий объектную поддержку игровой ситуации, процедуры игровой стратегии компьютерных персонажей, её визуальное и звуковое сопровождение и т. п. Игровой движок может использовать для реализации отдельных задач специализированные движки.
    • Голосовой движок (text-to-speech engine) — программа, на вход которой подаётся текст, а на выходе она синтезирует речь. Наиболее известны голосовые движки Lernout & Hauspie, Digalo, IBM ViaVoice TTS,
    • Браузерный движок — программа для преобразования браузере. Например, текст «курсив» будет преобразован браузерным движком в «курсив». Наиболее известные браузерные движки: Trident, Presto, WebKit.
    • Движок базы данных — ядро СУБД. Обычно используется англоязычный термин database engine, или storage engine.

    См. также

    • Интерфейс программирования приложений (API)
    • Графический интерфейс пользователя (GUI)
    • Ядро операционной системы
    • Библиотека (программирование)

    Wikimedia Foundation . 2010 .

    При подготовке материала использовались источники:
    https://dic.academic.ru/dic.nsf/ruwiki/209444
    https://dic.academic.ru/dic.nsf/ruwiki/889217

    Оцените статью