Dj-Mails.com
Get paid for sharing your links - Receive $5.00 just for signing up!

11 March, 2008

The Game Engine

A game engine is the core software component of a computer video game or other interactive application with real-time graphics. It provides the underlying technologies, simplifies development, and often enables the game to run on multiple platforms such as game consoles and desktop operating systems such as Linux, Mac OS X, and Microsoft Windows. 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, and a scene graph. The process of game development is frequently economized by in large part reusing the same game engine to create different games.


Overview

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. These game engines are sometimes called "game 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.

Like other middleware solutions, graphics 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 middleware is 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) middleware components such as Havok for physics, FMOD for sound, or SpeedTree for rendering. Some game engines such as RenderWare are even designed as a series of loosely connected 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 solution. However extensibility is achieved, it remains a high priority in games 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 requirements such as marketing demos, architectural visualizations, training simulations, and modeling environments.
Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality required 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." However, 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: RealmForge, Ogre, Power Render, Crystal Space, Genesis3D, Irrlicht and JMonkey 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.

Hardware abstraction

Most often, 3D engines or the rendering systems in game engines are built upon a graphics API such as Direct3D or OpenGL which provides a software abstraction of the GPU or video card. Low-level libraries such as DirectX, SDL, and OpenAL 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 requirements such as shader support or, in the case of Windows Vista, support for Direct3D 10.

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

History

The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as first-person shooters (FPS). 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."

