Rabu, 27 Juni 2018

Sponsored Links

Autodesk Discontinues Game Engine Middleware Line | Animation ...
src: d1xfgk3mh635yx.cloudfront.net

game engine is a software development environment designed for people to create video games. Developers use it to create games for consoles, mobile devices, and personal computers. Core functions are usually provided by game engines including rendering machines for 2D or 3D graphics, physics or crash detection machines (and crash responses), sounds, scripts, animations, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graphics, and possibly including cinematic video support. The game development process is often feared, in large part, by reusing/adapting the same game engine to create different games or making it easier to port games to multiple platforms.


Video Game engine



Destination

In many cases, the game engine provides a set of visual development tools in addition to reusable software components. These tools are generally provided in an integrated development environment to enable the development of simplified and fast games in a data driven way. Game engine developers are trying to "create the wheel" by developing powerful software that includes many elements that game developers may need to create games. Most game suite engines provide facilities that facilitate development, such as graphics, sound, physics, and AI functions. These game machines are sometimes called "middleware" because, as with business sense, they provide a flexible and reusable software platform that provides all the core functions needed, right from the box, to develop game applications while reducing costs, complexity, and time-to-market - all the key factors in the highly competitive video game industry. In 2001, Gamebryo, JMonkeyEngine and RenderWare are widely used middleware programs.

Like other types of middleware, game engines usually provide an abstraction platform, allowing the same games to run on multiple platforms including game consoles and personal computers with little, if any, changes made to game source code. Often, game engines are designed with component-based architecture that allows certain systems in the machine to be replaced or expanded with more specialized (and often more expensive) middleware components. Some game engines are designed as a series of loosely connected gaming middleware components that can be selectively combined to create a specialized machine, rather than a more general approach to expand or adapt flexible integrated products. However, expansion can be achieved, remains a high priority for game engines due to the wide range of uses that are applied. Regardless of the specificity of its name, the game engine is often used for other types of interactive applications with real-time graphic needs such as marketing demos, architectural visualizations, training simulations, and modeling environments.

Some game engines only provide 3D rendering capabilities in real-time rather than the various functions required by the game. This engine relies on game developers to apply the rest of this functionality or assemble it from other game middleware components. These types of machines are commonly referred to as "graphics engines," "rendering machines," or "3D machines" rather than the broader term "game machine." This terminology is not consistently used because many full-featured 3D game machines are referred to simply as "3D machines." Some examples of graphics engines are: Crystal Space, Genesis3D, Irrlicht, OGRE, RealmForge, Truevision3D, and Vision Engine. Modern games or graphics engines generally provide scene graphics, which are object-oriented representations of the 3D gaming world that often simplify game design and can be used for more efficient rendering of cyberspace.

As technology ages, machine components may become obsolete or insufficient for the given project requirements. Due to the entirely new machine programming complexity can lead to undesirable delays (or require the project to be completely restarted), the development team may choose to update existing machines with newer functions or components.

Maps Game engine



Components

Such a framework consists of many very different components.

Play game program

The actual game logic should be applied by some algorithm. This is different from any rendering, sound or input job.

Rendering engine

The rendering engine produces 3D animated graphics with the chosen method (rasterization, ray-tracing or different techniques).

Instead of being programmed and compiled to be executed on a CPU or GPU directly, the rendering engine is most often built on one or more rendering application program interfaces (APIs), such as Direct3D, OpenGL, or Vulkan which provides graphics processing unit graphics abstractions 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 3D acceleration graphics, software rendering has been used. Software rendering is still used in some modeling tools or for images that are still displayed when visual accuracy is judged more than real-time performance (frames per second) or when computer hardware does not meet needs such as shader support.

With the advent of physics hardware acceleration processing, various physics APIs such as PAL and the COLLADA physics extension become available to provide physics processing unit abstraction software from different middleware providers and console platforms.

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

Audio engine

