Pages

Monday, July 5, 2010

Quake Engine

The Quake engine is the game engine that was written to power 1996's Quake, written by id Software. It featured true 3D real-time rendering and is now licensed under the terms of the GNU General Public License (GPL).
After release it immediately forked, as did the level design. Much of the engine remained in Quake II and Quake III Arena. The Quake engine, like the Doom engine, used binary space partitioning (BSP). The Quake engine also used Gouraud shading for moving objects, and a static lightmap for nonmoving objects.

History

The Quake engine was created in 1996 for Quake. John Carmack did most of the programming of the engine, with help from Michael Abrash in algorithms and assembly optimization. It was later upgraded to id Tech 2 and id Tech 3.

3D Engine Design and Milestones

Reducing 3D complexity to increase speed
Quake was the first true-3D game to use a special map design system that preprocessed and pre-rendered the 3D environment, so as to reduce the processing required when playing the game on the 50-75 MHz CPUs of the time. The 3D environment in which the game takes place is referred to as a map, even though it is three-dimensional in nature rather than a flat 2D space. The map editor program uses a number of simple convex 3D geometric objects known as brushes that are sized and rotated to build the environment. The brushes are placed and oriented to create an enclosed, empty, volumetric space, and when the design is complete the map is run through the rendering preprocessor. The preprocessor is used to locate two types of empty space in the map, the empty space enclosed by brushes where the game will be played, and the other empty space outside the brushes that the player will never see. The preprocessor then strips away the back-faces of the individual brushes which are outside the game-space, leaving only the few polygons that define the outer perimeter of the enclosed game space.
Generally once a map has been preprocessed it cannot be re-edited in a normal fashion because the original brushes have been cut into small pieces. Instead the original map editor data with the brushes is retained and used to create new versions of the map. But it is possible to edit a processed map by opening it in a special vertex editor and editing the raw vertex data, or to add or remove individual triangle faces. Though difficult, this technique was occasionally used by cheaters to create windows in walls, to see normally hidden enemies approaching from behind doors and walls, and resulted in an anti-cheat mechanism used in recent 3D games that calculates a checksum for each file used in the game, to detect players using potentially hacked map files.
A processed map file can have a much lower polygon count than the original unprocessed map, often by 50 to 80 percent. On the 50-75 MHz PCs of the time, it was common for this pruning step to take many hours to complete on a map, often running overnight if the map design was extremely complex.
This preprocessing step can not work if there are any small holes or "leaks" that interconnect the interior game space with the exterior empty space, and it was common for complex map-building projects to be abandoned because the map designer could not locate the leaks in their map. To prevent leaks, the brushes should overlap and slightly interpenetrate each other; attempting to perfectly align along the edges of unusually-shaped brushes on a grid can result in very small gaps that are difficult to locate.
The open cloudy sky in Quake maps is in fact not open, but is covered over and enclosed with large brushes, and textured with a special skybox texture that always looks the same from any viewing position.

Precalculating lighting and shadows
Quake also incorporated the use of lightmaps and 3D light sources, as opposed to the sector-based static lighting used in games of the past. id Software's innovation has been used for many 3D games released since, particularly first-person shooters, though id Software switched to a Unified lighting and shadowing model for Doom 3. After a map had been pruned of excess polygons, a second preprocessing system was used to precalculate and bake the lightmaps into the game map, to further reduce load on the CPU when playing the game. However, full light processing could take an extremely long time, so for the initial map design process, lesser-quality light processing could be done, but at the cost of creating a jagged stair-step lightcast around lights.

Sectioning the map to increase speed
To further decrease 3D rendering, a mechanism was developed to section off large regions of the map that are currently not visible to the player, and to not render those unseen spaces. A 3D rendering engine without any such optimizations would draw every part of the world and then attempt to determine which polygons are the closest; then hide all the other polygons behind the closest polygons (a technique known as Z-buffering); just because a polygon is not visible does not mean it is not part of the scene calculations. With this Quake 3D engine optimization, if the player could not see into a nearby region, the 3D engine could be told ahead of time to not include any of the objects in that space in the rendering calculations, greatly reducing the rendering load on the CPU. This effect can be noticed in the game as small tunnels with sharp 90-degree bends leading from one large space into the next large space. The small tunnel is used to block view into the adjoining unrendered space, and a special type of transparent brush (called a visportal) is used to define the edge of where the engine should stop rendering the adjoining space. It is uncommon in the original Quake to be able to see across the entire length of a map, and outdoor spaces are often very tall and narrow, primarily utilizing distance above and below into open sky or lava, to create a low-polygonal illusion of expanse.

