| This article may not meet the general notability guideline. Please help to establish notability by adding reliable, secondary sources about the topic. If notability cannot be established, the article is likely to be merged or deleted. (May 2009) |
| This article may contain original research or unverified claims. Please improve the article by adding references. See the talk page for details. (May 2009) |
Wallhacking is the changing of wall properties in first-person shooters. Most wallhacks are used to make a map's walls at least partially transparent, allowing players to see through opaque objects. Wallhacking is usually considered cheating, analogous to maphacking in real-time strategy games, and can lead to kicks and bans from online game servers if discovered.
Many FPS games provide weapons such as grenades that can kill unseen players, but such explosives rely on splash damage rather than direct hits. However, in a game like Call of Duty 4: Modern Warfare, certain guns can shoot through walls, rifles in particular. This allows them to see the enemy and kill them instantly, unseen.
Other types of wallhack include "wallwalk", in which players become able to see through and walk through walls. Sometimes referred to as "ghostmode", this hack enables sneak attacks on anyone walking by the wall, as the player inside the wall is essentially invisible.
Contents |
History
The first wallhack to appear was for Quake by id Software and simply an exploit/extension of the intent to provide transparency only to certain textures[1][2] -- like lava and water -- which in the software version and original GL versions of Quake were opaque. The methodology employed was to alter (VIS) the map file to have transparent walls -- in addition to lava and water -- rather than make use of an external program or software patch. Generally, only games released after the second-generation Quake-engine games detect and block direct modification to game content to prevent that method of wallhacking, as GL-capable video cards had reached a mass-market price-point.
Methodology
Valve's Half-Life brought wallhacks into more common use, with both Team Fortress Classic and Counter-Strike modifications for which wallhacks were available. The earliest wallhack for Half-Life — and similar games — worked by making everything partially transparent. Since game engines rarely do accurate occlusion checking and instead rely on the graphics hardware's depth buffer to do so, the player was able to see through walls to the objects that would normally not be visible. The major drawback of this method was a lack of clarity — some players found that the transparency of every surface made it hard to discern individual objects to the extent that they would occasionally walk into walls or try to shoot players through a wall. This is known as the Flautz-style wallhack after first encountered in a cheat by a programmer known as Flautz.
Slightly later wallhacks for Half-Life worked by hooking into the game engine's call to the OpenGL API function glBegin to check if the engine was about to render a triangle or a quad -- game entities and player characters are drawn with triangles, while level geometry is drawn with quads. If the wallhack detected a triangle was about to be rendered, it would call glDisable(GL_DEPTH_TEST) to prevent the graphics hardware from performing a depth-buffer comparison before rendering each pixel. In this way, the wallhack would cause game characters and game entities to appear on top of all map geometry (walls, floors and ceilings) regardless of their logical position within the world. One drawback of this method was that the lack of depth-testing on game entities and characters meant they were often rendered incorrectly, with the back-most polygons of a model being rendered before the front-most ones because they were sent through the graphics pipeline last. This is often known as the XQZ-style wallhack because it was first popularized in a cheat called XQZ2.
The most recent Half-Life wallhacks produce an effect almost identical to the XQZ-style wallhack without the visual corruption by taking advantage of the render queue of Half-Life-based mods. Half-Life renders all map geometry first, then game entities and characters. Thus, there is a period of time when map geometry is fully rendered but rendering of entities has not begun. The wallhack effect is achieved by clearing the depth buffer at this point, so that all game entities are then drawn onto what the graphics hardware believes is a clear screen. Depth-testing is not disabled, so the game entities and characters are still depth-checked against each other, but are not depth-tested against the game world, since that information has been cleared from the depth buffer. The result is that game entities and characters appear on top of map geometry regardless of their logical position within the game — but because they are still depth-tested against each other, there is no corruption of entity models as there is with the XQZ-style wallhack. Because of their similarity and lack of corruption, this method is known as Perfect XQZ.
Wallhacks for other games, such as Quake 3 or Battlefield 1942, usually use similar methods to those used in Half-Life. Even in games that use shaders for all rendering instead of the fixed-function pipeline, the GPU still handles depth-testing internally for most operations and the same techniques remain relevant. Advances in the way scenes are ordered and sent through the render pipeline may require slight changes in wallhack methods in order to differentiate between map geometry and game objects. Both OpenGL and Direct3D provide similar depth buffer and depth-testing functionality and neither one is significantly easier or harder to wallhack.
In 2001, ASUS released drivers for their graphics cards which allowed wallhacking. [1]
Detection
Wallhacks can be instantly recognized by anyone who physically sees a wallhack user's computer screen and thus are impossible to use at LAN parties; however, when playing online, detection is not so easy.
Cheat detection software such as PunkBuster might find it difficult to detect wallhacks. While most wallhacks are achieved by making changes to the game's renderer or maps (and are therefore detectable), some can simply be exploited hardware issues. For example, a player might discover that an obscure combination of a specific video card and driver causes the game objects to be rendered in wireframe.
Wallhacking can be difficult for other players to correctly identify in-game. A wallhacker might be skilled at hiding their virtual extra-sensory perception from other players. For example, consistently shooting people in the head through walls might alert players, but just knowing opponents are hiding behind an object is enough to give that player an advantage. One side effect of wallhacking is the tendency for players to accuse skilled or lucky opponents of cheating. This problem is exacerbated by the fact that experienced players are familiar with common hiding spots on any given map, and may bombard those areas even if they haven't actually seen an opponent there.
On the other hand, inexperienced wallhackers or players who are unconcerned with being detected will usually track players through walls and other solid objects, often in preference to potentially dangerous areas on which a non-cheating player would concentrate. This behaviour may be observed if the game has a spectator mode, or, more recently, in games such as the Call of Duty series, if a "kill-cam" or similar feature is active. This feature shows the last few seconds of a player's life from the first person perspective of their aggressor, thus making wallhacking extremely obvious to the player killed. However, these methods of detection are less useful if the wallhack user follows opponents in the peripheral vision provided by the game's field-of-view.
Wallhacks are released almost as quickly as the game for a great number of multi-player games. There will always be working wallhacks for every game, anti-cheat protected games included; however, when wallhacks are released publicly, the developer can easily download the wallhack and update their anti-cheat protection. Wallhacks that are released to a limited number of people, usually produced by a coterie of cheaters, or a gaming clan with someone knowledgeable enough to make the wallhack will prevent developers from easily detecting and protecting against these wallhacks. Historically, the older the game, the more likely anti-cheat will not be updated further, allowing wallhackers to freely cheat; many cheaters play older games specifically for this reason. Some players run their own servers for the purpose of cheating, to avoid consequences with a denial or ban the accuser.
References
See also
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)


