Free look
From DoomWiki.org
Free look is the ability to look up and down—more precisely, the ability to move the player field of view (FOV) vertically. The ability to use free look with the mouse in particular (as opposed to keyboard keys) is sometimes called mouse look.
Manual vertical aiming is often implemented along with free look. The term free look is thus sometimes used to imply such aiming. However, free look can also exist while retaining the aiming behavior of the original engine.
Original behavior[edit]
The original Doom engine, used in Doom and Doom II, only allowed the player to move the FOV horizontally, by turning left and right. FOV was always locked in the exact horizontal position, at 0 degrees elevation angle. The game's rendering code was built around this assumption. This allowed certain programming shortcuts to be used, speeding up the rendering, which was necessary for acceptable performance on the PC hardware of the time. It could not render other vertical viewpoint angles without distortion.
Lacking the ability to look or aim vertically, the game would autoaim at targets above or below the horizontal center, provided they were within the FOV. All the player had to do was turn left or right to put the target in the center column of the screen, and the engine handled the up/down aiming. Targets sufficiently high or low were essentially impossible to hit without moving around (changing the player's (X,Y) position).
Y-shearing[edit]
Some games derived from the Doom engine—notably Heretic, Hexen, and Strife—used a feature called Y-shearing to implement free look without major changes to the renderer. Controls to look up and down were provided. The same column-oriented rendering algorithms were used, but additional lines were rendered above/below the normal viewport. This allowed looking up and down within a limited range. The picture is distorted, and the distortion gets worse the further away from the horizontal the FOV is moved. Moving the FOV to a full 90 degrees elevation/depression is not possible with Y-shearing.
These games still did not allow aiming in the vertical direction; the same autoaim behavior was used as in the original Doom.
Some source ports also adopted this approach, especially early in the evolution of the Doom source code in the public community.
True 3D rendering[edit]
Source ports eventually began to implement true 3D rendering, using for example OpenGL. This rearchitected the Doom rendering pipeline to use a 3D model of the map view for rendering purposes. Undistorted free look at any angle is possible with such renders. A polygon renderer can also be written in software, as found in older versions of Vavoom that adapted the Quake software renderer to Doom.
Implementations[edit]
Sources[edit]
- Free look on Wikipedia
- Y-shearing at the ZDoom wiki