Game двигатель


Game engine - Wikipedia

Some game engines experience an evolution over time and develop a family tree, like for instance id's Quake engine which resulted in the id Tech family

A game engine is a software framework designed for the creation and development of video games. Developers use them to create games for consoles, mobile devices, and personal computers. The core functionality typically provided by a game engine includes a rendering engine ("renderer") for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graph, and may include video support for cinematics. The process of game development is often economized, in large part, by reusing/adapting the same game engine to create different games[1] or to make it easier to port games to multiple platforms.[citation needed]

Purpose[edit]

In many cases game engines provide a suite of visual development tools in addition to reusable software components. These tools are generally provided in an integrated development environment to enable simplified, rapid development of games in a data-driven manner. Game engine developers attempt to "pre-invent the wheel" by developing robust software suites which include many elements a game developer may need to build a game. Most game engine suites provide facilities that ease development, such as graphics, sound, physics and AI functions. These game engines are sometimes called "middleware" because, as with the business sense of the term, they provide a flexible and reusable software platform which provides all the core functionality needed, right out of the box, to develop a game application while reducing costs, complexities, and time-to-market — all critical factors in the highly competitive video game industry.[2]Gamebryo, JMonkey Engine and RenderWare are such widely used middleware programs.[3]

Like other types of middleware, game engines usually provide platform abstraction, allowing the same game to be run on various platforms including game consoles and personal computers with few, if any, changes made to the game source code. Often, game engines are designed with a component-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) game middleware components such as Havok for physics, Miles Sound System for sound, or Bink for video. Some game engines such as RenderWare are even designed as a series of loosely connected game middleware components that can be selectively combined to create a custom engine, instead of the more common approach of extending or customizing a flexible integrated product. However extensibility is achieved, it remains a high priority for game engines due to the wide variety of uses for which they are applied. Despite the specificity of the name, game engines are often used for other kinds of interactive applications with real-time graphical needs such as marketing demos, architectural visualizations, training simulations, and modeling environments.[4]

Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality needed by games. These engines rely upon the game developer to implement the rest of this functionality or assemble it from other game middleware components. These types of engines are generally referred to as a "graphics engine," "rendering engine," or "3D engine" instead of the more encompassing term "game engine." This terminology is inconsistently used as many full-featured 3D game engines are referred to simply as "3D engines." A few examples of graphics engines are: Crystal Space, Genesis3D, Irrlicht, OGRE, RealmForge, Truevision3D, and Vision Engine. Modern game or graphics engines generally provide a scene graph, which is an object-oriented representation of the 3D game world which often simplifies game design and can be used for more efficient rendering of vast virtual worlds.

As technology ages, the components of an engine may become outdated or insufficient for the requirements of a given project. Since the complexity of programming an entirely new engine may result in unwanted delays (or necessitate that the project be completely restarted), a development team may elect to update their existing engine with newer functionality or components.[citation needed]

Components[edit]

Such a framework is composed of a multitude of very different components.

Main game program[edit]

The actual game logic has to be implemented by some algorithms. It is distinct from any rendering, sound or input work.

Rendering engine[edit]

The rendering engine generates 3D animated graphics by the chosen method (rasterization, ray-tracing or any different technique).

Instead of being programmed and compiled to be executed on the CPU or GPU directly, most often rendering engines are built upon one or multiple rendering application programming interfaces (APIs), such as Direct3D or OpenGL which provide a software abstraction of the graphics processing unit (GPU).

Low-level libraries such as DirectX, Simple DirectMedia Layer (SDL), and OpenGL are also commonly used in games as they provide hardware-independent access to other computer hardware such as input devices (mouse, keyboard, and joystick), network cards, and sound cards. Before hardware-accelerated 3D graphics, software renderers had been used. Software rendering is still used in some modeling tools or for still-rendered images when visual accuracy is valued over real-time performance (frames-per-second) or when the computer hardware does not meet needs such as shader support.

With the advent of hardware accelerated physics processing, various physics APIs such as PAL and the physics extensions of COLLADA became available to provide a software abstraction of the physics processing unit of different middleware providers and console platforms.

Game engines can be written in any programming language like C++, C or Java, though each language is structurally different and may provide different levels of access to specific functions.

Audio engine[edit]

The audio engine is the component which consists of algorithms related to sound. It can calculate things on the CPU, or on a dedicated ASIC. Abstraction APIs, such as OpenAL, SDL audio, XAudio 2, Web Audio, etc. are available.

Physics engine[edit]

The physics engine is responsible for emulating the laws of physics realistically within the application.

Artificial intelligence[edit]

The AI is usually outsourced from the main game program into a special module to be designed and written by software engineers with specialist knowledge.

History[edit]

Before game engines, games were typically written as singular entities: a game for the Atari 2600, for example, had to be designed from the bottom up to make optimal use of the display hardware—this core display routine is today called the kernel by retro developers. Other platforms had more leeway, but even when the display was not a concern, memory constraints usually sabotaged attempts to create the data-heavy design that an engine needs. Even on more accommodating platforms, very little could be reused between games. The rapid advance of arcade hardware—which was the leading edge of the market at the time—meant that most of the code would have to be thrown out afterwards anyway, as later generations of games would use completely different game designs that took advantage of extra resources. Thus most game designs through the 1980s were designed through a hard-coded ruleset with a small number of levels and graphics data. Since the golden age of arcade video games, it became common for video game companies to develop in-house game engines for use with first party software.

While third-party game engines were not common up until the rise of 3D computer graphics in the 1990s, there were several 2D game creation systems produced in the 1980s for independent video game development. These include Pinball Construction Set (1983), ASCII's War Game Construction Kit (1983),[5]Thunder Force Construction (1984),[6]Adventure Construction Set (1984), Garry Kitchen's GameMaker (1985), Wargame Construction Set (1986), Shoot'Em-Up Construction Kit (1987), Arcade Game Construction Kit (1988), and most popularly ASCII's RPG Maker engines from 1998 onwards. Klik & Play (1994) is another legacy offering that's still available.

The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as first-person shooters (FPS). (See also: first-person shooter engine.) Such was the popularity of Id Software's Doom and Quake games that, rather than work from scratch, other developers licensed the core portions of the software and designed their own graphics, characters, weapons and levels—the "game content" or "game assets." Separation of game-specific rules and data from basic concepts like collision detection and game entity meant that teams could grow and specialize.

Later games, such as id Software's Quake III Arena and Epic Games's 1998 Unreal were designed with this approach in mind, with the engine and content developed separately. The practice of licensing such technology has proved to be a useful auxiliary revenue stream for some game developers, as a one license for a high-end commercial game engine can range from US$10,000 to millions of dollars, and the number of licensees can reach several dozen companies, as seen with the Unreal Engine. At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive video game industry. While there was a strong rivalry between Epic and id around 2000, since then Epic's Unreal Engine has been far more popular than id Tech 4 and its successor id Tech 5.[7]

Modern game engines are some of the most complex applications written, often featuring dozens of finely tuned systems interacting to ensure a precisely controlled user experience. The continued evolution of game engines has created a strong separation between rendering, scripting, artwork, and level design. It is now common, for example, for a typical game development team to have several times as many artists as actual programmers.[8]

First-person shooter games remain the predominant users of third-party game engines, but they are now also being used in other genres. For example, the role-playing video game The Elder Scrolls III: Morrowind and the MMORPG Dark Age of Camelot are based on the Gamebryo engine, and the MMORPG Lineage II is based on the Unreal Engine. Game engines are used for games originally developed for home consoles as well; for example, the RenderWare engine is used in the Grand Theft Auto and Burnout franchises.

