Editing Engines (section) From Quake Wiki Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits. Anti-spam check. Do not fill this in! ==Overview== The '''game engine''' (a.k.a. '''Quake engine''' or just '''engine''') is the 'executable' program you run to actually play Quake. It loads the game's maps/models/skins/etc., figures out what to draw on the screen, responds to your keyboard/mouse input, sends sounds to your sound device, and communicates over the network. The game engine normally resides in the root Quake folder and expects to have access to the ID1 subfolder which contains, at the very least, the files needed to play Episode 1 (normally ''pak0.pak''). Other common names are "client" or "source port". "Client" is a correct yet overly technical title unless you are talking about a [[QuakeWorld]] client. A "source port" would technically be a port of a Quake engine to another architecture like Linux or a console. ===Client-server model=== Quake engines operate on a client-server model. Depending on the engine, the client and server can be in the same file, or can be separate. If they're in the same file, then when you run the engine, the server always runs. The client normally runs, too, unless you did something special to launch the engine in a server-only mode (e.g., for other people to connect to for playing over a network). So when you play a single-player game of Quake, the client portion of your engine communicates with the server portion. When you play a multiplayer game over a network, the client portion of your engine instead communicates with a remote server, which naturally will be subject to speed limits and delays inherent in the network. If they're separate programs, then you only run the client, and you tell it where a server is running that you want to connect to. A [[server browser]] can help you locate servers where you can join a game and play with other people. ===Networking and graphics=== Engines generally fall into two categories: * "[[NetQuake]]" engines: engines with networking code compatible with that of the original Quake engine. * "[[QuakeWorld]]" engines: engines with networking code compatible with that of the original QuakeWorld engine. Additionally, all engines use one of two graphics rendering technologies: * Software rendering: rendering is done entirely in software, without the help of graphics hardware, as in the original Quake and QuakeWorld engines. * OpenGL rendering: rendering is done with the help of graphics hardware, as in the original GLQuake and GLQuakeWorld engines. QuakeWorld-style networking code and OpenGL-style rendering are standard nowadays in pretty much every first-person shooter, but at the time Quake was released in 1996, both were new technologies. You will probably want to use an engine with OpenGL support, if your hardware is compatible (pretty much any computer built after 1997 will be). And you will probably want to use a QuakeWorld engine for playing over the Internet. However, for single-player games, especially when you're just getting started, a NetQuake engine may be ideal, for the simple reason that QuakeWorld engines often don't support single-player games. ===More information=== Wikipedia has a [http://en.wikipedia.org/wiki/Quake_engine Quake engine article] containing more technical info about Quake engines, and nice diagrams showing all the engines and how they're related. Summary: Please note that all contributions to Quake Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Quake Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here. You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission! To edit this page, please answer the question that appears below (more info): Who created the Quake Soundtrack (Hint: In three uppercase letters)? Cancel | Editing help (opens in new window) Retrieved from "http://quakewiki.org/wiki/Engines"