How sectioning is performed
A Binary Space Partitioning (BSP) tree is built from the map, simplifying searching for a polygon to O(number of polygons). Each leaf creates some area of 3D space (imagine cutting a pie into pieces). The leaves of this Binary Tree have polygons of the original map associated with them, which are then used for computing each area's visibility. For each area, the VSD algorithm finds the parts of the map for which a line of sight exists. This is called the potentially visible set (PVS).
This process uses large amounts of memory, since it should take O(n2) (where n is the number of polygons) bits (only visible/hidden information is needed). John Carmack realized that one area sees just a small fraction of the other areas, so he compressed this information by using run-length encoding (RLE). This is what allowed Quake's sophisticated graphics to run so quickly on the hardware of the time.

Speeding up the rendering, and rendering order
To reduce overdraw (rendering a new pixel that hides a previously rendered point, meaning the previous work was useless and wasted), the environment was displayed first, from front to back. To hide parts of walls hidden by other walls, a Global Edge List was sorting edges of already rendered polygons ; new polygons were first clipped against previous edges so that only visible parts would get to the framebuffer.
Also while rendering the environment, a ZBuffer was filled (but never read while rendering the environment, as the BSP tree and Global Edge List ensured that each pixel was rendered only once). The ZBuffer was later used to render correctly characters and other moving objects that were partially hidden by the environment.
The pixel rendering loop was implemented in assembly. The texture coordinates perspective correction and interpolation was done using the floating-point unit, due to the limited number of integer registers.
The base texture and the lightmap of a wall were rendered at the same time: a Surface Cache was creating new Surfaces, which are new pre-lighted textures which combines the base and lightmap textures. Surfaces not used since a few frames were released, while new required Surfaces were dynamically created. Generating the surfaces was consuming less time than a secondary lighting pass would have. To save memory, smaller surfaces using mipmaps of the original texture were generated first for further walls.
The characters were lit using a constant ambient light, which value came from a structure storing ambient colors in 3D, depending on the character's position. Characters and objects very far from the camera were not rendered in 3D: they were instead rendered as voxels: 3d big square points of a single color (which came from the object texture).

Hardware 3D acceleration
Quake was also one of the first games to support 3D hardware acceleration. While initially released with only software rendering, John Carmack created a version of the Quake executable that took advantage of Rendition's Vérité 1000 graphics chip (VQuake). OpenGL support was soon added in the form of the GLQuake executable for Windows 95 and higher. Many believe that this kick-started the independent 3D graphics card revolution, GLQuake being the first application to truly demonstrate the capabilities of the 3dfx "Voodoo" chipset at the time. The only two other cards capable of rendering GLQuake were a professional (very expensive) Intergraph 3D OpenGL card, and, later, the PowerVR cards.
To optimize the software rendering engine, lightmaps were shared by polygons that were close in space, and in the same leaf of the BSP tree. This means that quite often polygons using the same main texture could not be rendered at the same time with the 3d acceleration, due to the multitexturing second unit having to be reconfigured with another lightmap. This architecture decision was reducing hardware accelerated rendering performances.

Player movement
Quake by default used the keyboard to turn left and right and move forward and backward, using the mouse, like Doom, to do the same movements. This produced awkward movements, and required settings like "auto-level" that would move the viewpoint back to straight forward as the player moved and "auto vertical aim" that would automatically shoot things above and below the player. Probably because of this, the level design in Quake was more suited to the 2.5D environment of Doom. Only in a few spots in the game was the attacking monster far above or below the player. Quake did have the option of using the mouse to look/aim/orient ("mouselook") and the keyboard to move forward, backward and sideways, but it was not the default until Quake III Arena was released.

Network play
Quake includes cooperative and deathmatch multiplayer modes over LAN or the Internet. Additional multi-player modes were later added using "mods".
Quake uses the client–server model, where a server has control of all game events. All players connect to this server in order to participate, with the server telling the clients what is happening in the game. The server may either be a dedicated server or a listen server. Even in the latter situation, Quake still uses the client–server model, as opposed to the peer-to-peer networking used by some other games. Quake thus cannot suffer from de-synchronized network games that could occur from different clients disagreeing with each other, since the server is always the final authority.
Depending on the client's specific route to the server, different clients will get different ping times. The lower a player's latency (ping time) is, the smoother his or her in-game motions are, which makes it easier to aim, move, and score. Someone playing at the PC or within the same LAN as the server gets a substantial advantage due to having essentially no lag. This created a class structure of haves and have nots, spawning the phrases, Low Ping Bastards or LPBs and High Ping Bait or HPBs.
While gamers had been deathmatching each other via IPX LAN connections, serial cable connections, and modems in the Doom, Heretic, and Hexen series of games, it was not until Quake that the Internet deathmatch community really began.

Friday, July 2, 2010

Quake Arena (Game)

Quake III Arena (also known as Quake 3; abbreviated as Q3A or Q3), is a multiplayer first-person shooter computer and video game released on December 2, 1999. The game was developed by id Software and featured music composed by Sonic Mayhem and Front Line Assembly. Quake III Arena is the third in the series and differs from previous games by excluding a traditional single-player element and focusing on multi-player action. The single-player is instead played against computer controlled bots in a similar style to Unreal Tournament.
Notable features of Quake 3 include the minimalist design, lacking rarely used items and features, the extensive customizability of player settings such as field of view, texture detail and enemy model, and advanced movement features such as strafe and rocket-jumping.
Quake 3 is available on a number of platforms and contains mature content. The game was highly praised by reviewers who, for the most part, described the gameplay as fun and engaging. Many liked the crisp graphics and focus on multiplayer.
Quake 3 has also been used extensively in professional electronic sports tournaments such as Quakecon, Cyberathlete Professional League and the Electronic Sports World Cup.

Gameplay
Unlike its predecessors, Q3A does not have a plot-based single-player campaign. Instead, it simulates the multiplayer experience with computer controlled players known as bots. The game's story is brief - 'the greatest warriors of all time fight for the amusement of a race called the Vadrigar in the Arena Eternal.' The introduction video shows the abduction of such a warrior, Sarge, while making a last stand. Continuity with prior games in the Quake series and even Doom is maintained by the inclusion of player models related to those earlier games as well as biographical information included on characters in the manual, a familiar mixture of gothic and technological map architecture and specific equipment; for example, the Quad Damage power-up, the infamous rocket launcher and the BFG super-weapon.
In Quake III Arena the player progresses through tiers of maps, combating different bot characters that increase in difficulty, from Crash (at Tier 0) to Xaero (at Tier 7). As well as tougher opponents the fights take place in more complex arenas as the game progresses. While deathmatch maps are designed for up to 16 players, tournament maps are designed for duels between 2 players and in the single-player game could be considered as 'boss battles'.
The weapons are balanced by role, with each weapon having advantages in certain situations such as at long-range or fired around a corner; the BFG is an exception to this as a super-weapon. Weapons appear as level items, spawning at regular intervals in set locations on the map. If a player dies all their weapons are lost and they receive the spawn weapons for the current map, usually the gauntlet and machine gun. Players also drop the weapon they were using when killed, which other players can then pick up.
Q3A comes with several gameplay modes; Free for All (FFA), a classic deathmatch, where each player competes against the rest for the highest score, Team Deathmatch (TDM), where usually two teams of four compete for the highest team frag total, Tournament (1v1), a deathmatch between two players, usually ending after a set time and Capture the Flag, which is played on symmetrical maps where teams have to recover the enemy flag from the opponents' base while retaining their own.
Quake III Arena was specifically designed for multiplayer, the game allows players whose computers are connected by a network or to the internet, to play against each other in real time. It employs a client–server model, requiring all players' clients to connect to a server. Q3A's focus on multiplayer gameplay spawned a lively community, similar to Quakeworld, that is active to this day.

