Dissecting the Video Game Engine and a Brief History 1 Dissecting The
Total Page:16
File Type:pdf, Size:1020Kb
Dissecting the Video Game Engine and a Brief History 1 Dissecting the Video Game Engine and a Brief History Julie Wilmore Michigan State University Dissecting the Video Game Engine and a Brief History 2 Abstract This paper explores the makings of the modern video game engine and the evolution of this technology. Using many online resources, the components of an engine have been explored and explained. This paper also discovers which engines contemporary game developers are using and the supposed advantages or innovative techniques of these major players. This includes a section on the use of middleware as developers are turning more and more often to this resource. A history of game engines is explored to show the evolution of this pivotal piece of software. The engines are described in a chronological order to show the progression though the most recent, what are called next-gen games. Dissecting the Video Game Engine and a Brief History 3 Dissecting the Video Game Engine and a Brief History In the history of video games the all-important engine is crucial to the development of games as we know them. The video game engine is now used by all developers to put together; physics, artificial intelligence, visual assets, rendering, sounds, and levels to make a game. Some developers also use middleware as a fast easy solution to the development process. Basically, the engine is where the whole thing comes together. The game engine can be considered “ all the non-game specific technology” (Simpson, 2002, Part I) that basically pulls all of the actual game materials together to create a game. The game engine is the framework with which a game is built in and around. It is what allows the developer to combine assets and code together to create a cohesive game. This paper will explore what a game engine is made of and which engines developers are choosing to use today. Most game engines have multiple parts that make up the technology. These include a wide variety of functions, which allow the developer and level designer to place and view in real time, what assets look and behave like within the game. Many engines involve around a dozen separate pieces of software, but they all have these parts in common. The artificial intelligence of a game generally provides guidelines for behaviors including path finding, decision-making, world awareness, and survival techniques (Simpson, 2002, Part X). Path finding is the general world navigation whether it is to find an enemy, keeping formation (known as flocking), or avoiding obstacles. Decision- making often involves choosing fight or flight, does the NPC (non-playable character) take cover or shoot or run away. World awareness is well explained in an example by Dissecting the Video Game Engine and a Brief History 4 Simpson (2002, Part X) “the situation where two guards are standing next to one another, and you pick one off using a sniping weapon, and the other stands there completely oblivious to what happened.” In this situation there is no world awareness, but if the second guard were to react and shoot back this adds another level of reality to the game. The scripting editor is another important element of a game engine. The scripting editor allows for even more storytelling devices. Cut scenes are created with scripting and pre-rendering these scenarios in the game renderer. It is also used for coding “what if” scenarios, “Given that we don't know the state of the world when the script commences, we are forced to create a script for almost every eventuality (Simpson, 2002, Part V).” Visually exciting characteristics add realism and interest to the game. The renderer handles these elements. It relays information from code and makes it into visual data for the player to interpret. Not only does the renderer deal with depth of field and what a viewer can see but it also handles the lighting of a scene, which can stand out if it is off by just a slight amount (Simpson, 2002, Part I). Lighting is also an important element; the renderer calculates how many vertices or planes the light will reach and at what strength. Texture maps add a great amount of realism to the environment, they map color files to objects and Bump maps add texture to surfaces without adding geometry. With more and more players investing in surround-sound speakers the sound and music in games is becoming increasingly important. This part of the engine even allows developers to associate certain sound effects based on what material an object hits, this is called a sound environment (Simpson, 2002, Part V). Another issue Simpson addresses is mixing the sounds to create a realistic soundscape, “Once you've decided what sounds Dissecting the Video Game Engine and a Brief History 5 you can actually hear based on where you are located, where the sounds are in space, and what the volume is for each sound, then you have to mix the sounds.”(2002, Part V) Another piece of the engine is the physics. Physics in a game world are rarely identical to real life physics although they are based around the general real life mechanics of physics (Simpson, 2002, Part V). Being able to jump really high and run even faster are more exciting to a player than restricting the characters actions to real world physics. Game physics will include collision detection, which keeps characters from walking through walls and falling through floors. Gravity and velocity are also accounted for. One company, NVIDIA Technologies, has created their own chip called PhysX which is devoted to processing all the physics based calculations and allows the game to simulate more realistic behaviors (Slagle, 2006). “The idea behind PhysX is to take the strain of physics calculations away from the central microprocessor, freeing up all sorts of possibilities in video games” (Slagle, 2006). The history of game engines began in the 1990’s with the creation of first-person shooters such as Doom. Though the term was coined in the 1990’s there are some examples such as Lucas Arts’ SCUMM system, which came into use in the 1980’s. Before the invention of the game engine developers had to start from scratch every time they produced a new game. With Doom and the invention of the reusable engine time spent coding the basics was cut significantly. (Lilly, 2009) Before Doom there was Space Rogue, which eventually became Ultima Underworld released in 1990. This engine had texturing capabilities, which allowed Dissecting the Video Game Engine and a Brief History 6 Origin Systems to map the environment surfaces (Lilly, 2009). This engine used all 2D sprites but rendered them in 3D. Similarly, the Doom engine (1993) by Id Software had no 3D capabilities although it cleverly rendered a 3D feeling environment. Many titles were built off of this engine making it the first reusable engine. (Lilly, 2009) The next major engine was the Build engine in late 1993. Again this engine used 2D planes and sprites to give the illusion of 3D and allowed the player to look up and down to further this illusion. This engine was made famous by Duke Nukem 3D. Each of these engines so far show the cunning of the people who made them; in Duke Nukem the programmers set up tags in the code so when a player passed a certain spot they would trigger code for “creating holes in the ground that a player would appear to fall through, but really would be teleporting to a different sector on the 2D map.”(Lilly, 2009) One of the first actual 3D engines was the XnGine released in 1995(Lilly, 2009) It used actual 3D objects, not just sprites, but ran into issues when “clipping issues caused gamers to get stuck on 3D polygonal objects.” (Lilly, 2009) The release of the Jedi engine in 1995 by Lucas Arts was used in only a few games but it was very successful at creating a realistic 3D environment. (Lilly, 2009) It also made popular the crouch and jump commands. The Quake engine, released in 1996 by Id Software, is important for its slender processing requirements. The rendering processor cut out all the polygons that did not require rendering and by doing so reduced the demand on the CPU. The Renderware engine is used on quite a few games and is also multi platform including PC, PlayStation 2, “GameCube, Wii, Xbox and Xbox 360, PlayStation 3, and Dissecting the Video Game Engine and a Brief History 7 PSP”(Lilly, 2009). A very popular new feature of the engine was the ability for developers to alter art and “game processes” in real-time without having to alter the code.(Lilly, 2009) When the Unreal engine was released in 1998 began as a mostly first-person shooter(FPS) engine but has gone on to be used in many role-playing games (RPG’s). It has a variety of capabilities including “software and hardware rendering … as well as collision detection, colored lighting, and a rudimentary version of texture filtering” (Lilly, 2009). Quake III’s release in 1999 brings with it better animation techniques as well as better graphics in terms of shadows, shaders, and networking capabilities. (Lilly, 2009) This engine is now known as id Tech 3. The recent GeoMod engine steps up in-game physics making them more realistic and believable. In terms of destructible environments this engine is on top. This engine is best know for the games Red Faction and Red Faction: Guerrilla. (Lilly, 2009) A popular “hobbyist” engine is the Torque 3D engine released in 2001.