QuakeC is a scripting language made by id Software to be used to program the computer game Quake. Using QuakeC, a programmer is able to customize Quake to great extents by adding weapons, abilities (such as flying) and programming complex scenarios. It can be used to control many aspects of the game itself.

QuakeC was developed in 1996 by John Carmack. The scripting is allows means the life of the game can be extended even after the game had been mastered.

Despite poor reviews by many of the leading magazines, and despite a public favoring of Duke Nukem 3D, QuakeC allowed the quake engine to dominate the direction of the first person shooter genre. Thanks to Carmack's idea of extending computer game life by adding unlimited expandability an enormous internet community of gamers and programmers alike has arisen and nearly every modern multiplayer game is completely expandable. While they don't all use QuakeC, QuakeC was the first to truly popularize it.

Its syntax is quite similar to C, explaining for its name, although is much more limited. For example Quake C does not allow the implementation of new types through either structures or objects. Quake C also does not support many of the 'obfuscation' abilities of the other C family languages. For example:

SomeFunction(getWidth());

would be an invalid Quake C statement. Other examples of these quirks include Quake C's inability to assign default values to variables. These minor limitations aside the Quake C programming or scripting language was one of the most powerful of its type for the time and defined a sub style of game design that is still employed today.

See also