Development
During early March 1999, ATI leaked the internal hardware vendor (IHV) copy of the game.[4] This was a functional version of the engine with a textured level and working guns. The IHV contained most the weapons (excepting the Gauntlet) that would make it into the final game although most were not fully modeled; a chainsaw and grappling hook were also in the IHV but did not make it into the final release. Many of the sounds that would make it into the final release were also included.
After the IHV fiasco id Software released a beta of the game called Quake III Arena Test on April 24, 1999. The Q3Test started with version 1.05 and included three levels that would be included in the final release: dm7, dm17, and q3tourney2. Id software continued to update Q3Test up until version 1.09.
During the game's testing it was found that the lightning gun was too dominating. Its strength was reduced to the point that some players have found it useless. Weapon balance was achieved by examining earlier games in the series, Quake and Quake II as well as extensive play testing with well-known players such as Thresh. In the first Quake the rocket launcher was so effective that it dominated entire deathmatches while the rocket launcher in Quake II so weak that it was sometimes ignored. The rocket launcher in Quake III is effective but not overpowering, allowing it to be countered in many situations.

Thursday, July 1, 2010

Quake (Game)

Quake is a first-person shooter video game that was released by id Software on June 22, 1996. It was the first game in the popular Quake series of video games. It was made available on Steam on August 3, 2007.

History
A preview included with id's very first release, 1990's Commander Keen, advertised a game entitled The Fight for Justice as a follow-up to the Keen trilogy. It would feature a character named Quake, "the strongest, most dangerous person on the continent", armed with thunderbolts and a "Ring of Regeneration." Conceived as a VGA full-color side-scrolling RPG, The Fight for Justice was never released.

Pre-release and QTest
Quake was given as a title to the game that id Software was working on shortly after the release of Doom II. The earliest information released described Quake as focusing on a Thor-like character who wields a giant hammer, and is able to knock away enemies by throwing the hammer (complete with real-time inverse kinematics). At the start, the levels were supposed to be designed in an Aztec style, but the choice was dropped some months into the project. Early screenshots then showed medieval environments and dragons. The plan was for the game to have more RPG-style elements. However, work was very slow on the engine, since John Carmack, the main programmer of Quake, was not only developing a full 3D engine, but also a TCP/IP networking model. (Carmack later said that he should have done two separate projects which developed those things.) Eventually, the whole id team began to think that the original concept may not have been as wise a choice as they first believed. Thus, the final game was very stripped down from its original intentions, and instead featured gameplay similar to Doom and its sequel, although levels and enemies were closer to medieval RPG style rather than science-fiction. Praised throughout the gaming community, it quickly dethroned previous FPS titles and revolutionized the way multiplayer games were developed.
Before the release of the game or the demo of the game, id software released QTest on February 24, 1996. It was described as a technology demo and was limited to three multiplayer maps. There was no single player support and some of the gameplay and graphics were unfinished or different from their final versions. Nevertheless, the game's multiplayer support caused Quake servers to spring up everywhere overnight. QTest also gave gamers their first peek into the filesystem and modifiability of the Quake engine, and many entity mods (that placed monsters in the otherwise empty multiplayer maps) and custom player skins began appearing online before the full game was even released.

Development
Quake was programmed by John Carmack, Michael Abrash and John Cash. The level and scenarios were designed by American McGee, Sandy Petersen, John Romero and Tim Willits. The graphics were designed by Adrian Carmack, Kevin Cloud. Music and sound design was by Trent Reznor of Nine Inch Nails fame.
The game engine developed for Quake, the Quake engine, popularized several major advances in the 3D game genre: polygonal models instead of prerendered sprites; full 3D level design instead of a 2.5D map; prerendered lightmaps; and allowing end users to partially program the game (in this case with QuakeC), which popularized fan-created modifications (mods).

Gameplay
Quake has two fundamental modes of gameplay: single player and multiplayer.

