Naștere |
20 august 1970 Roeland Park ( Kansas ) |
---|---|
Naţionalitate | american |
Acasă | Zona metropolitană Kansas City |
Instruire |
Universitatea din Missouri la Kansas City Shawnee Mission East High School ( în ) Raytown South High School ( în ) |
Activități | CTO , inginer aerospațial , programator , informatician , inginer , om de afaceri , dezvoltator de jocuri video |
Soț / soție | Katherine Anna Kang (de la2000) |
Lucrat pentru | Armadillo Aerospace , Softdisk (până la1991) , id Software (1 st luna februarie 1991 de -22 noiembrie 2013) , Oculus VR (din7 august 2013) |
---|---|
Zone | Joc video , inginerie spațială și tehnologie , realitate virtuală |
Premii | Sala Famei AIAS |
Doom , Quake , Wolfenstein 3D |
John Carmack , născut pe20 august 1970în Roeland Park din Kansas , este inginer în calculatoare SUA , de asemenea programator și dezvoltator de jocuri video .
El este cunoscut mai ales pentru că a fost programatorul principal și cofondatorul (împreună cu mai mulți oameni, inclusiv John Romero ) al id Software , o companie americană de jocuri video. Abilitatea sa în programarea computerelor i-a permis să devină o celebritate în comunitatea jucătorilor și dezvoltatorilor de aplicații grafice și motoare de jocuri video 3D .
De când a părăsit id Software în 2013, s-a alăturat Oculus VR ca director tehnic , care a fost achiziționat în 2014 de Facebook .
John Carmack se află în spatele multor jocuri cu shootere la prima persoană (FPS) lansate de id Software , precum: Wolfenstein 3D (primul joc de acest gen care a obținut un anumit succes), Doom (recunoscut ca o revoluție tehnologică și un succes imens la nivel mondial) și Quake (primul FPS care prezintă un mediu complet 3D în timp real , inclusiv obiecte și personaje, și primul care introduce jocul multi-player prin Internet). Apoi a dirijat dezvoltarea Doom 3 , al cărui motor grafic era la vârf al tehnologiei când a fost lansat. Ultimul său proiect la id Software conduce dezvoltarea Rage și a motorului grafic id Tech 5 .
În 2001, s-a alăturat Hall of Fame al Academiei de Arte și Științe Interactive .
El este, împreună cu soția sa Katherine Anna Kang , fondatorul companiei Armadillo Aerospace , care este interesată de rachetele folosite pentru rachetele spațiale.
7 august 2013, John Carmack devine director tehnic al Oculus VR , producător al Oculus Rift , o cască de realitate virtuală . De asemenea, el își păstrează poziția la id Software pentru o vreme. Cu exceptia22 noiembrie 2013, lasă cu siguranță id Software pentru a lucra cu normă întreagă pentru Oculus VR. Devine o filială a Facebook înMartie 2014.
Succesul lui John Carmack se bazează în special pe capacitatea sa de a transpune în mod optim cei mai buni algoritmi și tehnici de redare 3D pe sisteme în timp real , rămânând în același timp la curent cu noile evoluții în redarea 3D. El este cel mai faimos dezvoltator independent capabil să producă motoare grafice care profită la maximum de schimbările hardware, în special plăcile grafice pentru PC-uri . A inventat mai mulți algoritmi , în special Reverse-ul lui Carmack ; el nu este primul care a descoperit acest principiu, ci este primul care l-a folosit eficient și pe scară largă.
Id - ul Tech 3 (motorul de randare 3D a jocului Quake III Arena ) fiind sub GNU GPL licență , este posibil să se consulte întregul cod sursă al acestui joc. Printre ei, găsim două funcții lungi atribuite lui John Carmack și cine va s-a vorbit mult despre ele: una pentru a calcula o rădăcină pătrată , cealaltă pentru a calcula o rădăcină pătrată inversată.
Scrisă în C , funcția care calculează o rădăcină pătrată inversată este următoarea:
float Q_rsqrt( float number ){ long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hacking i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed #ifndef Q3_VM #ifdef __linux__ assert( !isnan(y) ); // bk010122 - FPE? #endif #endif return y; }Această funcție este cel puțin specială, deoarece nu conține nicio buclă, implică doar o serie de calcule elementare. Cu toate acestea, acest lucru oferă aproximări destul de acceptabile (de ordinul 10-3 ). Este chiar de până la 4 ori mai rapid decât funcția (float) 1.0/sqrt(x)și, prin urmare, este perfect pentru un joc video.
În realitate, această funcție se bazează pe o metodă extrasă din analiza numerică : metoda lui Newton . Cheia eficacității sale constă în utilizarea unei constante speciale 0x5f3759df . Această constantă hexazecimală este utilizată ca o primă aproximare și reduce în mod remarcabil numărul de iterații necesare pentru a obține o aproximare satisfăcătoare. Această constantă - numită magie - este atât de remarcabilă încât o singură iterație a lui Newton dă rezultate suficiente în contextul redării grafice.
Chris Lomont de la Universitatea Purdue a cercetat problema de atunci. Există o constantă care oferă aproximări mai bune: 0x5f375a86 . În studiul său, Chris Lomont menționează, de asemenea, faptul că utilizarea inițială a acestei constante ar putea fi datorată lui Gary Tarolli, atunci dezvoltator la nVidia .
Această funcție este ilegală în C ++ 03: valorile floatsunt stocate în FPU în timp ce numerele întregi sunt utilizate de CPU .
Lista principalelor jocuri video la care John Carmack a colaborat ca programator, dezvoltator sau director tehnic.
Data de lansare | Titlu | Dezvoltator | Editor | Creditat pentru |
---|---|---|---|---|
13 mai 2016 | Doom ( repornire ) | Software id | Bethesda Softworks | Director tehnic de tren, programator de motoare de antrenor, dezvoltator de antrenor |
16 octombrie 2012 | Doom 3 BFG Edition | Software id | Bethesda Softworks | Director tehnic, programator de motoare, dezvoltator |
4 octombrie 2011 | Furie | Software id | Bethesda Softworks | Director tehnic, programator de motoare, dezvoltator |
28 septembrie 2007 | Enemy Territory: Quake Wars | Daune prin stropire | Activision | Programare |
1 st luna mai anul 2006 | Orci și spiriduși | Fountainhead Entertainment | Arte Electronice | Producător / programator / scriitor |
18 octombrie 2005 | Cutremurul 4 | Raven Software | Activision, Bethesda Softworks (republicată 2012) | Director tehnic |
13 septembrie 2005 | Doom RPG (ro) | Fountainhead Entertainment | Software id | Producător / program |
3 aprilie 2005 | Doom 3: Învierea răului | Nerve Software | Activision | Director tehnic |
3 august 2004 | Doom 3 | Software id | Activision | Director tehnic |
19 noiembrie 2001 | Întoarceți-vă la Castelul Wolfenstein | Software id | Activision | Director tehnic |
18 decembrie 2000 | Quake III: Arena echipei | Software id | Activision | Programare |
2 decembrie 1999 | Quake III Arena | Software id | Activision | Programare |
30 noiembrie 1997 | Cutremur II | Software id | Activision | Programare |
31 martie 1997 | Doom 64 | Jocuri Midway | Jocuri Midway | Programare |
22 iunie 1996 | Cutremur | Software id | GT Interactive | Programare |
31 mai 1996 | Doom final | Software id | GT Interactive | Programare |
30 octombrie 1995 | Hexen: Dincolo de eretic | Raven Software | Software id | Motor 3D |
23 decembrie 1994 | Eretic | Raven Software | Software id | Programator de motoare |
30 septembrie 1994 | Doom II: Hell on Earth | Software id | GT Interactive | Programare |
10 decembrie 1993 | Doom | Software id | Software id | Programare |
1993 | ShadowCaster | Raven Software | Sisteme de origine | Motor 3D |
18 septembrie 1992 | Sulita Destinului | Software id | FormGen | Inginer de software |
5 mai 1992 | Wolfenstein 3D | Software id | Software Apogee | Programare |
1991 | Catacomb 3-D | Software id | Softdisk | Programare |
1991 | Comandați Keen in Aliens Ate My Babysitter! | Software id | FormGen | Programare |
15 decembrie 1991 | Comandă Keen la revedere, Galaxy! | Software id | Software Apogee | Programare |
1991 | Comandați Keen în Keen Dreams | Software id | Softdisk | Programare |
1991 | Cavalerii din umbră | Software id | Softdisk | Proiectare / programare |
1991 | Rescue Rover 2 | Software id | Softdisk | Program |
1991 | Rescue Rover | Software id | Softdisk | Program |
1991 | Hovertank 3D | Software id | Softdisk | Programare |
1991 | Dave periculos în conacul bântuit | Software id | Softdisk | Programare |
1991 | Dark Designs III: Retribution | Softdisk | Softdisk | Programator / proiectant |
14 decembrie 1990 | Comandantul Dornic în Invazia Vorticonilor | Software id | Software Apogee | Programare |
1990 | Slordax: Inamicul necunoscut | Softdisk | Softdisk | Programare |
1990 | Catacomb II | Softdisk | Softdisk | Dezvoltator |
1990 | Catacombă | Softdisk | Softdisk | Program |
1990 | Dark Designs II: Închiderea porții | Softdisk | Softdisk | Programator / proiectant |
1990 | Modele întunecate: personalul lui Grelminar | John carmack | Softdisk | Dezvoltator |
1990 | Tenis | John carmack | Softdisk | Dezvoltator |
1990 | Wraith: Demil's Devil | John carmack | Nite Owl Productions | Dezvoltator |
1989 | Shadowforge | John carmack | Nite Owl Productions | Dezvoltator |