almost as precisely as when playing in single-player mode. The Netcode parameters could be adjusted by the user so that QuakeWorld performed well for users with high and low latency. The trade off to client-side prediction was that sometimes other players or objects would no longer be quite where they had appeared to be, or, in extreme cases, that the player would be pulled back to a previous position when the client received a late reply from the server which overrode movement the client had already previewed; this was known as "warping". As a result, some serious players, particularly in the U.S., still preferred to play online using the original Quake engine (commonly called NetQuake) rather than QuakeWorld. However, the majority of players, especially those on dial-up connections, preferred the newer network model, and QuakeWorld soon became the dominant form of online play. Following the success of QuakeWorld, client-side prediction has become a standard feature of nearly all real-time online games. As with all other Quake upgrades, QuakeWorld was released as a free, unsupported add-on to the game and was updated numerous times through 1998. GLQuake On January 22, 1997, id Software released GLQuake. This was designed to use the OpenGL 3D API to access hardware 3D graphics acceleration cards to rasterize the graphics, rather than having the computer's CPU fill in every pixel. In addition to higher framerates for most players, GLQuake provided higher resolution modes and texture filtering. GLQuake also experimented with reflections, transparent water, and even rudimentary shadows. GLQuake came with a driver enabling the subset of OpenGL used by the game to function on the 3dfx Voodoo Graphics card, the only consumer-level card at the time capable of running GLQuake well. Previously, John Carmack had experimented with a version of Quake specifically written for the Rendition Vérité chip used in the Creative Labs PCI 3D Blaster card. This version had met with only limited success, and Carmack decided to write for generic APIs in the future rather than tailoring for specific hardware. WinQuake On March 11, 1997, id Software released WinQuake, a version of the non-OpenGL engine designed to run under Microsoft Windows; the original Quake had been written for DOS, allowing for launch from Windows 95, but could not run under Windows NT-based operating systems because it required direct access to hardware. WinQuake instead accessed hardware via Win32-based APIs such as DirectSound, DirectInput, and DirectDraw