Single Player
In single-player mode, players explore and navigate to the exit of each level, facing many challenging monsters and a few secret areas along the way. Usually there are buttons to press or keys to collect in order to open doors before the exit can be reached. Once reaching the exit, the game takes the player to the next level.
Before the start level, there is a set of three pathways with easy, medium, and hard skill levels; in order to reach the Nightmare skill level (described in the game manual as "so bad that it was hidden, so people won't wander in by accident"), the player must drop through the water before the Episode 4 entrance and jump into a secret passage.
Quake's single-player campaign is organized into four individual episodes of about eight levels each (each including a secret level, one of which is a "low gravity" level—Ziggurat Vertigo in Episode 1, Dimension of the Doomed—that challenges the player's abilities in a different way). As items are collected, they are carried to the next level, each usually more challenging than the last. If the player dies, he must restart at the beginning of the level. However, games may be saved at any time.
Upon completing each episode, the player is returned to the hub Start level, where he can then enter the next episode. Each episode starts the player from scratch, without any previously collected items. Episode I (which formed the shareware or downloadable demo version of Quake) has a boss in the last level. The ultimate objective at the end of an episode is to recover a magic rune. After all of the runes are collected, the floor of the Start opens up to reveal an entrance to the End level which contains the final boss, based on the God Shub-Niggurath from the Cthulhu Mythos.

