движок что это такое в программировании
Движок (программа)
Движо́к (жаргонизм от _en. engine — мотор, двигатель) — выделенная часть программного кода для реализации конкретной прикладной задачи — программа, часть программы, комплекс программ или библиотека, в зависимости от задачи и реализации. Как правило, прикладная часть выделяется из программы для использования в нескольких проектах и/или раздельной разработки/тестирования.
Использование готового движка при разработке программы, сайта или другого продукта сокращает время разработки, позволяет уделить больше времени разработке других подсистем, например пользовательскому интерфейсу (или информационной наполненности сайта).
Вместе с тем продукты, произвёденные с использованием движков, наследуют их ошибки и проблемы безопасности.
Типы движков
Примеры движков:
* Поисковый движок ( «search engine «) — основа поисковых систем. Разные поисковые системы могут работать на одном движке. Например, поисковая система Mail.ru использует поисковый движок Яndex.
* Движок сайта — система управления содержимым сайта.
** Вики-движок — программа, служащая для преобразования вики-разметки в удобочитаемое представление, чаще всего в формат HTML.
* Графический движок — система отображения прикладного окружения (например, оконный интерфейс или движок отображения (рендеринга) объемной сцены)
* Физический движок — система, отвечающая за симуляцию физики абсолютно твёрдого тела.
* Игровой движок — комплекс поддержки игровой ситуации, включающий объектную поддержку игровой ситуации, процедуры игровой стратегии компьютерных персонажей, её визуальное и звуковое сопровождение и т. п. Игровой движок может использовать для реализации отдельных задач специализированные движки.
* Голосовой движок (text-to-speech engine) — программа, на вход которой подаётся текст, а на выходе она синтезирует речь. Наиболее известны голосовые движки Lernout & Hauspie, Digalo, IBM ViaVoice TTS, eSpeak, не переведено
есть=:en:Festival Speech Synthesis System
надо=Festival.
* Браузерный движок — программа для преобразования HTML-разметки в удобочитаемое представление в браузере. Например, текст « курсив » будет преобразован браузерным движком в « «курсив «». Наиболее известные браузерные движки: Gecko, Trident, Presto, KHTML.
* Движок базы данных — ядро СУБД. Обычно используется англоязычный термин «database engine «, или «storage engine «.
См. также
* Интерфейс программирования приложений (API)
* Графический интерфейс пользователя (GUI)
* Ядро (операционной системы)
* Библиотека (программирование)
Полезное
Смотреть что такое «Движок (программа)» в других словарях:
Движок — Эта статья о компьютерном термине; другие значения: Двигатель. У этого термина существуют и другие значения, см. Лопата#Виды лопат. Движок (жаргонизм от англ. engine мотор, двигатель) выделенная часть программного кода для… … Википедия
Движок (компьютерный сленг) — Это статья о компьютерном термине. См. также: Двигатель. Движок (жаргонизм от англ. engine мотор, двигатель) выделенная часть программного кода для реализации конкретной прикладной задачи программа, часть программы, комплекс программ или… … Википедия
Программа-игрушка — или песочница (англ. software toy, non game, sandbox game) компьютерная программа, созданная для развлечения и в то же время не являющаяся игрой в классическом её понимании. Программы игрушки не имеют ни целей, ни достижений, ни… … Википедия
Движок JavaScript — Не следует путать с Java Runtime Environment. Движок JavaScript специализированная программа, обрабатывающая JavaScript, в частности, в браузерах. Содержание 1 История 2 Движки JavaScript 2.1 Mozilla … Википедия
Движок Quake — Quake engine Тип Игровой движок Разработчик Джон Кармак id Software Написана на Си ОС Windows, Лицензия GNU GPL … Википедия
Движок базы данных — Database engine англоязычный термин, соответствующий полуформальному русскоязычному определению «движок базы данных». Синоним: storage engine. Движок может быть самостоятельным, оформленным в виде библиотеки, подключаемой к программам. Это… … Википедия
Физический движок — (англ. physics engine) компьютерная программа, которая производит компьютерное моделирование физических законов реального мира в виртуальном мире, с той или иной степенью аппроксимации. Чаще всего физические движки используются не как… … Википедия
Panda3D (графический движок) — Panda3D Тип игровой движок Написана на C++ ОС кроссплатформенное программное обеспечение Версия 1.6.2 (14 мая 2009) … Википедия
SCI (игровой движок) — Творческий интерпретатор Sierra (англ. Sierra s Creative Interpreter, SCI) игровой движок, разработанный в Sierra On Line. Под SCI подразумевают: Скриптовый язык, созданный Джеффом Стефенсоном (англ. Jeff Stephenson) для разработки… … Википедия
Движек — Это статья о компьютерном термине. См. также: Двигатель. Движок (жаргонизм от англ. engine мотор, двигатель) выделенная часть программного кода для реализации конкретной прикладной задачи программа, часть программы, комплекс программ или… … Википедия
Что такое движок для сайта
В данной статье рассмотрим интересную и востребованную тему на сегодня – это что такое движок для сайта, и как же определиться, какой именно нужен. Совсем недавно созданием сайтов занимались только те люди, которые имели знания и средства для создания сайтов. В настоящее же время с появлением огромного количества обучающих видео и готовых движков созданием сайта сможет заняться каждый пользователь. Но вот далеко не все знают, что такое движок сайта и как его выбрать.
Под движком сайта подразумевается уже готовое решение, и пользователь только выполнит его установку на хостинг, и вот сайт готов. Движок существенно сэкономит и средства, и время, именно поэтому в настоящее время все сайты созданы на движках.
Удобство применения движков заключается в том, что работа по созданию сайта выполняется автоматизировано. И только нужно будет заниматься наполнением и оптимизированием сайта с помощью панели администрирования.
Вся важность выбора движка
Как правило, многие сайты создаются один раз и навсегда. Создание сайта и его оптимизирование достаточно серьезная и трудоемкая работа. И если вдруг после того, как на сайте появилось много вкладок, статей, возможно даже были вложены средства в доработку движка, пользователь понимает, что движок не подходит для сайта. Конечно, поменять его можно, но ведь всю информацию опять придется переносить на новый движок, а это опять время и может даже быть материальные вложения.
Именно поэтому прежде чем, создавать сайт, нужно продумать:
Правильно ли выбрано администрирование CMS;
Грамотно ли подобрана вся информация;
Какая будет структура сайта.
Выбираем движок
Сейчас есть большой выбор бесплатных CMS для создания сайтов, но на каком же остановится?
Во – первых, чтобы определить какой движок нужен, необходимо определиться каким будет сайт. Если идея о сайте уже есть давно, то возможно даже имеется и представление, что это будет: блог, форум или интернет – магазин.
Во-вторых, после того, как определись с тем, какой сайт будет, можно преступить к рассмотрению движков. Их очень много и каждый из них подходит под определенный тип сайта. Если вдруг приняли решение создать форум, то wordpress не подходит.
Хотя есть движки, которые могут подойти для создания нескольких разновидностей сайта. И таким является как раз wordpress. С его помощью, возможно, создать блог, информационный сайт или интернет – магазин.
Выбрали несколько движков, теперь нужно придумать, каким будет сайт на разных движках. Разобраться какие возможности представляют все выбранные CMS, возможно потребуются некоторые дополнения, чтобы сайт был функциональным и соответствовал Вашим запросам.
Сайт, созданный с помощью движка является не доработанным, поэтому обязательно нужно учесть затраты, которые придется потратить на его доработку, сюда же входят услуги программиста, приобретение платных дополнений к сайту.
Этот нюанс обязательно нужно учитывать, потому что дополнить сайт самостоятельно может не получиться и обязательно потребуется помощь специалиста.
Как раз на данном этапе уже уберется множество CMS. Поэтому и рекомендуют посмотреть оставшиеся движки каждый отдельности, чтобы разобраться в его работе, необходимых дополнениях. Для этого потребуется установить каждый движок и попытаться поработать с ними. И только после тестирования можно уже точно определиться, какой движок подходит для Вашего сайта, и продолжать уже дальнейшую работу только над ним.
Как и в любых компьютерных программах, так и системы для создания сайтов бывают платные и бесплатные. И тут конечно, у многих пользователей может сложиться впечатление, что если заплатить, то все будет хорошо работать и движок подойдет идеально под Ваш сайт. Но это серьезное заблуждение. К примеру, есть бесплатные CMS WordPress и Joomba, сравнивая их с платной версией DLE можно сделать вывод, что у каждого из них есть свои плюсы и минусы и имеют они практически одинаковые функции. Поэтому, зачем платить, если возможно использовать бесплатные.
Естественно, что самым идеальным вариантом будет создание своего движка, но вот сделать это сможет только профессионал, который имеет знания в web-программировании или же есть материальные средства на специалиста. И если все эти возможности есть, то лучше создать свой движок, который будет соответствовать всем требованиям и идеально подходить под Ваш сайт. Ну, а если нет таких возможностей, то вполне можно использовать уже готовый инструмент для создания сайтов.
Выбирая движок для сайта, не стоит принимать во внимание только отзывы. Конечно наличие положительных отзывов плюс, но выбор должен быть самостоятельным и индивидуальным, потому что все сайты имеют разные тематики и направления, потому что созданы разными пользователями. И только сделав правильный и обдуманный выбор CMS, грамотно собрав информацию и определившись с типом сайта, можно создать хороший интернет – ресурс, который будет интересен и востребован.
Что такое игровой движок?
Содержание
Содержание
Если вы регулярно читаете статьи о компьютерных играх, то обязательно сталкивались со словами «игровой движок». И вы знаете, что он может быть быстрым, тормозным, продуманным, неудачным, привычным и так далее. А что это за «движок», который скрывается под красивой оберткой текстур и скриптов компьютерной игры? Это же не двигатель автомобиля. Тогда что? Программный код? Комплекс приложений для программистов и игроков? Разберемся немного подробнее.
Понятие «игрового движка»
Термин «игровой движок» является прямой копией английского «Game Engine». Фактически это объединенный в единое целое комплекс прикладных программ, с помощью которых обеспечивается графическая визуализация, звуковое сопровождение, перемещение внутриигровых персонажей, их действия в соответствии со скриптами, а также игра в сети, встроенные графические сцены, соблюдение физических эффектов и законов и многое другое.
Есть ли польза от использования готового игрового движка? Несомненно. Разработчик получает готовый качественный инструмент с большим количеством библиотек. В результате ему не надо писать большую часть базового программного кода и можно сосредоточиться на реализации своих идей, графики, игровой механики и сюжета, не тратя время на написание кода с нуля.
В результате ряд компаний занялся разработкой именно игровых движков, а разработчики игр стали покупать на них лицензии, как это получилось с Unreal Engine или id Tech 3. Стоимость лицензии может составлять от нескольких тысяч до миллионов долларов. Но при этом надо отметить, что для некоммерческого использования многие игровые движки, например, популярные Unity и Unreal Engine 4 доступны бесплатно. Остановимся на этих движках немного подробнее.
Особенности популярных игровых движков Unity и Unreal Engine 4
Движки Unity и Unreal Engine 4 являются самыми популярными в среде разработчиков из-за их удобства, детальной проработки и большого количества дополнительных библиотек, что позволяет настраивать и реализовывать практически любые идеи, приходящие в голову дизайнерам и игроделам.
Unreal Engine 4
Этот движок смело можно назвать легендой. Его разработка началась в 1998 году и с тех пор он постоянно модернизируется, дополняется и совершенствуется. Современный Unreal Engine 4 — это движок, на котором пишут игры для любых платформ и операционных систем, начиная от ОС Windows и заканчивая всеми современными консолями — Playstation 4, Xbox One, а также мобильными платформами, в том числе и iOS.
Unity
Unity — одна из популярных платформ для разработчиков игровых приложений. Можно услышать, что этот движок называют самым молодым. Но тут надо отметить, что он появился в 2005 году и с тех пор успешно развивается.
Большой плюс Unity — простота его освоения. Минус — графика в играх, созданных на основе этого движка. Она выглядит проще и не настолько реалистична, как у Unreal Engine. Тем не менее, около половины всех мобильных игр, по заверениям разработчиков, написаны именно на этом движке.
Как создаются игры с помощью игровых движков
Для разработчика игровых приложений движки представляют собой программную среду, в которой он ведет разработку проекта. Ее использование позволяет не заниматься такими рутинными вещами, как описание работы с графикой, звуком и физической моделью. Но это не значит, что программировать не придется ничего. Разработчику все равно потребуется писать скрипты для внутриигровых действий. На Unity, например, потребуется работа с C#, да и на Unreal Engine знание языков программирования не помешает.
Необходимо отметить, что важной особенностью Unreal Engine является технология Blueprints, позволяющая описывать игровую логику и события с помощью графических схем, без использования языков программирования. Это, конечно, приведет к тому, что созданная игра будет занимать больше места и требовать более быстрой платформы, но зато процесс разработки значительно упрощается.
Использование игровых движков позволяет избавиться от написания кода для очень многих рутинных моментов, так как, кроме самих движков, для них существует огромное количество библиотек и расширений. С их помощью первые простейшие игры на Unity можно создать уже через несколько часов изучения платформы. Специально для начинающих в Unity существует масса проектов вроде Creator Kit и Microgame, предлагающих большое количество исходных материалов для написания простых приложений в 2D и 3D. На Unreal Engine также есть множество библиотек и уроков, позволяющих быстро освоить программную среду и начать писать простые игровые приложения.
Все игровые движки позволяют добавлять и рисовать уровни, их элементы и персонажей, прописывать события, которые происходят в зависимости от действий главного героя. При этом разработчик не тратит время на написание сотен строчек кода, а занимается только реализацией своих непосредственных идей.
Так что же такое игровой движок для игрока и разработчика?
Получается, что игровой движок с точки зрения разработчика является программной платформой, на которой ведется разработка приложения. Кстати, это совсем не обязательно игра. Unity, например, активно используют в работе над приложениями с дополненной реальностью. А это уже не только игры, но и путеводители, справочники, энциклопедии и многое другое.
А с точки зрения игрока или пользователя написанного приложения, игровой движок — это основа игры, на которую разработчиком наложен сюжет, уровни, графика и музыка. Разница между этими двумя определениями небольшая, но она все-таки есть.
Как разобраться в игровых движках
Какие они бывают и как выбрать себе подходящий, если вы только начинаете постигать азы разработки
Некоторые из вас наверняка только начинают интересоваться игростроем, а потому не очень разбираются в том, что такое игровой движок и как его использовать. Поэтому для подготовки к джему я предлагаю вам краткий эскурс в понятие игрового движка и расскажу, какие они бывают и как выбрать себе подходящий.
Прежде всего, игровой движок — это программный комплекс, который упрощает разработку игр, предоставляя вам набор необходимых для разработки инструментов. Из этого следует несколько простых фактов. Во-первых, движок совершенно необязателен, игру можно написать и без него на голом языке программирования. Во-вторых, движок не сделает крутую игру за вас. Но с ним работа пойдёт в десятки раз быстрее, так что я всем очень советую не писать велосипеды, а использовать готовое.
Обобщённо говоря, игровой движок ответственен за организацию и поведение игровых объектов, а также за их отображение на экране. Ваша же задача — выбрать, как они будут выглядеть и как себя вести. Для этого движок предоставит вам возможность создавать и удалять объекты, задавать их параметры, добавлять логику и управлять ресурсами.
На самом деле, не так легко поделить игровые движки на отдельные категории, потому что чаще всего они предоставляют одни и те же возможности, вопрос лишь в количестве этих возможностей. Но я попробую.
Касательно внутреннего устройства игровые движки делятся на:
Если мы говорим о фреймворках, то игра пишется на том же языке, на котором написан фреймворк. Если же мы говорим о полноценном ПО, то программировать в них можно на:
Если говорить о лицензии, то тут тоже есть несколько вариантов:
Возможности, которые может предоставлять или не предоставлять игровой движок (список неокончательный):
Чем больше возможностей предоставляет движок, тем сложнее и дольше им пользоваться из-за огромного количества кнопочек и удлинённого времени компиляции, так что подбирать движок лучше не из соображений «чтобы умел побольше», но «взять достаточно для моих нужд — и не больше».
Ну и последнее разделение, которое относится к движкам лишь косвенно — это их дата создания и популярность. Чем раньше был создан движок и чем популярнее он, тем легче вам будет с ним работать, поскольку создатели движка наверняка уже починили огромное количество багов (да, это тоже важно, в игровых движках могут быть баги и их может быть много), а в сети вы сможете найти очень много обучающих материалов.
Игровой мир состоит из игровых объектов (GameObject). К этой базовой категории можно практически отнести всё, что находится в игре, в том числе игрока, его инвентарь, камеру, землю под ногами, каждый отдельный кустик и даже небо. Не стоит думать, что все объекты обязательно должны быть видимы — всякие триггеры (объекты, вызывающие события при прикосновении), барьеры, источники освещения и даже части интерфейса являются такими же объектами. Все игровые объекты обладают несколькими базовыми свойствами: положение в пространстве (Transform), включены ли они (Active), какой у них родительский объект и есть ли он (Parent).
Игровые объекты так же могут быть дополнены поведением (Behaviour или Component). Поведение — это отдельный код, который привязан к объекту и выполняется при определённых условиях. Условия могут быть самыми разными, а количество поведений, привязанных к объекту, ничем не ограничено. В таком коде вы например можете двигать объект по движению мыши или перекрашивать его цвет. А ещё у каждого поведения могут быть свои отдельные параметры (выраженные в переменных).
Например, мы можем создать для картинки поведение «Персонаж», у которого будут очки здоровья и возможность прыгать. И когда персонаж падает со слишком большой высоты, эти очки здоровья у него отнимать.
Помимо своих собственных поведений в игровом движке есть несколько стандартных типов поведений: форма столкновения (Bounding Box/Sphere/Capsule/…), физическое тело (Rigidbody), отрисовщик (Renderer), камера (Camera), создатель частиц (Particle Manager), аниматор (Animator) и ещё десятки других типов. Всеми этими поведениями вы можете управлять на лету.
Очень важным концептом является событие (Event). Это сигнал, который возникает при соблюдении каких-то условий. Поведения объектов в игре могут порождать эти события и реагировать на них. Например, столкновение — это событие, причём одно из самых частых по использованию. Именно на событиях строится основной игровой процесс, разработчик игры может навешивать действия (Action) одних поведений на события других и так, например, делать кнопки, рычаги, точки сохранений и так далее.
Но это и не единственный способ заставить игру работать, ещё есть раздел Update, в который можно написать код и который будет выполняться постоянно, в каждый игровой тик (tick). Тик — это самая минимальная единица времени, которую игра может обеспечить. Обычно тик составляет 16 миллисекунд, но если у вас плохо с оптимизацией, то он увеличится. Без этой функции не обойтись, и некоторые вещи, например плавное передвижение и проверка столкновений, пишутся именно там. Но чем меньше кода написано в этой секции — тем лучше.
Место, в котором находятся игровые объекты, называется уровень или сцена (Level или Scene). Уровни можно менять в любой момент, а в некоторых движках ещё и совмещать между собой. Ваши игровые объекты будут распределены по уровням, чтобы друг другу не мешать. Например это будут локации и их наполнение. Но определённые универсальные для всех уровней объекты, например главный персонаж или интерфейс, лучше хранить в отдельном месте.
В вашем проекте должна быть отдельная папка, в которой вы будете хранить сохранённые объекты (Prefab). Любой объект в игре вы можете сконструировать всего один раз, а затем сохранить в эту папку для дальнейшего, в том числе многократного, использования. Например, это могут быть деревья или враги. Во время игры вы можете создать любое количество объектов из этой папки, но лучше не переборщить и не использовать тысячи объектов, иначе движок начнёт лагать.
И последнее, про графику. Объекты в игре могут выглядеть самым разным способом. И дело даже не в отдельный настройках, а в самом способе их отображения на экране. Это могут быть 2D-объекты, например различные простейшие геометрические формы (Shape) или картинки (Sprite). А могут и 3D-объекты, которые состоят из 3D-модели (Mesh). Все видимые объекты в игре обязаны иметь материал (Material) — набор параметров, влияющий на отображение объекта. Такими параметрами могут являться текстуры (Texture), цвета (Color) и обычные числа (Float). Некоторые движки дают доступ ограниченный доступ материалу, давая лишь задать текстуру и цвет окрашивания, другие же дают полный доступ. В основе материала лежит шейдер (Shader) — особая программа, которая проводит математические вычисления и проецирует объекты в пространстве на плоский экран камеры.
Сразу предупреждаю, что список далеко не окончательный, в мире буквально каждый день кто-нибудь создаёт новый движок программирования — просто потому что это очень интересное испытание. Здесь же указаны более-менее популярные движки, о которых хорошо отзываются и которые вы можете начать использовать прямо сейчас, а их порядок ни в коей степени не отражает мои мнения о них.
Construct 3 — настоящий ветеран индустрии. Используется для создания 2D-игр и достаточно популярен. У движка больше настроек, с недавних пор есть версия для браузера, очень много примеров и шаблонов. Логика на визуальном интерфейсе. Но большинство возможностей скрыто за крайне дорогой лицензией. Бесплатная версия ограничена.
Stencyl — ещё один движок для создания 2D-игр. Имеет открытый исходный код и и приятный интерфейс. Логика на визуальном интерфейсе. Мало известен, но полностью бесплатен (платно только публикация на ПК).
GDevelop — другой движок для создания 2D-игр, набирающий огромную популярность. Так же имеет открытый исходный код и приятный интерфейс. Логика на визуальном интерфейсе. Полностью бесплатен.
RPG Maker — очень популярный движок для создания пиксельных RPG. Именно для RPG движок и заточен, но он подойдёт и для похожих жанров. Много встроенных ассетов и настроек для персонажей. Есть бесплатный 30-дневный пробник, дальше придётся платить.
Game Maker Studio — очень популярный движок для разработки 2D-игр. Позволяет программировать логику на адаптированном Lua и даёт много возможностей. Есть бесплатный 30-дневный пробник, дальше придётся платить.
Godot — очень многообещающий движок с открытым исходным кодом, который грозится «заменить Unity» в своей распространённости. Godot поддерживает 2D и 3D графику, а так же несколько языков программирования (C++, C# и модификация Python) и имеет свой визуальный скриптинг. Его использование полностью бесплатно.
Ren’Py — самый популярный движок визуальных новелл, на котором написаны тысячи новелл. Использует Python в качестве языка программирования логики. Полностью бесплатен
Monogatari — простой движок визуальных новелл на веб-технологиях. Мало известен, но выглядит интересно, к тому же движок на Javascript легче исправить под свои нужды. Код пишется на том же языке. Полностью бесплатен.
Unity — самый популярный в мире движок для разработки игр. Поддерживает 2D и 3D графику, имеет в себе невиданное количество вспомогательных модулей, огромный магазин ассетов и поддерживает большинство платформ. К сожалению, с ростом популярности движок становится всё сложнее и тяжелее в освоении, но всё равно очень доступен. Программирование на C#. Использование условно-бесплатное, при превышении определённого порога прибыли придётся платить за лицензию.
Что ж, теперь вы знаете, как выбрать движок и какие опции доступны. А теперь дерзайте! Скачивайте, тыкайте, экспериментируйте. На сайтах движков вы можете найти очень много шаблонов и примеров, а на YouTube (особенно английской его версии) можно найти буквально сотни и иногда даже тысячи гайдов по тем или иным сторонам разработки. Ждём ваши работы!