QuakeC

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 6 ianuarie 2018; verificarea necesită 1 editare .

QuakeC  este un limbaj de programare interpretat dezvoltat în 1996 de John Carmack ( id Software ) pentru a scrie o parte din jocul de calculator Quake . Folosind QuakeC, un programator are capacitatea de a modifica jocul: adăuga arme, schimbă logica și fizica jocului, scrie un script complex. Limbajul poate fi folosit pentru a controla multe aspecte ale jocului, cum ar fi inteligența artificială (oponenții), declanșatoarele, modificările hărții.

Codul sursă QuakeC a fost publicat în 1996 și a fost folosit ca bază pentru scrierea de mod-uri (cum ar fi „ Capture the Flag ”) pentru Quake. Programele QuakeC sunt compilate în bytecode folosind un utilitar numit qcc. Acest lucru a permis programatorilor să-și publice modurile fără a deschide codul sursă.

QuakeC a fost folosit în Quake 1, în Quake 2 și jocurile ulterioare de către Id Software, a fost înlocuit cu DLL-uri de sistem de operare încărcate (.dll pe Windows și .so pe Unix ) cu cod nativ executabil de CPU în loc de bytecode. Acest lucru a crescut flexibilitatea de a crea modificări la Quake, de exemplu, a devenit posibil să scrieți în orice fișiere din sistemul de fișiere, dar a redus securitatea (QuakeC a rulat codul într-un sandbox securizat). Dar acest lucru nu este atât de înfricoșător - codul conținut în biblioteca de modificări este executat pe serverul Quake și nu pe clientul care se conectează la acesta, așa că, pur și simplu, prin conectarea la serverul Quake, nu puteți, de exemplu, să vă infectați cu un troian. (fără a număra cazurile cu vulnerabilități în client de tip buffer overflow ).

Motivul creării QuakeC poate fi acela că sistemul MS-DOS , sub care jocul Quake a fost lansat inițial, nu avea sisteme de încărcare a bibliotecii „native”.

Link -uri