QuakeC je interpretovaný programovací jazyk vyvinutý v roce 1996 Johnem Carmackem ( id Software ) k napsání části počítačové hry Quake . Pomocí QuakeC má programátor možnost upravit hru: přidat zbraně, změnit logiku a fyziku hry, napsat složitý skript. Jazyk lze použít k ovládání mnoha aspektů hry, jako je umělá inteligence (protivníci), spouštěče, změny mapy.
Zdrojový kód QuakeC byl publikován v roce 1996 a byl použit jako základ pro psaní modů (jako je „ Capture the Flag “) pro Quake. Programy QuakeC jsou kompilovány do bajtového kódu pomocí nástroje nazvaného qcc. To umožnilo programátorům publikovat své mody bez otevření zdrojového kódu.
QuakeC byl použit v Quake 1, v Quake 2 a pozdějších hrách od Id Software byl nahrazen načítatelnými DLL operačního systému (.dll na Windows a .so na Unixu ) s nativním CPU-spustitelným kódem namísto bajtkódu. To zvýšilo flexibilitu při vytváření modifikací Quake, například bylo možné zapisovat do jakýchkoli souborů v souborovém systému, ale snížilo se zabezpečení (QuakeC spouštěl kód v zabezpečené karanténě). Ale to není tak děsivé - kód obsažený v knihovně modifikací se spouští na serveru Quake, a ne na klientovi, který se k němu připojuje, takže pouhým připojením k serveru Quake se nemůžete například nakazit trojským koněm. (nepočítáme případy se zranitelností v klientovi typu přetečení vyrovnávací paměti ).
Důvodem pro vytvoření QuakeC může být to, že systém MS-DOS , pod kterým byla hra Quake původně vydána, neměl "nativní" systémy načítání knihoven.