Multiplayer
In multiplayer mode, players on several computers connect to a server (which may be a dedicated machine or on one of the player's computers), where they can play against each other. Typically in multiplayer mode, when a player dies he can immediately respawn, but loses any items he has collected and so must start collecting them again. Similarly, items that have been picked up previously respawn after some time, and may be picked up again.
The single-player campaign can be played in co-op mode.
The most popular multiplayer modes are all forms of deathmatch. Deathmatch modes typically consist of either free-for-all (no organization or teams involved), one-on-one duels, or organized teamplay with two or more players per team (or clan). Teamplay is also frequently played with one or another mod. Typically, no monsters are normally present, as they serve no purpose other than to get in the way and give away the player.
The gameplay in Quake was considered unique for its time because of the different ways the player can maneuver through the game. For example: bunny hopping or strafe jumping can be used to move faster than normal, while rocket jumping enables the player to reach otherwise-inaccessible areas (or just move faster), at the cost of some self-damage. The player can start and stop moving suddenly, jump unnaturally high, and change direction while moving through the air. Many of these non-realistic behaviors contribute to Quake's appeal. The nature of the gameplay is often fast and frenzied, and has become considerably faster over the years as players mastered advanced movement techniques.
There is obvious skill needed to react quickly, aim precisely, dodge other players' shots, and jump across tricky spaces. As Quake did not include any automap, it also requires considerable knowledge of the sometimes confusingly-contorted maps (made more complex by the frequent use of teleporters) as well as careful planning in order to collect needed items and conserve health and ammunition. Strategies include regularly picking up items to prevent one's opponent from having access to them and controlling certain critical areas of each level. Duels often take place with opponents mostly out of sight of each other, jockeying for position and carefully stocking up on items, with sudden changes in speed of play when one player or the other gains an advantage. Sound also plays a central role in keeping track of other players and even items in the game, so many players use headphones to give the clearest sound and directionality. Teamplay adds even more tactical layers, with different ways to communicate and cooperate.
Multiplayer Quake was one of the first games that people singled out as a form of electronic sport. Most notable was Dennis "Thresh" Fong who won John Carmack's Ferrari 308 at the Microsoft-sponsored Red Annihilation tournament in 1997.

Story
The player takes the role of an un-named protagonist sent into a portal in order to stop an enemy code-named "Quake". Previously, the government had been experimenting with teleportation technology, and upon development of a working prototype called a "Slipgate", this enemy has compromised the human connection with their own teleportation system, using it to insert death squads into the "human" dimension, supposedly in order to test the martial capabilities of humanity.
The sole surviving protagonist in Operation Counterstrike is the player, who must advance, starting each of the four episodes from a human held but overrun military base, before fighting through into other dimensions, traversing these via slipgate or their otherworld equivalent. Once passing through each slipgate, the player's main objective is to survive and locate the exit which will take him to the next level, not unlike that of id Software's previous hit, Doom.
The game consists of around 28 separate "levels" or "maps", grouped into four episodes. Each episode represents individual dimensions that the player can access through magical portals (as opposed to the technological Slipgate) that are discovered over the course of the game. At the start of each episode, the player is deployed in a futuristic military base and he has to find a slipgate that will take him to the alternate realm. The various realms consist of a number of gothic, medieval, as well as "fire and brimstone"-style caves and dungeons with a recurring theme of hellish and satanic imagery reminiscent of Doom (such as pentagrams and images of demons on the walls). The latter is inspired by several dark fantasy influences, notably that of H. P. Lovecraft; most notably, Dimensional Shamblers appear as enemies, the "Spawn" enemies are called "Formless Spawn of Tsathoggua" in the manual, the end boss of the first episode is named Chthon, and the final boss is named Shub-Niggurath (though actually resembling a Dark Young). Some levels have Lovecraftian names, such as the Vaults of Zin and the Ebon Fortress. Originally, the game was supposed to include more Lovecraftian bosses, but this concept was scrapped due to time constraints.
It should be noted, however, that by the time the game was released the specifics of the story had become relatively unimportant and somewhat disorganized. This is mainly due to a last-minute mix of two different game designs: lead level designer John Romero wanted to make a dark fantasy hand to hand combat/RPG hybrid game, while level designers Tim Willits and American McGee wanted to make a more futuristic, Doom-like game. Ultimately the Doom-like mechanics were implemented and many of the dark fantasy design elements were incorporated into the graphics and visual effects of the game.

Sequels
After the departure of Romero, the remaining id employees chose to change the thematic direction substantially for Quake II, making the design more technological and futuristic rather than Lovecraftian fantasy. Quake 4 followed the design themes of Quake II, whereas Quake III Arena mixed these styles, as it existed in a parallel continuity that housed several "id all-stars", from various games, as playable characters.
The mixed settings occurred because Quake II originally began as a separate product line. Unfortunately, due to the failure to gain rights to the title they wanted, id designers were forced to fall back on the project's nickname of "Quake II." Since any sequel to the original Quake had already been refused, it became a viable way of continuing the series without actually continuing the storyline or setting of the first game.

Tuesday, June 22, 2010

Dance Dance Revolution (Game)

Dance Dance Revolution, abbreviated DDR, and previously known as Dancing Stage in Europe and Australasia, is a music video game series produced by Konami. Introduced in Japan in 1998 as part of the Bemani series, and released in North America and Europe in 1999, Dance Dance Revolution is the pioneering series of the rhythm and dance genre in video games. Players stand on a "dance platform" or stage and hit colored arrows laid out in a cross with their feet to musical and visual cues. Players are judged by how well they time their dance to the patterns presented to them and are allowed to choose more music to play to if they receive a passing score.
Dance Dance Revolution has been given much critical acclaim for its originality and stamina in the video game market. There have been dozens of arcade-based releases across several countries and hundreds of home video game console releases. The series has promoted a music library of original songs produced by Konami's in-house artists and an eclectic set of licensed music from many different genres. The series has also inspired many clones of its gameplay and a global fan base of millions that have created simulators of the game to which they contribute original music and "simfiles", collections of dance patterns to a specific song. DDR is generally considered the first "machine dance" game, followed by games such as Pump It Up by Andamiro and In the Groove by Roxor. DDR celebrated its 10th anniversary on November 21, 2008.

Gameplay

The dance stage, divided into 9 sections, 4 of them in the cardinal directions contain pressure sensors for the detection of steps.
The core gameplay involves the player moving his or her feet to a set pattern, stepping in time to the general rhythm or beat of a song. Arrows are divided by 1/4 notes, 1/8 notes, and so on (with differing color schemes for each), up to about 1/32 notes. During normal gameplay, arrows scroll upwards from the bottom of the screen and pass over a set of stationary arrows near the top (referred to as the "guide arrows" or "receptors", officially known as the Step Zone). When the scrolling arrows overlap the stationary ones, the player must step on the corresponding arrows on the dance platform, and the player is given a judgement for their accuracy (Marvelous, Perfect, Great, Good, Almost (close miss), Boo (complete miss)). Longer green and yellow arrows referred to as "freeze arrows" must be held down for their entire length, either producing a "O.K." if successful, or a "N.G." (no good) if not. Dance Dance Revolution X contains songs with Shock Arrows, walls of arrows with lightning effects which must be avoided, which are scored in the same way as Freezes (O.K./N.G.). If they are stepped on, a N.G. is awarded, the lifebar decreases, and the steps become hidden for a short period of time.
Successfully hitting the arrows in time with the music fills the "Dance Gauge", or life bar, while failure to do so drains it. If the Dance Gauge is fully depleted during gameplay, the player fails the song, usually resulting in a game over. Otherwise, the player is taken to the Results Screen, which rates the player's performance with a letter grade and a numerical score, among other statistics. The player may then be given a chance to play again, depending on the settings of the particular machine (the limit is usually 3-5 songs per game). In some of the home versions, there is usually an option for event mode, where an unlimited number of songs can be played. On some DDR games, there is an option to use two pads at once, making it harder to play but increasing the number of moves to incorporate into songs.

Difficulty
Depending on the version of the game, dance steps are broken into various levels of difficulty, often by color. Difficulty is loosely separated into 3-5 categories depending on timeline:
DDR 1st Mix only started out with Basic (even though not mentioned) and it began using the foot + name rating. The highest difficulties were 6-foot (Genuine) on Singles and 7-foot (Paramount) on doubles. DDR 2nd Mix added the Another difficulty and increased the highest difficulty to 8-foot (Exhorbitant). DDR 3rd Mix added the SSR (Step Step Revolution) mode, which can only be accessed via input code and is played on Flat (all arrows are the same color) by default. The SSR mode was eliminated in 3rdMix Plus and USA, and the Maniac routines were folded back into the regular game. The highest difficulty was increased to 9-foot (Catastrophic). DDR 4th Mix removed the names of the song and made it simple by removing those names and organizing the difficulty by order. DDR 4th Mix Plus replaced some stepcharts with newer and harder ones (which will later on be known as Challenge Steps on later console versions).
Beginning in DDRMAX, a "Groove Radar" was introduced, showing how difficult a particular sequence is in various categories, such as the maximum density of steps, how many jumps are in the steps, freeze arrows, etc. Excluding the U.S. Home Version, the step difficulty was removed in favor of the Groove Radar. DDRMAX2 re-added the foot ratings. DDRMAX2 added an official Oni/Challege difficulty which can only be accessed in Oni/Challenging Mode (Kakumei is the only Oni chart that can only be accessed by getting a AA on MaxX Unlimited as an Extra Stage). Also, that mix increased the maximum difficulty from a 9-footer to a 10-footer. Some songs were re-ranked in difficulty such as Drop Out and End of the Century being 8-footers to now 9-footers. On DDR Extreme, flashing 10-footers existed only on songs that producers felt were higher than the 10-footer rating. In addition, Beginner is a new difficulty added for beginners and the Oni/Challenge can be freely accessible, except for Extra Stage.
DDR SuperNOVA, while still has the foot ratings, removed the flashing 10-foot that existed on certain songs for unknown reasons. Later on, DDR SuperNOVA2 ditched the foot rating and replaced it with bars. However, all songs from the previous games remain identical, with very few changes to certain song difficulties such as Xepher Challenge being changed from a 10-bar to a 9-bar.

On Dance Dance Revolution X, the foot/bar rating system was given its first major overhaul, now ranking songs on a scale of 1-20, the first 10 represented by yellow bars, and the second 10 represented by additional red blocks shown in place on top of yellow bars. All songs from previous versions were re-rated on the new scale, including the flashing 10s, whose true difficulty in comparison to other flashing 10s is also now known as a result for the first time. The best way to calculate the new ratings of songs is to roughly multiply the previous difficulty rating to numbers between 1.3 to 1.5 and round it up. However, there are some dramatic changes in the way songs are rated; Bag (Expert - 10) is listed as Level 12, The Least 100 Seconds (Expert - 8) and Paranoia Hades (Difficult - 8) are listed as Level 14, and Arrabbiata (Expert - 9) is listed as Level 16.
The highest known difficulty on the new scale is 19, which are the Challenge charts of Valkyrie Dimension from the arcade version of Dance Dance Revolution X2, in both single and double.