Ім'я файлу: Referat.docx
Розширення: docx
Розмір: 572кб.
Дата: 21.10.2021
скачати

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ.ПРОФ.М.А.БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Санкт-Петербургский колледж телекоммуникаций


РЕФЕРАТ


Тема: Игровые движки


















Обучающийся

_________________

Дизер А.В.







«20» марта 2020 г.





































Оценка реферата

_________________

Хорохорина А.А.







«20» марта 2020 г.


Санкт-Петербург

2020

conten

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ 1

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ.ПРОФ.М.А.БОНЧ-БРУЕВИЧА» 1

(СПбГУТ) 1

Санкт-Петербургский колледж телекоммуникаций 1

What is a game engine? Not all dictionaries contain a definition of this phrase. But if we try to find the answer to this question ourselves, then it will most likely be:"the Game engine is a software component that allows us to create and run video games." It provides developers with the tools to create most of the game's components, and then allows them to put them together. The game engine affects all components of the game, from rendering, physics, sound design, scripting, AI creation, and ending with network aspects. And if you can't create something with it, you can create it in a specialized program and then import it into the game. 3

As far as you know, there are now a huge number of game engines , ranging from well- known brands such as Quake and Unreal, which developers and publishers can buy at a fairly impressive price, ending with engines that developers create specifically for their projects. 3

Список используемых источников 10

Introduction.. 3

Game Engine 3

The most famous engines 5

Unreal Engine 6

Unity Engine 7

Comparison Unity and Unreal 8

Conclusion 9

Список используемых источников 10


Introduction

What is a game engine? Not all dictionaries contain a definition of this phrase. But if we try to find the answer to this question ourselves, then it will most likely be:"the Game engine is a software component that allows us to create and run video games." It provides developers with the tools to create most of the game's components, and then allows them to put them together. The game engine affects all components of the game, from rendering, physics, sound design, scripting, AI creation, and ending with network aspects. And if you can't create something with it, you can create it in a specialized program and then import it into the game. As far as you know, there are now a huge number of game engines , ranging from well- known brands such as Quake and Unreal, which developers and publishers can buy at a fairly impressive price, ending with engines that developers create specifically for their projects.
Game engine

A game engine, also known as a game architecture, game framework or game frame, is a software-development environment designed for people to build video games. Developers use game engines to construct 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. Implementers often economize on the process of game development by reusing/adapting, in large part, the same game engine to produce different games or to aid in porting games to multiple platforms.

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. As of 2001, Gamebryo, JMonkeyEngine and RenderWare were such widely used middleware programs.
Main game program

The actual game logic has to be implemented by some algorithms. It is distinct from any rendering.

Rendering engine

The rendering engine generates animated 3D graphics by any of a number of methods (rasterization, ray-tracing etc.). 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, OpenGL, or Vulkan 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. Often a Scripting Language like Javascript / ECMAScript gets added as the second layer to speed up the development.

Audio engine

The audio engine is the component which consists of algorithms related to the loading, modifying and output of sound through the client's speaker system. At a minimum it must be able to load, decompress and play sound files. More advanced audio engines can calculate and produce such things as Doppler effects, echoes, pitch/amplitude adjustments, oscillation, etc. It can perform calculations on the CPU, or on a dedicated ASIC. Abstraction APIs, such as OpenAL, SDL audio, XAudio 2, Web Audio, etc. are available.
Physics engine

The physics engine is responsible for emulating the laws of physics realistically within the application. Specifically, it provides a set of functions for simulating physical forces and collisions, acting on the various objects within the game at run time.

Artificial intelligence

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. Most games will implement very different AI systems, and thus, AI is considered to be specific to the particular game for which it is created. Many modern game engines come packaged with search algorithms such as A-star and subroutines for baking level geometry into a Navmesh which can help speed up the process of scripting AI behavior.
The most famous engines

RAGE

GTA III, Vice City, San Andreas and Bully despite their brilliance were not created on the internal engine of Rockstar, instead they used the engine of the company Criterion "Renderware". Red Dead Revolver is a popular publisher for the idea of creating its own engine for a new generation of consoles. With dreams of a great sequel that no other game engines could achieve, the San Diego branch of Rockstar started working on the RAGE game engine back in 2004, in order to try it out for the first time in their upcoming game Red Dead Redemption. And according to the developers, at least one more game will be added to the three games that have already been released on this engine in 2010. And this is exactly the coveted sequel to Red Dead Redemption.

RAGE has a lot of advantages. Among them, it is worth noting the ability to create vast worlds, complex AI, weather effects, fast network code and a large variety of game styles, all of which we just proved GTA IV. Also, this engine is quite friendly to the symbiosis with other game engines. For example, with the now popular euphoria engine from NaturalMotion, which approached Rageb just as well, the physical engine of Yervin Coumans, responsible for the game simulation of bullets, fit in with RAGE. And what is more surprising, this engine is still very young and ready for further development.

CryEngine

It didn't take long for the German developers from CryTek to create a big name for themselves. Their first game, "Far Cry", was a discovery for everyone. While the world, as expected, was waiting for the appearance of Half-life 2, Doom 3 and S. T. A. L. K. E. R., which, according to many, should have marked the emergence of a new generation of PC games, CryTek was ahead of everyone by a step, releasing its shooter, created on the internal engine of the Studio "CryEngine". Three years later, their new game Crysis developed on the second version of the engine "CryEngine 2" again achieved the same success, setting a new visual bar in the game building. The next taken peak should be Crysis 2, developed already on the third version of the engine "CryEngine 3". With it, Crytek will try to capture the console market already.