Threading is taking on more importance due to modern multi-core systems (e.g. Cell) and increased demands in realism. Typical threads involve rendering, streaming, audio, and physics. Racing games have typically been at the forefront of threading with the physics engine running in a separate thread long before other core subsystems were moved, partly because rendering and related tasks need updating at only 30–60 Hz. For example, on PlayStation 3, physics ran in Need For Speed at 100 Hz versus Forza Motorsport 2 at 360 Hz.

Although the term was first used in the 1990s, there are a few earlier systems in the 1980s that are also considered to be game engines, such as Sierra's Adventure Game Interpreter (AGI) and SCI systems, LucasArts' SCUMM system and Incentive Software's Freescape engine. Unlike most modern game engines, these game engines were never used in any third-party products (except for the SCUMM system which was licensed to and used by Humongous Entertainment).

As game engine technology matures and becomes more user-friendly, the application of game engines has broadened in scope. They are now being used for serious games: visualization, training, medical, and military simulation applications, with the CryEngine being one example.[9] To facilitate this accessibility, new hardware platforms are now being targeted by game engines, including mobile phones (e.g. Android phones, iPhone) and web browsers (e.g. WebGL, Shockwave, Flash, Trinigy's WebVision, Silverlight, Unity Web Player, O3D and pure DHTML).[10]

Additionally, more game engines are being built upon higher level languages such as Java and C#/.NET (e.g. TorqueX, and Visual3D.NET), Python (Panda3D), or Lua Script (Leadwerks). As most 3D rich games are now mostly GPU-limited (i.e. limited by the power of the graphics card), the potential slowdown due to translation overheads of higher level languages becomes negligible, while the productivity gains offered by these languages work to the game engine developers' benefit.[11] These recent trends are being propelled by companies such as Microsoft to support Indie game development. Microsoft developed XNA as the SDK of choice for all video games released on Xbox and related products. This includes the Xbox Live Indie Games [12] channel designed specifically for smaller developers who don't have the extensive resources necessary to box games for sale on retail shelves. It is becoming easier and cheaper than ever to develop game engines for platforms that support managed frameworks.[13]

Game middleware[edit]

In the broader sense of the term, game engines themselves can be described as middleware. In the context of video games, however, the term "middleware" is often used to refer to subsystems of functionality within a game engine. Some game middleware does only one thing but does it more convincingly or more efficiently than general purpose middleware. For example, SpeedTree was used to render the realistic trees and vegetation in the role-playing video game The Elder Scrolls IV: Oblivion[14] and Fork Particle was used to simulate and render real time particle system visual effects or particle effects in Sid Meier's Civilization V.[15]

The four most widely used middleware packages[16] that provide subsystems of functionality include RAD Game Tools' Bink, Firelight FMOD, Havok, and Scaleform GFx. RAD Game Tools develops Bink for basic video rendering, along with Miles audio, and Granny 3D rendering. Firelight FMOD is a low cost robust audio library and toolset. Havok provides a robust physics simulation system, along with a suite of animation and behavior applications. Scaleform provides GFx for high performance Flash UI and high-quality video playback, and an Input Method Editor (IME) add-on for in-game Asian chat support.

Other middleware is used for performance optimisation - for example 'Simplygon' helps to optimise and generate level of detail meshes, and 'Umbra' adds occlusion culling optimisations to 3d graphics.

Some middleware contains full source code, others just provide an API reference for a compiled binary library. Some middleware programs can be licensed either way, usually for a higher fee for full source code.

First-person shooter engines[edit]

A subset of game engines are 3D first-person shooter (FPS) game engines. Groundbreaking development in terms of visual quality is done in FPS games on the human scale.[vague] While flight and driving simulators and real-time strategy (RTS) games increasingly provide realism on a large scale, first-person shooters are at the forefront of computer graphics on these smaller scales.

The development of the FPS graphic engines that appear in games can be characterized by a steady increase in technologies, with some breakthroughs. Attempts at defining distinct generations lead to arbitrary choices of what constitutes a highly modified version of an "old engine" and what is a brand-new engine.

The classification is complicated as game engines blend old and new technologies. Features that were considered advanced in a new game one year become the expected standard the next year. Games with a mix of older generation and newer feature are the norm. For example, Jurassic Park: Trespasser (1998) introduced physics to the FPS games, but it did not become common until around 2002. Red Faction (2001) featured destructible walls and ground, something still not common in engines years later (for example in Unreal Tournament 2004 there are still no destructible objects). Battlezone (1998) and Battlezone II: Combat Commander (1999) added vehicle based combat to the usual FPS mix, which did not hit the mainstream until later. Tribes 2, Battlefield 1942, Halo: Combat Evolved, and Unreal Tournament 2004 fully realized the potential for vehicular-combat and first person shooter integration.

See also[edit]

References[edit]

en.wikipedia.org

game engine Википедия

Игрово́й движо́к (англ. game engine) — базовое программное обеспечение компьютерной или видео игры[1]. Разделение игры и игрового движка часто расплывчато, и не всегда студии проводят чёткую границу между ними. Но в общем случае термин «игровой движок» применяется для того программного обеспечения, которое пригодно для повторного использования и расширения, и тем самым может быть рассмотрено как основание для разработки множества различных игр без существенных изменений[2].

Определение

Термин «игровой движок» появился в середине 1990-х в контексте компьютерных игр жанра шутер от первого лица, похожих на популярную в то время Doom. Архитектура программного обеспечения Doom была построена таким образом, что представляла собой разумное и хорошо выполненное разделение центральных компонент игры (например, подсистемы трёхмерной графики, расчёта столкновений объектов, звуковой и других) и графических ресурсов, игровых миров, формирующие опыт игрока игровые правила и другое. Как следствие, это получило определённую ценность засчёт того, что начали создаваться игры с минимальными изменениями, когда при наличии игрового движка компании создавали новую графику, оружие, персонажей, правила игры и тому подобное[2].

Разделение между игрой и игровым движком часто неопределённо. Некоторые движки имеют разумное и ясное разделение, в то же время другие практически невозможно отделить от игры. Например, в игре движок может «знать» о том, как рисовать дугу, в то же время другой движок может работать с другим уровнем абстракции, и в нём дуга будет частным случаем параметров вызываемых функций. Одним из признаков игрового движка является применение архитектуры управления данными. Это определяется тем, что если игра содержит жёстко фиксированные данные (англ.)русск., влияющие на логику, правила игры, рисование объектов и тому подобное, то становится сложно применять данное программное обеспечение в разных играх[2].

Большинство игровых движков разработаны и настроены для того, чтобы запустить определённую игру на определённой платформе. И даже наиболее обобщённые многоплатформенные движки подходят для построения игр определённого жанра, например шутеров первого лица или гонок. В данном контексте можно более аккуратно сказать, что игровой движок становится менее оптимальным при его применении не для той игры или той платформы, для которой разработан. Данный эффект проявлятся от того, что программное обеспечение представляет собой набор компромиссов, основанных на тех предположениях, какой должна быть игра. Например, проектирование рендеринга внутри зданий приведёт к тому, что движок скорее всего не будет таким же хорошим для открытых пространств. В первом случае движок может использовать BSP-дерево для отрисовки объектов, близких к камере. В то же время, для открытых пространств может использоваться менее точные способы, а также более активно применятся технологии отрисовки с разной степенью детализации, когда более далёкие объекты прорисовываются менее чётко, так как занимают меньшее количество пикселей[3].

Специализация

Как правило, игровые движки специализированы в рамках жанра компьютерных игр. Так, движок, спроектированный для двумерного файтинга на боксёрском ринге будет существенно отличаться от движка для массовой многопользовательской игры, шутера от первого лица или стратегии в реальном времени. Но в то же время движки имеют существенные общие части — все трёхмерные игры, невзирая на жанр, требуют взаимодействия игрока посредством клавиатуры, геймпада и/или мыши, некоторую форму трёхмерного рендеринга, средства индикации как на лобовом стекле (например, печать текста поверх графического изображения), звуковую систему и многое другое. Так, движок Unreal Engine несмотря на то, что был спроектирован для шутера от первого лица, успешно использовался для создания игр во множестве других жанров, таких как шутер от третьего лица Gears of War, приключенческая ролевая игра Grimm (англ.)русск., или футуристичная гонка Speed Star[4].

Исторически шутеры от первого лица относятся к играм, которые наиболее технологически сложны, так как им необходимо представлять игроку иллюзию трёхмерного мира, и делать это для активных действий в реальном времени. Движки шутеров от первого лица больше обращают внимание на такие технологии, как эффективный рендеринг трёхмерных миров, отзывчивая игровая механика контроля и прицеливания, высокая точность анимации оружия и рук управляемого игроком персонажа, широкий спектр ручного вооружения, «прощающая» модель движения игрока и его столкновения с препятствиями, высокое качество анимации и искусственного интеллекта неигровых персонажей. При этом характерны малая масштабируемость в многопользовательских играх (типична поддержка до 64 игроков) и повсеместная ориентация на игровой процесс deathmatch[5]. Графические движки игр данного жанра используют ряд оптимизаций в зависимости от текущего окружения игрока, но вместе с тем предъявляются требования по анимации персонажа, аудио и музыке, динамики твёрдого тела (англ.)русск., кинематике и другим технологиям[6].

Движки платформеров обращают больше внимания на анимацию персонажа и его аватара, и при этом им не требуется той реалистичности, которая присуща трёхмерным шутерам. Для платформеров характерно применение ряда технологий: множество способов перемещения (движущиеся платформы, лестинцы, верёвки, подпорки и другие), элементы из головоломок, использование следящей за персонажем камеры от третьего лица, рендеринг нескольких слоев геометрии в сочетании с системой столкновений объектов, и другие[7].

Файтинги ориентированы на богатую анимацию, точность ударов, возможность задания сложных комбинаций последством кнопок и/или джойстика и тому подобное. Анимационные персонажи предъявляют требования движкам по высокой детализации, дополнительно движки обеспечивают возможность изменения и добавления спецэффектов (шрамов после ударов, выступление пота и тому подобное), а также предоставляются возможности симуляции причёски, одежды и других элементов[8].

Автосимуляторы могут быть разными и здесь имеется ряд поджанров. Графика таких игр ориентирована на «коридорность» и кольцевые треки, и поэтому движки больше обращают внимание на детализацию машин, трека и непосредственное окружение. Как следствие, используются технологии для рендеринга далёких фоновых объектов (отображаемых двумерно), трек часто разделяется на несколько секторов, внутри которых проводится оптимизация по рендерингу. В случае движения по туннелям или другим «тесным» местам используются техники для того, чтобы камера с видом от третьего лица не пересекалась с фоновой геометрией. Используемые структуры данных и искусственный интеллект ориентируются на решение задач машин неигровых персонажей, таких как поиск пути и других технических проблем[9].

У стратегий реального времени нет высоких требований к графике и поэтому движок ориентируется на то, что отбражает юнитов в низком разрешении, но при этом он должен быть способен работать с большим числом юнитов одновременно. Отдельные особенности имеются у интерфейса взаимодействия игрока и элементов управления, в которые входят инструменты работы с группами юнитов (выделение по площади, управление) и ряд меню и панелей инструментов, содержащих команды управления, элементы снаряжения, выбор типов юнитов и зданий и тому подобное[10].

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

История

На домашних компьютерах 1980-х из-за отсутствия стандартизации и ограничений памяти портирование было ручным и трудоёмким: переносилась только логика работы, а остальные части — вывод графики на экран, вызов прерываний и т. п. — писалось заново. Тем не менее, в те времена появились игровые движки Z-Machine и SCI от компаний Infocom и Sierra соответственно. В 1980-е компания Incentive Software начала разработку Freescape — переносимого 3D-ядра.

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

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

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

Обзор

В дополнение к многократно используемым программным компонентам, игровые движки предоставляют набор визуальных инструментов для разработки. Эти инструменты обычно составляют интегрированную среду разработки для упрощённой, быстрой разработки игр на манер поточного производства. Эти игровые движки иногда называют «игровым подпрограммным обеспечением» (сокр. ППО; англ. 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 графики использовались программные визуализаторы. Программный рендеринг всё ещё используется в некоторых инструментах моделирования для рендеринга изображений, для которых визуальная достоверность важнее производительности (количество кадров в секунду) или когда аппаратное обеспечение компьютера не удовлетворяет требованиям, например, не поддерживает шейдеры.

См. также

Примечания

  1. ↑ game engine | Definition of game engine in English by Oxford Dictionaries. Oxford Dictionaries | English. — «The basic software of a computer game or video game». Проверено 11 декабря 2017.
  2. ↑ 1 2 3 Jason, 2009, p. 11.
  3. ↑ Jason, 2009, p. 12.
  4. ↑ Jason, 2009, p. 13.
  5. ↑ Jason, 2009, p. 13, 14.
  6. ↑ Jason, 2009, p. 14.
  7. ↑ Jason, 2009, p. 16, 17.
  8. ↑ Jason, 2009, p. 17, 18.
  9. ↑ Jason, 2009, p. 19-21.
  10. ↑ Jason, 2009, p. 22, 23.
  11. ↑ Jason, 2009, p. 23, 24.

Литература

  • Jason, Gregory. Game Engine Architecture : [англ.]. — CRC Press, 2009. — 864 с.

Ссылки

wikiredia.ru

Haaf's Game Engine - Игровые движки - Файлы для игроделов

Достоинства: Русскоязычная ветка на официальном форуме движка. Использование аппаратного ускорения. Простота в освоении и использовании.

Общее описание: HGE – это простой в освоении мощный 2D-движок, использующий аппаратное ускорение. Движок подойдет для всех, кто желает быстро и легко создать свою коммерческую middleware-игру хорошего качества. Жанр игр, созданных на этом движке, никак не ограничивается, вы можете создать в 2D всё, что вам заблагорассудится: логический пазл, многослойный платформер, стратегию или любой другой, не меняя код движка. Вам не нужно знать о программировании под DirectX – вы не должны ничего знать о программировании системы и не нуждаетесь в дополнительных библиотеках. Игру можно сделать за 15 минут.

Движок работает с любой Windows (98, 2000, NT, ME, XP) и DirectX 8.0. При этом он нетребователен к видеокартам, благодаря чему всё будет работать даже на сильно устаревших моделях. HGE может использоваться с любым C++ компилятором, например с Visual C++, Borland C++, MinGW и Metrowerks Codewarrior.

Движок очень лёгок в настройке и использовании. Техническая сторона движка базируется на Direct3D API, что даёт большие возможности для различных эффектов и спецэффектов: альфа-блендинг, альфа-каналы, смешивание цветов, изменение геометрии, глобальная трансформация сцены, Z-буфер и многое другое. Полный набор операторов и функций для работы с 2D-векторами, вычисление ARGB, преобразование цветов и пр.

Передовые системы 2D-частиц, позволяющие создавать такие эффекты как дым, взрывы, магия и т.д. Имеются менеджер систем частиц, выбор времени и функции движения, вычисление и обнаружение столкновения. Эффекты воды, линзы, морфинг эффекты в реальном времени и пр.

Для движка имеется и специальный набор инструментов, который призван помочь при разработке игр на Haaf's Game Engine.

Поддерживаются ходовые форматы 2D-графики: BMP, DDS, DIB, JPG, PNG, TGA. Имеется возможность запускать приложения в оконном или полноэкранном режимах. Используется точное отображение texel-to-pixel,

Поддерживаются самые популярные и разнообразные аудио-форматы для воспроизведения музыки и звуков в приложениях: WAV, MP3, MP2, MP1 и OGG, а также форматы трекерной музыки: MO3, IT, XM, S3M, MTM, MOD и UMX. При этом отрабатывается качество, фильтруется и очищается звук.

Управление полностью настраиваемое и функциональное. Вы можете настраивать управление на клавиатуру, мышь, назначая клавиши и их действия, определять позиции мыши, прослеживать положение колесика мыши и т.д.

Ресурсы подгружаются из дискового пространства, загружаются из ZIP-файлов (из пакетов ресурсов). Загрузка легко переключается между открытыми и запакованными ресурсами.

Функции тайминга используют синхронизацию FPS, режим зафиксированного FPS, мониторинг и подсчет FPS. Имеется инициализация и лог файлов для записи и чтения целых и плавающих чисел, printf-стиль лог файла. Поддерживается загрузка и рендеринг bitmap-шрифтов, выравнивание текста, прослеживание шрифта, скроллинг и вращение, вычисление.

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

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

GUI выполняется достаточно удобно и функционально: текст, кнопки и ползунки, поддержка интерактивных и анимированных GUI.

Также вам доступны специальные инструменты: компилятор ресурсов, редактор текстур, редактор эффектов, создатель шрифтов.

Resources Compiler позволяет работать с архивами формата ZIP, запаковывать ресурсы и извлекать, защищать их паролем.

PNG Optimizer и Texture Assembler работают с размещением спрайтов, точно вращают и изменяют эти спрайты, генерируя соответствующий скрипт.

Particle Systems Editor позволяет работать с любыми передовыми 2-частицами, просматривая оные в режиме реального времени.

Bitmap Font Builder позволяет вам получать bitmap-шрифт из любого шрифта, установленного на вашей системе. Вы можете применять любые графические эффекты, используя графический редактор.

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

В августе 2011 года Райан Гордон (Ryan Gordon) выпустил в общий доступ открытые коды порта на Linux и Mac под свободной лицензией. Порт HGE под Unix-системы использует такие открытые технологии как OpenGL, SDL и OpenAL. И благодаря этой связке движок работает на Mac OS X и Linux, PowerPC, x86 и x86-64. И данная сборка будет запускаться на любой разумной Unix-сборке, типа FreeBSD и другие, она могла бы работать даже на Windows.

Официальный сайт: http://hge.relishgames.com Документация на русском языке (для версии 1.53): http://ben-gun-den.narod.ru/hge/hge-doc-ru.zip Unix-порт: http://icculus.org/hge-unix/

HGE is an easy to use yet powerful hardware accelerated 2D game engine. It is a full featured middleware for all who want to develop commercial quality 2D games rapidly and easily. It covers all imaginable 2D game genres: you could create everything from a simple puzzle to advanced multilayered platformer or strategy without even thinking of any non game logic code! And you don't have to know anything about "window messages", DirectX programming and all that stuff. Instead you can start developing your own game within 15 minutes!

HGE runs on Microsoft Windows 98, 2000, NT, ME, XP and requires DirectX 8.0. It will run even on low-end video cards, including built in video cards such as Intel Solano (i815 chipset). HGE can be used with virtually any C++ compiler including Visual C++, Borland C++, MinGW and Metrowerks Codewarrior.

gcup.ru

Какой игровой движок выбрать: Unity, UDK или CryENGINE?

В статье рассматриваются характерные особенности трех самых мощных игровых движков: Unity, UDK и CryENGINE.

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

За последнее время разработчики сделали доступными для широкого использования многие мощные игровые движки, давая, тем самым, независимым разработчикам возможность воссоздать игры из их грез. Самые популярные игровые движки – Unity, UDK и Cry ENGINE. Все они являются самыми мощными игровыми движками, с характерными сильными сторонами. Для начала определитесь, будет ли ваш проект шутером от первого лица (FPS), 2D или 3D мобильной игрой или обладать сказочно красивой графикой?

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

 

Unity

Unity – игровой движок с широким спектром возможностей, удобным и дружественно настроенным интерфейсом. Вся его соль заключается в мультиплатформенности, что означает легкое и быстрое портирование игр под такие платформы, как Android, iOS, Windows Phone 8 и BlackBerry, делая движок приоритетным при выборе ПО для разработки игр под мобильные приложения. Кроме этого, с помощью Unity можно также разрабатывать игры для PS 3, Xbox360, Wii U и веб-браузеров.

Unity легко «читает» ассеты из таких 3D-редакторов, как 3D Maya, 3Ds Max, Softimage, CINEMA 4D, Blender и пр., что означает отсутствие проблем с чтением различных форматов. А после недавнего релиза Unity 4.3 также может работать с 2D-графикой, поддерживая спрайты и 2D-физику, благодаря чему с помощью движка можно также создавать графику для 2D-игр.

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

Существует две версии Unity: бесплатная и Pro. Pro-версия движка стоит $1,500 или $75 помесячно. Она существенно отличается от бесплатной версии Unity, имеет освещение типа global, возможность render-to-texture, IK-риги Mecanim и пр. Бесплатная версия Unity щедро снабжает контент вотермарками, избавиться от которых невозможно. Более детальную информацию можно найти на официальном сайте Unity.

UDKUnreal Development Kit или UDK – бесплатная версия движка Unreal Engine 3, написанного Epic Games, который используется для разработки многих игр класса ААА, включая шутер Gears of War. Этот движок обладает высокими графическими возможностями и может также использоваться для разработки мобильных игр. У UDK, в отличие от Unity, есть свой собственный мощный инструмент для дизайна игровых уровней непосредственно в самом движке.

Главным образом Unreal Engine разрабатывался для создания FPS. Именно благодаря старой версии движка мы смогли поиграть в первую версию Unreal, сейчас же движок используется для создания игр разнообразного жанра, RPG  в том числе. У Unreal есть свой скриптовый объектно-ориентированный язык программирования, похожий на Java или C++. Полный список игр, созданных на Unreal Engine 3, можно посмотреть в шоукейсе UDK.

UDK, как и Unity, работает с различными платформами, включая iOS, Android, Windows Phone 8, Xbox360, PS 3, Playstation Vita и Wii U.

Как и в случае с Unity платить за UDK вы будете только в случае релиза игры. Несмотря на это независимые разработчики, сидящие на UDK, могут использовать более гибкий подход, не требующий серьезных вложений на начальных этапах разработки. На момент издания игры вы должны будете заплатить лицензионный сбор в размере $99. Также, если вырученная за игру прибыль превысит $50,000, вам придется заплатить от нее 25%, что составит авторское вознаграждение разработчиков. Более детальную информацию можно найти на официальном сайте UDK.

CryENGINECryENGINE – невероятно мощный движок, разработанный компанией Crytek, и впервые представленный в первой части Far Cry. С помощью этого движка можно создавать игры под ПК и консоли, включая PS4 и Xbox One. Графические особенности CryENGINE значительно превосходят возможности первых двух движков, поскольку включают артхаусный свет, реалистичную физику, продвинутую систему анимации и пр. CryENGINE использовался для разработки Ryse: Son of Rome. Этот движок, как и UDK, очень интуитивен и обладает мощными возможностями для дизайна уровней.

Несмотря на то, что CryENGINE считается самым мощным движком из всех трех, вам придется потратить какое-то время, чтобы разобраться в нем, это может оказаться достаточно сложным, если вы не имели опыта работы с игровыми движками. Если вы не хотите, чтобы качество графики в вашей игре было на уровне Crysis 3 или Ryse: Son of Rome, тогда стоит сделать выбор в пользу более дружественно настроенного движка.

Несмотря на то, что на сайте CryENGINE нет информации касательно лицензионных сборов, существует бесплатная версия CryENGINE для некоммерческого использования, такая же, как у UDK и Unity. Если вы хотите узнать о порядке цен на движок, вам необходимо связаться с CryEngine, предоставив им детали касательно игры и целевой платформы.

Так что же подойдет мне?

Все три игровых движка являются невероятно мощным инструментом. В то время как Unity больше подходит для мобильных 2D и 3D-игр, UDK, обладая уникальным скриптовым языком программирования, идеально подходит для создания FPS-шутеров, а  CryENGIN, адапированный под платформы следующего поколения, имеет потрясающие графические возможности и, только вы сами можете решить, что же лучше подходить вам для решения существующих задач. Надеемся, что этот пост был информативным и помог вам сделать правильный выбор, сфокусировавшись на самой интересной части – разработке. Если вы все еще сомневаетесь – поюзайте все три движка.

Журналист: Алена

3dpapa.ru

List of game engines - Wikipedia

Game engines are tools available for game designers to code and plan out a game quickly and easily without building one from the ground up. Whether they are 2D or 3D based, they offer tools to aid in asset creation and placement.

Note: The following list is not exhaustive. Also, it mixes game engines with rendering engines as well as API bindings without any distinctions.

Name Primary programming language Scripting Cross-platform 2D/3D oriented Target platform Notable games License Notes and references 4A Engine Yes 3D Windows, OS X, Linux, PlayStation 3, PlayStation 4, Xbox 360, Xbox One Metro 2033, Metro: Last Light Proprietary A-Frame (VR) HTML, JavaScript JavaScript Yes 3D Cross-platform A-Painter[1] MIT Open source Entity component system WebVR framework Adventure Game Interpreter C style Yes 2D DOS, Apple SOS, ProDOS, Classic Mac OS, Atari TOS List Proprietary Adventure Game Studio C++ AGSScript Yes 2D Windows, Linux Chzo Mythos, The Blackwell Series Artistic 2.0 Mostly used to develop third-person pre-rendered graphic adventure games, one of the most popular for developing amateur adventure games Alamo Yes 3D Windows, OS X, Xbox 360 Star Wars: Empire at War, Star Wars: Empire at War: Forces of Corruption, Universe at War: Earth Assault Proprietary Aleph One C++ Lua, Marathon markup language Yes 2.5D Windows, Linux, OS X Aleph One (Marathon remake) GPL FPS engine Allegro C Ada, C++, C#, D, Lisp, Lua, Mercury, Pascal, Perl, Python, Scheme Yes 2D Windows, Linux, OS X, iOS, Android, Raspberry Pi, DOS Factorio zlib Graphics, audio, input Antiryad Gx C, C++, Gel Yes 3D Windows, Mac OS, Linux, iOS, Android, AmigaOS, AROS, MorphOS, NACL Proprietary Anura C++ Yes 2D Windows, Linux, OS X, iOS, Android, BlackBerry 10 Frogatto & Friends zlib [citation needed] Anvil C++, C# Yes 3D Windows, PlayStation 3, PlayStation 4, PlayStation Vita, Wii U, Xbox 360, Xbox One List Proprietary AppGameKit C++, BASIC C++, AGK BASIC Yes 2D, 3D Windows, Mac, iOS, Android, HTML5, Raspberry Pi Echoes, Driving Test Success Apps, Squashies Proprietary Ardor3D Java Yes 3D Cross-platform zlib Fork of jMonkeyEngine 2.0 Aurora toolset C++ NWScript Yes 3D Windows, Linux, OS X Neverwinter Nights Proprietary BigWorld Python Yes 3D Windows, Linux, Xbox 360, PlayStation 3 List Proprietary Blend4Web JavaScript, Python, C, C++ JavaScript Yes 3D WebGL, Windows, Linux, OS X, iOS, Android Experience Curiosity, Petigor's Tale, Back to the Middle Ages GPLv3 or commercial Game content, including graphics, animation, sound, and physics, is authored in the 3D modeling and animation suite Blender[2] Blender C, C++ Python Yes 2D, 3D Windows, Linux, OS X, Solaris Yo Frankie!, Sintel The Game, ColorCube GPL 2D/3D game engine packaged in a 3D modeler with integrated Bullet physics library[3][4] Bork3D Game Engine C++ Yes 3D IOS, OS X, Windows List Proprietary BRender Yes 3D Windows, DOS, PlayStation Carmageddon, FX Fighter, I-War (Independence War). Proprietary Build engine C Yes 2.5D Windows, Linux, OS X, DOS Duke Nukem 3D, Shadow Warrior, Blood, Redneck Rampage Custom, free non-commercial use FPS engine; 2.5D, 2D grid base geometry Buildbox C++ Yes 2D Windows, OS X, iOS, Android Ball Jump, Sky, The Line Zen, Phases Proprietary Drag and drop game builder without scripting C4 Engine Yes 3D PlayStation 4, PlayStation 3, Windows, OS X, Linux, iOS List Proprietary Retired, no longer available for licensing[5] Cafu Engine C++ Lua Yes 3D Windows, Linux, OS X GPL or Proprietary Includes map editor and networking[6] Chrome Engine C++ Yes 3D Windows, Linux, PlayStation 4, Xbox One List Proprietary ClanLib C++ Yes 2.5D Windows, Linux, OS X zlib Clausewitz C++ Yes 3D Windows, OS X, Linux All Paradox Development Studio games since 2007 Proprietary Clickteam Fusion Yes 2D Windows, iOS, Android, HTML5, Adobe Flash Five Nights at Freddy's Proprietary Cocos2d, Cocos2d-x, Cocos2d-html5 C++, Python, Objective-C, JavaScript JavaScript, Java, Lua Yes 2D, 2.5D, 3D Windows, Linux, OS X, iOS, Android, BlackBerry, Tizen Hardest Game Ever 2, DQMSL, Tiny Village, Badland, Small Street, Tiny Tower, Pocket Planes, Hill Climb, Star Thief, Geometry Dash MIT Android target binds to Java; iOS target uses Objective-C Codea Lua No 2D iOS Cargo-Bot Apache 2.0 Coldstone Yes 2D Mac OS 9, OS X, Windows Pillars of Garendall Proprietary Construct C++ JavaScript, Event System Yes 2D Windows, OS X, Wii U, HTML5 capable internet browsers Proprietary, GPL Classic version CopperCube Yes 3D Windows, OS X, Android, WebGL, Adobe Flash Proprietary Core3D Objective-C Yes 3D Windows, Linux, OS X, iOS CoreBreach 3D Engine MIT, Source Code GPL v2 [7] Corona Lua Yes 2D iOS, Android, Kindle, Windows Phone 8, Apple TV, Android TV, OS X, Windows Proprietary CPAL3D No 3D Windows Memento Mori Proprietary Creation Engine C++ Papyrus Yes 3D Windows, PlayStation 3, Xbox 360, Xbox One, PlayStation 4 The Elder Scrolls V: Skyrim, Fallout 4 Proprietary CryEngine C++ Lua, C# Yes 3D Windows, OS X, Linux, PlayStation 3, PlayStation 4, Wii U, Xbox 360, Xbox One, iOS, Android List Proprietary Crystal Tools Yes 3D PlayStation 3, Xbox 360, Windows, Wii List Proprietary Crystal Space C++ Java, Perl, Python Yes 3D Windows, Linux, OS X Keepsake, The Crystal Scrolls, Yo Frankie! LGPL Cube C++ Yes 3D Windows, Linux, OS X AssaultCube, Cube zlib Prior generation (means it has a successor), 2D grid-based system, optimized for outdoor not indoor maps Cube 2 C++ CubeScript Yes 3D Windows, Linux, OS X Cube 2, Red Eclipse zlib Efficient 6-directional height map based geometry (versus traditional Polygon soup model), hence the name Cube, FPS engine Dagor Engine Yes 3D Windows, PlayStation 4, PlayStation 3, Xbox 360, Linux, OSX List Proprietary Dark Engine C++ No 3D Windows Thief: The Dark Project, System Shock 2, Thief II: The Metal Age Proprietary Advanced AI and sound features (full control of sound propagation). Edited with DromEd. Decima No 3D PlayStation 4 Death Stranding, Horizon Zero Dawn, Killzone Shadow Fall, Until Dawn, Until Dawn: Rush of Blood Proprietary Defold Lua Lua Yes 2D iOS, Android, HTML5, Windows, OSX, Linux, OSX Blossom Blast Saga, Hammerwatch Coliseum Proprietary Delta3D C++ Python Yes 2.5D Cross-platform LGPL Dim3 C++ JavaScript Yes 3D Cross-platform MIT DimensioneX Multiplayer Engine Java Java, VBScript Yes 2.5D Cross-platform Underworld Online GPL Produces browser games with pseudo-3D views; games can be made into Facebook Apps; intended for beginners DX Studio C++ JavaScript No 3D Windows proprietary, Freeware Dunia Engine C++ Yes 3D Windows, PlayStation 3, Xbox 360, PlayStation 4, Xbox One List Proprietary Based on CryEngine ego Yes 3D PlayStation 3, Windows, Xbox 360, OS X, Wii, Wii U, Xbox One, PlayStation 4 List Proprietary Primarily used for racing games Electron toolset C# NWScript No 3D Windows Neverwinter Nights 2 Proprietary Elflight Engine Java Yes 3D Cross-platform Proprietary Targeted for web based games Enforce No 3D Windows Shade: Wrath of Angels, Alpha Prime, Carrier Command: Gaea Mission, Take On Mars Proprietary Enigma Engine Yes 3D Windows, OS X, Blitzkrieg, Blitzkrieg 2 Proprietary Esperient Creator Lang Lisp, CScript No 3D Windows Proprietary Essence Engine No 3D Windows List Proprietary Euphoria Yes 3D Windows, PlayStation 4, Xbox One, PlayStation 3, Xbox 360, iOS, Android Proprietary Exult C++ Yes 2D Windows, Linux, OS X, BSD GPL Free software re-implemented Ultima VII game engine Flare3D ActionScript 3 Yes 3D Web, Windows, iOS, Android, BlackBerry List Proprietary Flixel ActionScript Yes 2D Various games by Gregory Weir MIT Boilerplate code for Flash games Forgelight Engine No 3D Windows Free Realms, PlanetSide 2, Landmark, EverQuest Next, h2Z1: Just Survive, h2Z1: King of the Kill Proprietary Fox Engine Yes 3D Windows, PlayStation 3, PlayStation 4, Xbox 360, Xbox One List Proprietary Freescape Freescape Command Language Yes 3D Amstrad CPC, ZX Spectrum, IBM PC, Commodore 64, Commodore Amiga, Atari ST List Proprietary Frostbite C++ Yes 3D Windows, PlayStation 3, PlayStation 4, Xbox 360, Xbox One List Proprietary Used originally for Battlefield (series) video games Future Pinball No 3D Windows Freeware Gamebryo C++ Yes 3D Windows, PlayStation 3, PlayStation 4, Xbox 360, Xbox One List Proprietary Game Editor Custom (C styled) Yes 2D iPhone, iPad, OS X, Windows (95-Windows 7), Linux, Windows-based smartphones, GP2X, Pocket PCs, Handheld PCs Notable games GPL, Proprietary GameMaker: Studio GML Game Maker Language Yes 2D Windows, Windows 8, Xbox 360, Xbox One, PlayStation 3, PlayStation 4, PlayStation Vita, OS X, Ubuntu, HTML5, Android, iOS, Windows Phone 8, Tizen Hotline Miami, Spelunky, Undertale, Gunpoint, Hyper Light Drifter Proprietary Limited 3D abilities GamePlay3D C++ Lua Yes 3D Windows, Linux, OS X, iOS, BlackBerry 10, Android Apache 2.0 Aimed at the indie game developer ecosystem, similar features to cocos2d-x GameSalad Lang Script Yes 2D iOS, Android Proprietary Gamestudio C-Script, Lite-C No 3D Windows List Proprietary Games can be published royalty-free Gamvas JavaScript JavaScript Yes 2D HTML5 MIT HTML5 canvas game engine with Box2D integration Godot C++ GDScript Yes 2D, 2.5D, 3D Cross-platform MIT GoldSrc C, C++, Assembly Yes 3D Windows, OS X, Linux, PlayStation 2, Xbox, Dreamcast Half-Life, Team Fortress Classic, Half-Life: Opposing Force, Counter-Strike, Ricochet, Deathmatch Classic, Half-Life: Blue Shift, Half-Life: Decay, Day of Defeat, Counter-Strike: Condition Zero, Counter-Strike Neo, Counter-Strike Online Proprietary Highly modified Quake engine HeroEngine C++, C# HeroScript Language No 3D Windows Star Wars: The Old Republic Proprietary Horde3D C++ Yes 3D Windows, Linux EPL Small 3D rendering engine for large crowds of animated characters HPL Engine C++ AngelScript Yes 3D Windows, Linux, OS X Penumbra: Overture, Penumbra: Black Plague, Penumbra: Requiem, Amnesia: The Dark Descent, Amnesia: A Machine for Pigs, Soma Proprietary, GPL version 1 Cross-platform, compatible with OpenGL, OpenAL, and Newton Game Dynamics libraries; defining features include ability for advanced object interaction via use of Newton's physics code id Tech 1 (Doom) C ACS Yes 2.5D Windows, Linux, OS X Doom, Doom II, Heretic, Hexen, Strife, Chex Quest GPL 2D-based level geometry, sprites, and particles, uses clever methods to give illusion of 3D depth id Tech 2 (Quake) C QuakeC Yes 3D Windows, Linux, OS X Quake GPL First true 3D id Tech engine id Tech 2 (Quake II) C C Yes 3D Windows, Linux, OS X Quake II GPL Also termed the Quake II engine id Tech 3 C C Yes 3D Windows, Linux, OS X Quake III Arena GPL Also termed the Quake III engine id Tech 4 C++ C++ via DLLs Yes 3D Windows, Linux, OS X Doom 3, Doom 3 BFG Edition, Quake 4 GPL Also termed the Doom 3 engine; features advanced: lighting, shadows, interactive GUI surfaces id Tech 5 C++, AMPL, Clipper, Python Script Yes 3D Windows, OS X, Xbox 360, Xbox One, PlayStation 3, PlayStation 4 Rage, Wolfenstein: The New Order, Wolfenstein: The Old Blood, The Evil Within Proprietary First id Tech engine to feature MegaTexture technology, starting with Rage id Tech 6 Yes 3D Windows, Xbox One, PlayStation 4, Nintendo Switch Doom (2016), Wolfenstein II: The New Colossus Proprietary iMUSE N/A N/A Integrated with other engines Monkey Island 2: LeChuck's Revenge, all LucasArts adventure games afterwards Proprietary Dynamic music system Infinity Engine Yes 2D Windows, Mac OS, OS X, AmigaOS 4 Baldur's Gate, Planescape: Torment, Icewind Dale, Baldur's Gate II: Shadows of Amn, Icewind Dale II Proprietary INSANE N/A N/A Integrated with other engines Star Wars: Rebel Assault, Star Wars: Rebel Assault II: The Hidden Empire, Full Throttle Proprietary Video compression technology used to create high-quality full screen videos Irrlicht C++ Yes 3D Windows, Mac OS, Linux, Windows CE List of Irrlicht games zlib Open source, audio with extension ioquake3 C Yes 3D Windows, Linux, OS X Urban Terror GPL Iron Engine No 3D Windows Sins of a Solar Empire, Sins of a Dark Age Proprietary IW engine C++ Yes 3D Windows, OS X, PlayStation 4, PlayStation 3, Xbox One, Xbox 360, Wii U, Wii Call of Duty series Proprietary Originally built from id Tech 3 Jade Yes 3D Cross-platform List Proprietary Jake2 Java Yes 3D Cross-platform GPL Java port of Quake II game engine Java3D Java Yes 3D Cross-platform BSD Community-centric project. Last version 1.6.0 (April 2015). Used by many schools as part of course work Jedi C Yes 2.5D DOS, Windows Star Wars: Dark Forces, Outlaws Proprietary Rumored to have been reverse-engineered from Doom engine jMonkeyEngine Java Yes 3D Cross-platform BSD Community-centric project, used by several commercial game studios Kinetica No 3D PlayStation 2 List Proprietary Kivy (framework) Python Kv Yes 2.5D Windows, Linux, OS X, iOS, Android Deflectouch, FishLife MIT For rapid development, can make multi-touch apps LayaAir ActionScript 3, JavaScript, TypeScript Yes 2D, 3D WebGL, Windows, Linux, OS X, iOS, Android GPL or commercial 2D/3D game engine and also VR mode, provide free tools to convert 3d assets content from FBX files or Unity scene. Leadwerks C++ Lua Yes 3D Windows, Linux Hoodwink, Rogue System Proprietary LibGDX Java Yes 2D, 3D GNU/Linux, Windows, OS X, iOS, Android, Java applet, WebGL Ingress Apache 2.0 Java game development framework, provides a unified API that works across all supported platforms LithTech Yes 3D Cross-platform List Proprietary Lumberyard C++ Lua Yes 3D PlayStation 4, Xbox One, Windows Proprietary Luminous Studio Yes 3D PlayStation 4, Xbox One, Windows Final Fantasy XV Proprietary LyN Yes 3D Cross-platform List Proprietary Intended to scale effectively on 7th and 8th generation consoles M.U.G.E.N C Yes 2D Linux, DOS, Windows, OS X Freeware Used Allegro initially, now uses on SDL LÖVE Lua Lua Yes 2D iOS, Android, Windows, Linux, OS X, NetBSD, FreeBSD, OpenBSD, Solaris,and all platforms supported by pkgsrc[8] Mari0, Journey to the Center of Hawkthorne, Move or Die[9] zlib [10] Marmalade C++, Lua, Objective-C, HTML5 Lua, 2DKit Yes 2D, 3D iOS, Android, BlackBerry, Windows 10, Amazon, OS X, Windows, Tizen, Roku, Chromecast List of Marmalade Games Proprietary High-performance, cross-platform, with authoring tools and asset store MikuMikuDance C++ No 3D Windows Freeware Moai SDK C++ Lua Yes 2D Windows, OS X, iOS, Android, Linux Crimson Steam Pirates, Broken Age, Lost in Paradise CPAL MT Framework Yes 3D PlayStation 3, Xbox 360, Windows, Wii, Wii U, Nintendo 3DS, PlayStation Vita List Proprietary Intended to be 7th generation console engine, replaced by Panta Rhei MonoGame C# C# Yes 2D,3D Windows, OS X, Xbox One, PlayStation 4, PlayStation Vita, Windows Phone, iOS, Android, Windows Store, Ouya, BSD Skulls of the Shogun, Bastion, TowerFall, Transistor (video game), Fez (video game), Axiom Verge Microsoft Public Nebula Engine No 3D Windows Drakensang: The Dark Eye, Drakensang: The River of Time Proprietary [citation needed] NScripter No 2D Windows Freeware Odyssey Engine Yes 3D Windows, OS X Star Wars: Knights of the Old Republic, Star Wars: Knights of the Old Republic II: The Sith Lords Proprietary OGRE C++ C++ Yes 3D Linux, Windows (all major versions), OS X, NaCl, WinRT, Windows Phone 8, iOS and Android Torchlight MIT 3D rendering engine used by several games OHRRPGCE FreeBASIC HamsterSpeak Yes 2D Windows, OS X, Linux, Android Wandering Hamster GPL Role-playing game creation system; use of scripting is optional ONScripter NScripter NScripter Yes 2D Windows, OS X, Linux, Dreamcast, PSP, iOS Narcissu, Saya no Uta, Tsukihime GPL Used to develop visual novels and first-person adventure games OpenClonk C++ C4Script Yes 2.5D Windows, Linux, OS X OpenClonk ISC Engine for 2D action/strategy platformers with 3D graphics OpenSimulator C# LSL Yes 3D Windows, Linux, OS X, FreeBSD BSD Server platform to host virtual worlds, compatible with Second Life clients ORX C/C++ Custom Yes 2.5D Windows, Linux, OS X, iOS, Android Le Magasin des Suicides zlib 3D accelerated Panda3D C++, Python Python Yes 3D Windows, Linux, OS X, iOS Toontown Online, Pirates of the Caribbean Online BSD Panta Rhei Yes 3D PlayStation 4, Xbox One, Windows Deep Down Proprietary Successor to MT Framework for 8th generation consoles Phaser JavaScript JavaScript Yes 2D Cross-platform MIT PhyreEngine C++ Yes 3D PC, PlayStation Portable, PlayStation Vita, PlayStation 3, PlayStation 4 List proprietary, Freeware Pie in the Sky C Yes 2.5D DOS, Windows, OS X List Proprietary PlayCanvas JavaScript JavaScript Yes 3D Windows Linux OS X iOS HTML5 Android Swoop, Zombie Pac-man MIT Users can work on game at the same time via online browser and publish to multiple platforms; engine uses WebGL and includes physics PlayN Java Yes 2D iOS, Android, HTML5, Windows, Linux Angry Birds Chrome Apache 2.0 PLIB C++ Yes 3D Windows, Linux, OS X LGPL Pyrogenesis C++ JavaScript Yes 3D Windows, Linux, OS X 0 A.D. LGPL Designed for RTS games Q Yes 3D Windows, OS X , Linux, PS2, PS3, Wii Proprietary Qfusion C/C++ AngelScript Yes 3D Windows, Linux, OS X, Android Warsow GPL Real Virtuality C++ Yes 3D Windows, Xbox ARMA 2, ARMA 3, DayZ Proprietary REDengine C++ Yes 3D Windows, OS X, Xbox 360, Xbox One, PlayStation 4 The Witcher 2: Assassins of Kings, The Witcher 3: Wild Hunt Proprietary Ren'Py Python Pygame Yes 2D Windows, OS X, Linux, Android, OpenBSD Analogue: A Hate Story, Jisei, Katawa Shoujo MIT Used to develop visual novels and first-person adventure games RenderWare RWX Yes 3D Windows, Mac OS, Nintendo GameCube, Wii, Xbox, Xbox 360, PlayStation 2, PlayStation 3, PlayStation Portable List of RenderWare games Proprietary RenderWare script available in version 2 only Riot Engine Yes 3D Windows, PlayStation 2 Drakan: Order of the Flame, Drakan: The Ancients' Gates, The Lord of the Rings: The Fellowship of the Ring, The Suffering, The Suffering: Ties That Bind Proprietary Rockstar Advanced Game Engine (RAGE) Yes 3D Windows, PlayStation 3, PlayStation 4, Wii, Xbox 360, Xbox One List Proprietary RPG Maker Ruby, JavaScript Yes 2D PC-8801, MSX2, PC-9801, Super Famicom, Windows, Sega Saturn, PlayStation, Game Boy Color, PlayStation 2, Game Boy Advance, Nintendo DS Alpha Kimori, Ao Oni, Aveyond series, Barkley, Shut Up and Jam: Gaiden, Corpse Party, Eternal Eden, Laxius Force, One Night Trilogy, Super Columbine Massacre RPG!, To the Moon, Yume Nikki Proprietary Game creation system, allows users to build their own role-playing games SAGE Yes 3D Windows, Macintosh, Xbox 360, PlayStation 3 List Proprietary Used for real-time strategy games SCUMM Yes 2D 3DO, Amiga, Apple II, Atari ST, CDTV, Commodore 64, FM Towns & Marty, Macintosh, Nintendo Entertainment System, DOS, Windows, Sega Mega-CD, TurboGrafx-16/PC Engine Maniac Mansion Proprietary Full name is Script Creation Utility for Maniac Mansion, from the first game it was used with; uses iMUSE and INSANE; ScummVM provides an open source re-creation Shark 3D C++ Python Yes 3D Windows, Xbox, Xbox 360 Dreamfall: The Longest Journey Proprietary ShiVa C++ Lua Yes 3D Windows, OS X, Linux, iOS, Android, Windows Phone, BlackBerry, PlayStation 3, PlayStation 4, Wii, Xbox 360, Xbox One, WebGL Prince of Persia 2: The Shadow and the Flame (Mobile remake) Proprietary Sierra's Creative Interpreter (SCI) Yes 2D Amiga, Atari ST, Macintosh, PC-9801, IBM PC Version list with games Proprietary Silent Storm engine No 3D Windows Silent Storm, Night Watch, Hammer & Sickle, Day Watch Proprietary Used for turn-based tactics games Sith COG No 3D Windows Star Wars Jedi Knight: Dark Forces II Proprietary Used as the basis of the GrimE engine Snowdrop C++ Yes 3D Windows, Switch, PlayStation 4, Xbox One Tom Clancy's The Division, South Park: The Fractured but Whole, Mario + Rabbids Kingdom Battle, Skull & Bones Proprietary Source C++ Squirrel, Lua Yes 3D Windows, OS X, Linux, PlayStation 3, Xbox, Xbox 360, Android Half-Life 2, Counter-Strike: Source, Left 4 Dead, Portal, Team Fortress 2, others (list) Proprietary The SDK is bundled with many Source games Source 2 C++ Lua Yes 3D Windows, OS X, Linux Dota 2 Proprietary The first game using Source 2, Dota 2, was ported over from the original Source engine Spring C++ C, C++, Java/JVM, Lua, Python Yes 3D Windows, Linux, OS X Balanced Annihilation, Zero-K GPL RTS, simulated events, OpenGL Starling Framework ActionScript Yes 2D Windows, OS X, GNU/Linux, iOS, Android Angry Birds Friends, Incredipede BSD Simplified Recreates the traditional Flash display list architecture on accelerated graphics hardware Stencyl Haxe Haxe Yes 2D Flash, HTML5, iOS, Android, Linux, OS X, Windows Proprietary Free to publish to flash and HTML5. Subscription required for publishing to desktop or mobile. StepMania C++ Lua Yes 3D Cross-platform In the Groove, Pump It Up Pro, Pump It Up Infinity MIT A rhythm video game and engine that was originally developed as a simulator of Konami's DDR Stratagus C Lua Yes 2D Linux Bos Wars GPL For real-time strategy games SunBurn XNA No 3D Xbox Live AvaGlide Proprietary Three.js JavaScript JavaScript Yes 3D, 2D HTML5, Windows, Linux, OS X, iOS, Android MIT TOSHI Yes 3D Windows, Nintendo GameCube, Game Boy Advance, Nintendo DS, Wii, PlayStation 2, Xbox Jurassic Park: Operation Genesis, Nicktoons Unite!, Barnyard, El Tigre: The Adventures of Manny Rivera, de Blob, Marvel Super Hero Squad Proprietary Truevision3D Visual Basic, C++ No 3D Windows Proprietary Torque3D C++ TorqueScript Yes 3D Windows, Linux, OS X (no longer supported) Marble Blast Gold, ThinkTanks, Tribes 2, Villagers and Heroes, Blockland MIT Includes multiplayer network code, seamless indoor-outdoor rendering engines, skeletal animation, drag and drop GUI creation, built in world editor, C-like scripting language Turbulenz TypeScript JavaScript Yes 2D, 3D HTML5, iOS, Android Polycraft, Save the Day, Score Rush MIT UbiArt Framework Yes 2.5D Cross-platform Rayman Origins, Rayman Legends, Child of Light, Valiant Hearts: The Great War Proprietary Unigine C++ UnigineScript Yes 3D Windows, Linux, OS X, PlayStation 3, Android, iOS List Proprietary Unity C, C++, C#, Java Mono, UnityScript ("also known as JavaScript for Unity"[11]), C#, Boo,[12]Cg, HLSL Yes 2D, 3D Windows, OS X, Linux Xbox 360, Xbox One, Wii U, New 3DS, PlayStation 4, PlayStation Vita, Windows Phone, iOS, Android, BlackBerry 10, Tizen, Unity Web Player, Windows Store, WebGL, Oculus Rift, Gear VR, Android TV, Samsung Smart TV List of Unity games Proprietary Unreal Engine C++ GLSL, Cg, HLSL, UnrealScript, C++, Blueprints Yes 3D Cross-platform List of Unreal Engine games Proprietary UnrealScript was removed in version 4 V-Play Game Engine C++ QML, JavaScript Yes 2D iOS, Android, Windows, OS X List Proprietary Built on Qt Vengeance Engine C++ No 3D Windows Tribes: Vengeance, SWAT 4 Proprietary Based on Unreal Engine version 2/2.5 Vicious Engine Lang Script Yes 3D Nintendo GameCube, Wii, WiiWare, Xbox, Xbox 360, Xbox Live Arcade, PlayStation 2, PlayStation Portable, PlayStation Network, Windows List Proprietary Virtools Yes 3D Ballance Proprietary Used for game prototyping and rapid development Vision Lang Script Yes 3D Windows, Xbox 360, PlayStation 3, Wii, Wii U, iOS, Android, PlayStation Vita, IE6 and up, Firefox 2.0 and up, Google Chrome, Opera 9 and up List Proprietary Visual3D Game Engine C#/.NET Yes 3D Windows, Xbox 360 Proprietary Commercial successor to open-source RealmForge engine Visual Pinball C++ VBScript No 3D Windows MAME-like pre-0.172, then BSD, GPL VRAGE C# Yes 3D Windows, Xbox One Miner Wars 2081, Space Engineers Proprietary Source code was released under a commercial license Wintermute Engine C-like syntax No 2.5D Windows Donationware, MIT, LGPL Lite version lacks 3D Actor function World Builder No 2D System 3 Freeware WorldForge C++ Lua (client), Python (server) Yes 3D GPL MMORPG framework made of libraries, server, client, media X-Ray Engine No 3D Windows S.T.A.L.K.E.R.: Shadow of Chernobyl, S.T.A.L.K.E.R.: Clear Sky, S.T.A.L.K.E.R.: Call of Pripyat Proprietary Xenko C# C# Yes 2D/3D Cross-platform GPL (v1), proprietary (v2) Supports C# 6.0 XnGine No 3D DOS The Terminator: Future Shock, The Terminator: SkyNET, TES 2: Daggerfall, TES Legends: Battlespire, TES Adventures: Redguard Proprietary Zest3D ActionScript 3, C++ Lua Yes 3D Web, Windows, Linux, OS X, Android, iOS, BlackBerry Boost Zillions of Games Zillions Rules No 2D Windows Proprietary Name Primary programming language Scripting Cross-platform 2D/3D oriented Target platform Notable games License Notes and references

en.wikipedia.org


Смотрите также