The audio engine is a component consisting of algorithms related to the loading, modification and output of sound through the client speaker system. Minimum should be able to load, parse, and play sound files. More sophisticated audio engines can calculate and produce things like Doppler effects, echoes, pitch/amplitude adjustments, oscillations, etc. It can perform calculations on the CPU, or on a dedicated ASIC. API abstraction, such as OpenAL, SDL audio, XAudio 2, Web Audio, etc. Available.

Physics Machine

The physics engine is responsible for imitating the laws of physics realistically in applications. Specifically, it provides a set of functions to simulate physical strength and collisions, acting on various in-game objects at run time.

Artificial Intelligence

AI is usually outsourced from the main game program into specialized modules to be designed and written by software engineers with specialized knowledge. Most games will implement a very different AI system, and as such, AI is considered special for a particular game being created. Many modern game machines are packed with search algorithms such as A-star and subroutine to roast level geometry to Navmesh that can help speed up the process of AI scripting behavior.

Tutorial 00: Skyline Game Engine First Steps ( OUT OF DATE ) - YouTube
src: i.ytimg.com


History

Prior to the game engine, games are usually written as single entities: games for Atari 2600, for example, should be designed from the ground up to optimize the use of display hardware - this current core view routine is called kernel by retro developers. Other platforms have more leeway, but even when the display is not a concern, memory constraints usually sabotage attempts to create the data-heavy designs that the machine needs. Even on a more accommodative platform, very little can be reused between games. The rapid advancement of arcade hardware - which was the spearhead of the market at the time - meant most of the code had to be discarded afterwards, as the next generation of games would use completely different game designs that made use of additional resources. Thus most of the game designs through the 1980s were designed through hard rules with a small number of levels and graph data. Since the golden age of arcade video games, it became common for video game companies to develop in-house gaming machines for use with first-party software.

While third-party game machines were not common until the advent of 3D computer graphics in the 1990s, there were several 2D game-making systems produced in 1980 for the development of independent video games. These include Pinball Construction Set (1983), ASCII's War Game Construction Kit (1983), Thunder Force Construction (1984), Adventure Construction Set (1984), GameMaker Garry Kitchen (1985), Wargame Construction Set (1986), Shoot'Em- Up Construction Kit (1987), Arcade Game Construction Kit (1988), and the most popular is RPG Maker ASCII machine from 1998 onwards. Click & amp; Play (1994) is another legacy offer that is still available.

The term "game engine" emerged in the mid-1990s, especially in relation to 3D games like the first person shooter (FPS). ( See also: first person shooter.) That's how the ID Software's and Quake popularity is, rather than working from scratch, other developers licensing the core parts of the software and designing their own graphics, characters, weapons, and levels - "game content" or "game assets". Separation of rules and game-specific data from basic concepts such as collision detection and game entities means that teams can grow and specialize.

Then games, such as the Software Id of Quake III Arena and Epic Games 1998 Unreal are designed with this approach in mind, with engines and content developed separately. The practice of licensing the technology has proven to be an additional revenue stream beneficial to some game developers, since a license for a high-end commercial gaming machine can range from US $ 10,000 to millions of dollars, and the number of licenses can reach several dozen companies, as seen with Unreal Engine. At the very least, reusable machines make game development faster and easier, which is a valuable advantage in the competitive video game industry. Despite the intense competition between Epic and id around 2000, Epic's Unreal Engine has since been much more popular than Tech 4 and its successor, Tech 5.

Modern game machines are some of the most complex applications written, often featuring dozens of well-tuned systems for interaction to ensure a properly controlled user experience. The constant evolution of game engines has created a powerful separation between renderings, scripts, artwork, and level design. It is now common, for example, for typical game development teams to have several times as many artists as real programmers.

Game first-person shooter remains the dominant third-party game machine user, but they are now also used in other genres. For example, the role play role-playing video of The Elder Scrolls III: Morrowind and MMORPG Dark Age of Camelot based on Gamebryo machines, and MMORPG Genealogy II < based on Unreal Engine. Game machines are used for games that were originally developed for home consoles as well; for example, the RenderWare engine is used in Grand Theft Auto and Burnout .

