Satanic Slaughter Clan
Keyword search
General toolbox
Latest results
Random IRC-quote » News » Quake C released


Quake C released

25.7.1996 - Blob

"Quake C" is a programming language created by John Carmack specifically for Quake. While the Quake engine controls graphics, networking, and player control, Quake C controls the gameplay of Quake. Since the Quake C source code and compiler were released for free, hundreds of patches to enhance gameplay have been released.

Quake C is a boon to players everywhere because it allows virtually infinite possibilities for gameplay. By modifying the standard quake c (.qc) source code, programmers can make simple patches (changes) such as making a weapon fire faster or slower. Experienced QC programmers have created complex addons that modify quake c, as well as add new graphics, sounds, and levels. For examples of the possibilities of quake c, check out some Total Conversions, Mods, or the collection at the Quake C archives.

Quake C is based on the classic C programming language by Kernighan & Ritchie. While C was created in the 1970's and intended to be a real language, Quake C is a subset (smaller version) of C meant to be used only for programming Quake's gameplay. Although C compilers make .exe's, the QCC compiler makes a "progs.dat" file that is interpreted by the Quake engine. There have been programs created to decompile/reverse engineer (go from compiled useable form to source code) the progs.dat file, as well as programs (known as scramblers) to counter decompilers.

Although Quake C is powerful, id software and other companies using the quake engine are moving away from the interpreted QC towards compiled DLLs. Quake C is known as interpreted because as Quake runs, it is continually interpreting the progs.dat file. A DLL (dynamically linked library) would be pre-compiled. DLLs would therefore be faster, and offer more power to programmers. Since DLLs have total access to the system, they can theoretically do anything they want, such as formatting your hard drive or just storing player information. On the other hand, Quake C is platform independent (can run on many types of systems), and slower but more secure.

Add comment: