John carmack

John carmack Imagine în Infobox. John Carmack la GDC 2010 Biografie
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)
Alte informații
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
Lucrări primare
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 .

Carieră

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.

Un programator șiret

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 .

Colaborări

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

Note și referințe

  1. Întrebări frecvente despre Armadillo Aerospace
  2. „  John Carmack se alătură Oculus VR ca director tehnologic [actualizat]  ” , pe Ars Technica (accesat la 20 august 2020 ) .
  3. http://kotaku.com/john-carmack-has-a-new-job-but-still-involved-with-1053820115
  4. Sean Hollister, „  John Carmack demisionează de la id Software pentru a se concentra pe Oculus VR  ” , la theverge.com ,22 noiembrie 2013(accesat la 20 august 2020 ) .
  5. http://www.math.purdue.edu/
  6. http://www.beyond3d.com/content/articles/8/
  7. http://article.gmane.org/gmane.games.devel.algorithms/20768/

Vezi și tu

Bibliografie

Articol asociat

linkuri externe