Threading is increasingly important because of modern multi-core systems (eg Cell) and increasing demands in realism. Typical threads involve rendering, streaming, audio, and physics. Racing games are usually at the forefront of threading with a physics engine running in a separate thread long before other core subsystems are moved, partly because rendering and related tasks need updating only at 30-60 Hz. For example, on the PlayStation 3, physics ran at Need For Speed ​​<100/H> in 100Ã, Hz versus Forza Motorsport 2 at 360Ã, Hz.

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

As game engine technology matures and becomes easier to use, the game engine application has expanded its scope. They are now used for serious games: visualization, training, medical, and military simulation applications, with CryEngine being one example. To facilitate this accessibility, new hardware platforms are now targeted by game engines, including mobile phones (eg Android phones, iPhones) and web browsers (eg WebGL, Shockwave, Flash, Trinity WebVision, Silverlight, Unity Web Player, O3D, and pure DHTML ).

In addition, more gam machines are built on higher level languages ​​such as Java and C #/. NET (eg TorqueX, and Visual3D.NET), Python (Panda3D), or Lua Script (Leadwerks). Because most of the rich 3D games are now mostly limited GPUs (ie limited by the power of the graphics card), the potential for slowdown because translation costs from higher level languages ​​become meaningless, while the increased productivity offered by these languages ​​works for game engines. benefit developers. This latest trend is driven by companies like Microsoft to support Indie game development. Microsoft developed XNA as the preferred SDK for all video games released on Xbox and related products. This includes the Xbox Live Indie Game channel designed specifically for smaller developers who do not have the vast resources needed for box games to be sold on retail shelves. It's easier and cheaper than ever to develop game engines for platforms that support managed frameworks.

3D Game Engine for Cycles - BlenderNation
src: media.blendernation.com


Game middleware

In a broad sense, the game engine itself can be described as a middleware. However, in the context of video games, the term "middleware" is often used to refer to subsystem functionality in game games. Some game middleware only do one thing but do it more convincingly or more efficiently than general purpose middleware. For example, SpeedTree is used to create realistic trees and vegetation in a video game role-play Elder Scrolls IV: Oblivion and Fork Particles is used to simulate and create visual effects of particles or real-time particle effects in Sid Meier's Civilization V.

Four of the most widely used middleware packages that provide functionality subsystems include RAD Game Tools' Bink, Firampight 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 audio and equipment library. Havok provides a powerful physics simulation system, along with a series of animation and behavioral 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 optimization - for example 'Simplygon' helps to optimize and produce detailed snare rate, and 'Umbra' adds the inhalation deflection of occlusion to the 3d graph.

Some middleware contain complete source code, others only provide API references for the compiled binary libraries. Some middleware programs may be licensed in any way, usually at a higher cost to the full source code.

How Game Engines Work! - YouTube
src: i.ytimg.com


First person shooter

Part of the gaming machine is a 3D first-person shooter (FPS) game engine. Innovative development in terms of visual quality is done in FPS games on a human scale. While aviation and driving simulators and real-time strategy games (RTSs) are increasingly delivering realism on a large scale, first-person shooters are at the forefront of computer graphics on this smaller scale.

The development of the FPS graphics engine that appears in the game can be characterized by a steady increase in technology, with some breakthroughs. Attempts to define different generations lead to a random selection of what is a modified version of the "old machine" and what is a new machine.

Classification is tricky because game machines combine old and new technologies. Features that are considered advanced in the new game one year become the standard expected next year. Games with a mixture of older generations and newer features are the norm.

Attila Jenei - News - Game Engine Architecture - SlideShare
src: www.attilajenei.com


See also

  • List of game engines
  • List of first-person shooters
  • 3D computer graphics
  • List of game middleware
  • The authoring system

NeoAxis 3D Game Engine 1.3 Announcement | NeoAxis 3D Engine
src: www.neoaxis.com


References

Source of the article : Wikipedia

Comments
0 Comments