According to CryTek, CryEngine 3 will be the first engine on the Xbox 360 and PlayStation 3 that will allow developers to work with the capabilities of DirectX 10 unlike most competitors, this engine does not need allies among other additional game engines. It can work with the game's physics, sound, and animation. With this engine, games will be able to achieve high visual heights. Actually, it is thanks to them that Crytek became so popular.
Let's talk about the next engines in more detail


Unreal Engine




The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although initially developed for first-person shooters, it has been successfully used in a variety of other genres, including platformers, fighting games, MMORPGs, and other RPGs. With its code written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today, with it being source-available. The most recent version is Unreal Engine 4, which was released in 2014.

The first-generation Unreal Engine was developed by Tim Sweeney, the founder of Epic Games. Having created editing tools for ZZT (1991) and Jill of the Jungle (1992), Sweeney began writing the engine in 1995 for the production of a game that would later become a first-person shooter known as Unreal. After years in development, it debuted with the game's release in 1998, although MicroProse and Legend Entertainment had access to the technology much earlier, licensing it in 1996. According to an interview, Sweeney "wrote 90 percent of the code in the engine."

Among its features were collision detection, colored lighting, and a limited form of texture filtering. The engine also integrated a level editor, UnrealEd, that had support for real-time constructive solid geometry operations as early as 1996, allowing mappers to change the level layout on the fly. Even though Unreal was designed to compete with id Software, developers of Doom and Quake, the game was praised by John Carmack for the use of 16-bit color and the implementation of ambient effects such as volumetric fog. "I doubt any important game will be designed with 8-bit color in mind from now on. Unreal has done an important thing in pushing toward direct color, and this gives the artists a lot more freedom," he said in an article written by Geoff Keighley for GameSpot. "Light blooms [the spheres of light], fog volumes, and composite skies were steps I was planning on taking, but Epic got there first with Unreal. "Another notable feature was the introduction of real-time direct illumination in 1995.

Most often, 3D engines or rendering systems in game engines are built on a graphics API, such as Direct3D or OpenGL, which provides software abstraction of the GPU or video card. Low-level libraries, such as DirectX, SDL, and OpenAL, are also used in games because they provide hardware-independent access to other computer hardware, such as input devices (mouse, keyboard, and joystick), network cards, and sound cards. Before the advent of hardware-accelerated 3D graphics, software Visualizers were used. Software rendering is still used in some modeling tools for rendering images where visual confidence is more important than performance (frames per second) or when the computer hardware does not meet the requirements, such as shaders.

Unity Engine
U nity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Inc.'s Worldwide Developers Conference as a Mac OS X-exclusive game engine. As of 2018, the engine had been extended to support more than 25 platforms. The engine can be used to create three-dimensional, two-dimensional, virtual reality, and augmented reality games, as well as simulations and other experiences. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering and construction.

Several major versions of Unity have been released since its launch. The latest stable version, 2019.3.2, was released in February 2020.

The Unity game engine launched in 2005, aiming to "democratize" game development by making it accessible to more developers. The next year, Unity was named runner-up in the Best Use of Mac OS X Graphics category in Apple Inc.'s Apple Design Awards. Unity was initially released for Mac OS X, later adding support for Microsoft Windows and Web browsers.

Unity 2.0 launched in 2007 with approximately 50 new features. The release included an optimized terrain engine for detailed 3D environments, real-time dynamic shadows, directional lights and spotlights, video playback, and other features. The release also added features whereby developers could collaborate more easily. It included a Networking Layer for developers to create multiplayer games based on User Datagram Protocol, offering Network Address Translation, and State Synchronization and Remote Procedure Calls.
Сomparison Unity and Unreal

Each engine has its own strengths for different tasks. Unity is suitable for beginners and Amateurs, while Unreal is strictly for professional developers.
The Unreal Engine feature set is better suited for three- dimensional projects , while Unity has a huge track record on mobile devices. If you are going to make a mobile game , or you have a VR project with a small budget, choose Unity. If you are making an expensive game for consoles with an experienced development team, use Unreal Engine 4.

In UE4, animations can be edited, but not in Unity. the situation is especially bad with humanoid movements. According to the author , the engines are not suitable for professional character animation — it is better to use programs like Blender or Maya, and import the result as FBX files . The material attached to objects is added to the project, but its properties, such as shaders or textures, will have to be applied manually.
Unity 5 supports C# and UnityScript. The API and its concept are very similar to its ue4 counterpart. When using a managed language like C#, the programmer is not required to use pointers , and compilation is fast. Unity doesn't have a visual scripting system , and to use something like this, the developer has to buy third-party addictions like Playmaker.
UE4 has built- in postprocessing. You can apply the bloom effect, toning, and antialiasing to a scene globally, or to individual parts of it ( using the PostProcessVolume component).

Unity has a postprocessing stack that can be downloaded from the engine's asset store . The system is less flexible than in UE4- effects are applied only by the stack or scripts to the camera.


Conclusion

Let's remember what game engines are. A game engine, also known as a game architecture, game framework or game frame, is a software-development environment designed for people to build video games. Developers use game engines to construct games for consoles, mobile devices, and personal computers. Game engines have made a huge contribution to the development of computer games. Now millions are being earned in this area and in the future it will also be in demand.

Список используемых источников


  1. GameDev.ru / Программирование / Термины / Движок (игровой движок) [Электронный ресурс]. — Режим доступа: http://www.gamedev.ru/...

  2. Чеканов Д. Анатомия игровых движков [Электронный ресурс]. — Режим доступа: http://www.3dnews.ru/...

  3. Википедия. Физический движок [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org/...

  4. Википедия. Звуковой движок [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org/...




скачати

© Усі права захищені
написати до нас