Later games, such as 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 single license for a high-end commercial game engine can range from US$10,000 to $3,750,000 (in the case of Warcraft III), and the number of licensees can reach several dozen companies (as for the Unreal Engine). At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive computer game industry.

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

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 RPG Morrowind and the MMORPG Dark Age of Camelot are based on the NetImmerse 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 (i.e. Sony's PPE) 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 sub-systems were moved, partly because rendering and related tasks only require updating at 30-60 Hz. For example, Need For Speed on the Playstation ran its physics at 100 Hz as compared to Forza Motorsport 2 running its physics 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 AGI and SCI systems, LucasArts' SCUMM system and Incentive Software's Freescape engine. However, 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).

FPS game engines

A well-known 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. 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 at smaller, more human 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 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 didn't 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[citation needed], 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.

What do we mean by ‘Virtual World’?




Photosynth looks like an amazing piece of technology, but I’m not quite following Techcrunch’s logic in this post. It sounds to me as though they’re confusing a 3D environment with a virtual world. Photosynth may allow people to build a photorealistic representation of the world, so it easily goes that this is virtual but is that actually the same as what we mean by a virtual world?

The three basic rules for virtual worlds as I understood it were that it had to be persistent, social and have a dynamic economy. From Blaise’s speech it sounds like a social element in the form of tagging is planned and I guess it would be simple enough to implement chat/message functions as well. The ‘persistent’ bit would be straightforward enough, the world would be constantly changing as more people added photos to it and presumably those photos would also incorporate changes to the real environment such as grafitti, new buildings etc.

But I’m struggling a bit with the dynamic eceonomy bit. Maybe I’m being too conservative and a dynamic economy isn’t an essential component of a virtual world, or buying and selling, virtual or otherwise, could be added to the 3D representations of RL earth. Of course if in-world virtual goods were being sold there would have to be something to sell them too, avatars or 3D representations of people’s houses, businesses or flats (all sorts of issues here, but I’m not going to get caught up in that right now).

But I believe there is a fourth rule that makes a 3D space a ‘world’ and that isit needs to have some kind of mythology, in the broadest sense of the term. I came across Bob Sutor’s (IBM’s vice president of standards and opensource) blog at 3pointD, on it he is in the process of outlining 10 virtual world requirements. Although he’s only at number 4 so far, and he already agrees with me on the NPC and AI front, bt I’m also hoping he acknowledges the role of mythology.

Virtual worlds need a sense of history and ideals, they need to feel like they are more than just pretty 3D graphics and economies or they’d feel like a glorified Myspace or Ebay. Obviously this is easier for worlds like Lord of the Rings Online and World of Warcraft that have tight fictional boundaries, but in many ways it’s true of Second Life - it’s modelled on Neal Stephenson’s Metaverse and many of the residents view it that way. Whether mythologies exist for players of other MMOs I don’t know, and my argument hinges on that fact, but what kind of mythology would a 3D world based on photosynth have?

Would it ever acheive a status beyond that of a very accurate replication of RL earth or would it develop its own agency, a kind of alternative or counter-earth if you wish?

10 March, 2008



Video Games

Video games are played at the arcade, at home on a television or personal computer, and as a handheld portable game. They are packaged in large consoles, game paks that can only be played on the same manufacturer's hardware (i.e. Nintendo, Sega Genesis, and Sony Playstation), and as CD-ROMs. Made up of a program that instructs the computer to display specific visual and audio effects, video games utilize cutting-edge technology in order to provide fast paced entertainment. Recent statistics show that 70% of all children in the United States have home video game systems. Over four billion dollars is spent on arcade video games annually.


History




A precursor to the video game, pinball machines were introduced during the 1930s and remained popular through the 1970s. In 1971, a video arcade game was produced called Computer Space. Invented by Nolan Bushnell and Ted Dabney, Computer Space was the first real coin-operated video game, but for various reasons, it never became popular. It did however, lay the groundwork for the next video game that Bushnell and Dabney introduced: the phenomenally successful arcade game Pong. Modeled after the game of ping pong, it was an electronic game in which players tried to hit a flashing dot passed their opponent's video paddle. With the success of Pong, Bushnell and Dabney started the Atari Company, and in 1975, they introduced a home version of Pong. In 1976, Warner Communication purchased Atari for $28 million and expanded its home line of video game cartridges.
At the same time Bushnell and Dabney were developing Pong, Ralph Baer, who was working for Sanders Associates, was designing a home video game system called The Odyssey. Developed in 1969, Baer's system was finally manufactured and distributed by Magnavox in 1972. The Odyssey was a package of 12 different plug-in games that were housed on circuit cards. Each game came with plastic overlays that, when placed over the television screen, simulated the appropriate background. For example, a plastic overlay of a hockey rink was included with the hockey game. The Odyssey also offered an electronic shooting gallery with four additional games and an electronic rifle. Eighty-five thousand systems were sold.
Rapid advances in electronics technology during the 1970s led to the development of more complicated games, such as Space Invaders and Pac-Man. Introduced in 1983 as a joint venture between the Namco Company of Japan and Midway of the United States, Pac-Man has sold hundreds of thousands of games and remains one of the most popular video games.
When personal computers became available, computer games were created. Many of these games were adaptations of arcade or home video game systems, however unique games were also developed. The computer game industry grew swiftly during the 1980s powered by various companies, especially the Nintendo Corporation. In the late 1980s, the CD-ROM was introduced. These disks could hold more information on them, and allowed the development of more sophisticated, interactive games. In 1995, digital video disks (DVDs) were first produced for home computers. Since they have a storage capacity over twenty times greater than CD-ROMs, they promise to revolutionize computer games.


Design



Design is the key aspect of making all video games. It is typically done by a team of skilled computer programmers, writers, artists, and other game designers. During this phase of development, they generate the game's specifications, which includes game type, objective, and graphics.
While creating a video game is rarely a step by step process, there are a variety of tasks that must be accomplished during the development phase. In the beginning, the type and objective of the game is determined. In general, games fall within six categories, or genres, including fighting, shooting, strategy, simulations, adventure, and run, jump and avoid (RJA). Fighting games require the players to battle with each other or the computer. Presently, they are the most popular and encompass such titles as Mortal Kombat and Street Fighter. Shooting games involve battles in which the player tries to destroy enemy tanks, ships, or planes. Strategy games include such classics as chess, bridge or checkers. Simulations are games, which reproduce real life situations such as flying or driving. Adventure games are computerized versions of role-playing fantasy games. The RJA games are those like the Super Mario games in which a character tries to reach a goal while being impeded by various obstacles.
The action of the game is dependent upon its intended venue. An arcade game must have immediate action. A home version usually includes various skill levels in order to keep the player interested over a longer period of time. A handheld version of a video game is simplified to be played in miniature.
Raw MaterialsDesign is the key aspect of making all video games. It is typically done by a team of skilled computer programmers, writers, artists, and other game designers. During this phase of development, they generate the game's specifications, which includes game type, objective, and graphics.
While creating a video game is rarely a step by step process, there are a variety of tasks that must be accomplished during the development phase. In the beginning, the type and objective of the game is determined. In general, games fall within six categories, or genres, including fighting, shooting, strategy, simulations, adventure, and run, jump and avoid (RJA). Fighting games require the players to battle with each other or the computer. Presently, they are the most popular and encompass such titles as Mortal Kombat and Street Fighter. Shooting games involve battles in which the player tries to destroy enemy tanks, ships, or planes. Strategy games include such classics as chess, bridge or checkers. Simulations are games, which reproduce real life situations such as flying or driving. Adventure games are computerized versions of role-playing fantasy games. The RJA games are those like the Super Mario games in which a character tries to reach a goal while being impeded by various obstacles.
The action of the game is dependent upon its intended venue. An arcade game must have immediate action. A home version usually includes various skill levels in order to keep the player interested over a longer period of time. A handheld version of a video game is simplified to be played in miniature.
Raw Materials










Get paid for sharing your links - Receive $5.00 just for signing up!
Dj-Mails.com