John carmack

John carmack Immagine in Infobox. John Carmack alla GDC 2010 Biografia
Nascita 20 agosto 1970
Roeland Park ( Kansas )
Nazionalità Americano
Casa Area metropolitana di Kansas City
Formazione Università del Missouri presso Kansas City
Shawnee Mission East High School ( a )
Raytown South High School ( a )
Attività CTO , ingegnere aerospaziale , programmatore , informatico , ingegnere , uomo d'affari , sviluppatore di videogiochi
Coniuge Katherine Anna Kang (da2000)
Altre informazioni
Lavorato per Armadillo Aerospace , Softdisk (fino al1991) , id Software (1 ° febbraio 1991 -22 novembre 2013) , Oculus VR (da7 agosto 2013)
le zone Videogioco , ingegneria spaziale e tecnologia , realtà virtuale
Premi AIAS Hall of Fame
Opere primarie
Doom , Quake , Wolfenstein 3D

John Carmack , nato il20 agosto 1970in Roeland Park in Kansas , è un ingegnere in informatica degli Stati Uniti , anche programmatore e sviluppatore di videogiochi .

È meglio conosciuto per essere stato il capo programmatore e co-fondatore (insieme a diverse persone, tra cui John Romero ) di id Software , una società di videogiochi americana. La sua abilità nella programmazione di computer gli ha permesso di diventare una celebrità nella comunità di giocatori e sviluppatori di applicazioni grafiche e motori di videogiochi 3D .

Da quando ha lasciato id Software nel 2013, è entrato a far parte di Oculus VR come direttore tecnico , acquisito nel 2014 da Facebook .

carriera

John Carmack è dietro a molti giochi sparatutto in prima persona (FPS) rilasciati da id Software , come: Wolfenstein 3D (il primo gioco del suo genere ad avere un certo successo), Doom (riconosciuto come una rivoluzione tecnologica e un enorme successo mondiale) e Quake (il primo FPS a presentare un ambiente in tempo reale completamente 3D , inclusi oggetti e personaggi, e il primo a introdurre il gioco multiplayer tramite Internet). Ha poi guidato lo sviluppo di Doom 3 , il cui motore grafico era all'avanguardia della tecnologia quando è stato rilasciato. Il suo ultimo progetto presso id Software sta guidando lo sviluppo di Rage e del motore grafico id Tech 5 .

Nel 2001, entra a far parte della Hall of Fame della Academy of Interactive Arts and Sciences .

È, con la moglie Katherine Anna Kang , il fondatore della compagnia Armadillo Aerospace , interessata ai razzi usati per i razzi spaziali.

Il 7 agosto 2013, John Carmack diventa direttore tecnico di Oculus VR , produttore di Oculus Rift , un visore per realtà virtuale . Per un po 'mantiene anche la sua posizione in id Software. Ma il22 novembre 2013, sta sicuramente lasciando id Software per lavorare a tempo pieno per Oculus VR. Diventa una sussidiaria di Facebook inMarzo 2014.

Un abile programmatore

Il successo di John Carmack si basa in particolare sulla sua capacità di trasporre in modo ottimale i migliori algoritmi e tecniche di rendering 3D su sistemi in tempo reale , rimanendo estremamente aggiornato con i nuovi sviluppi nel rendering 3D. È il più famoso sviluppatore indipendente in grado di produrre motori grafici che sfruttano al massimo i cambiamenti nell'hardware, in particolare schede grafiche per PC . Ha inventato diversi algoritmi , in particolare il Reverse di Carmack  ; non è il primo ad aver scoperto questo principio ma è il primo ad averlo utilizzato in modo efficace ed estensivo.

L' Id Tech 3 (motore di rendering 3D del gioco Quake III Arena ) essendo sotto licenza GNU GPL , è possibile consultare l'intero codice sorgente di questo gioco. Tra di esso troviamo due funzioni da tempo attribuite a John Carmack e chi lo farà Si è parlato molto: uno per calcolare una radice quadrata , l'altro per calcolare una radice quadrata invertita.

Scritta in C , la funzione che calcola una radice quadrata invertita è la seguente:

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; }

Questa funzione è perlomeno particolare poiché non contiene alcun loop, coinvolge solo una serie di calcoli elementari. Tuttavia, questo fornisce approssimazioni abbastanza accettabili (dell'ordine di 10-3 ). È anche fino a 4 volte più veloce della funzione (float) 1.0/sqrt(x)ed è quindi perfetto per un videogioco.

In realtà, questa funzione si basa su un metodo tratto dall'analisi numerica  : il metodo di Newton . La chiave della sua efficacia sta nell'utilizzo di una particolare costante 0x5f3759df . Questa costante esadecimale viene utilizzata come prima approssimazione e riduce notevolmente il numero di iterazioni necessarie per ottenere un'approssimazione soddisfacente. Questa costante - chiamata magia - è così notevole che una singola iterazione di Newton dà risultati sufficienti nel contesto del rendering grafico.

Da allora Chris Lomont della Purdue University ha studiato il problema. C'è una costante che fornisce migliori approssimazioni: 0x5f375a86 . Nel suo studio, Chris Lomont menziona anche il fatto che l'uso originale di questa costante potrebbe essere dovuto a Gary Tarolli, allora uno sviluppatore di nVidia .

Questa funzione è illegale in C ++ 03: i valori floatsono memorizzati nella FPU mentre gli interi sono usati dalla CPU .

Collaborazioni

Elenco dei principali videogiochi su cui John Carmack ha collaborato come programmatore, sviluppatore o direttore tecnico.

Data di rilascio Titolo Sviluppatore Editor Accreditato per
13 maggio 2016 Doom ( riavvio ) id Software Bethesda Softworks Direttore tecnico del treno, programmatore del motore del trainer, sviluppatore del trainer
16 ottobre 2012 Doom 3 BFG Edition id Software Bethesda Softworks Direttore tecnico, programmatore di motori, sviluppatore
4 ottobre 2011 Rabbia id Software Bethesda Softworks Direttore tecnico, programmatore di motori, sviluppatore
28 settembre 2007 Territorio nemico: Quake Wars Danni da schizzi Activision Programmazione
1 ° maggio 2006 Orchi ed Elfi Fountainhead Entertainment Arti elettroniche Produttore / programmatore / scrittore
18 ottobre 2005 Quake 4 Software Raven Activision, Bethesda Softworks (ripubblicato nel 2012) Direttore tecnico
13 settembre 2005 Doom RPG  (en) Fountainhead Entertainment id Software Produttore / Programma
3 aprile 2005 Doom 3: Resurrection of Evil Software nervoso Activision Direttore tecnico
3 agosto 2004 Doom 3 id Software Activision Direttore tecnico
19 novembre 2001 Ritorno al castello Wolfenstein id Software Activision Direttore tecnico
18 dicembre 2000 Quake III: Team Arena id Software Activision Programmazione
2 dicembre 1999 Quake III Arena id Software Activision Programmazione
30 novembre 1997 Quake II id Software Activision Programmazione
31 marzo 1997 Doom 64 Midway Games Midway Games Programmazione
22 giugno 1996 Quake id Software GT Interactive Programmazione
31 maggio 1996 Destino finale id Software GT Interactive Programmazione
30 ottobre 1995 Hexen: Beyond Heretic Software Raven id Software Motore 3D
23 dicembre 1994 Eretico Software Raven id Software Programmatore del motore
30 settembre 1994 Doom II: Hell on Earth id Software GT Interactive Programmazione
10 dicembre 1993 Destino id Software id Software Programmazione
1993 ShadowCaster Software Raven Sistemi di origine Motore 3D
18 settembre 1992 Lancia del destino id Software FormGen Ingegnere del software
5 maggio 1992 Wolfenstein 3D id Software Software Apogee Programmazione
1991 Catacomba 3-D id Software Softdisk Programmazione
1991 Ordina Keen in Aliens Ate My Babysitter! id Software FormGen Programmazione
15 dicembre 1991 Ordina Keen in Goodbye, Galaxy! id Software Software Apogee Programmazione
1991 Ordina Keen in Keen Dreams id Software Softdisk Programmazione
1991 Cavalieri dell'Ombra id Software Softdisk Progettazione / programmazione
1991 Rescue Rover 2 id Software Softdisk Programma
1991 Rescue Rover id Software Softdisk Programma
1991 Hovertank 3D id Software Softdisk Programmazione
1991 Dave pericoloso nella villa stregata id Software Softdisk Programmazione
1991 Dark Designs III: Retribution Softdisk Softdisk Programmatore / designer
14 dicembre 1990 Comandante Keen in Invasion of the Vorticons id Software Software Apogee Programmazione
1990 Slordax: The Unknown Enemy Softdisk Softdisk Programmazione
1990 Catacomba II Softdisk Softdisk Sviluppatore
1990 Catacomba Softdisk Softdisk Programma
1990 Dark Designs II: Closing the Gate Softdisk Softdisk Programmatore / designer
1990 Disegni oscuri: Bastone di Grelminar John carmack Softdisk Sviluppatore
1990 Tennis John carmack Softdisk Sviluppatore
1990 Wraith: The Devil's Demise John carmack Nite Owl Productions Sviluppatore
1989 Shadowforge John carmack Nite Owl Productions Sviluppatore

Note e riferimenti

  1. Domande frequenti su Armadillo Aerospace
  2. "  John Carmack si unisce a Oculus VR come chief technology officer [aggiornato]  " , su Ars Technica (accesso 20 agosto 2020 ) .
  3. http://kotaku.com/john-carmack-has-a-new-job-but-still-involved-with-1053820115
  4. Sean Hollister, "  John Carmack si dimette da id Software per concentrarsi su Oculus VR  " , su theverge.com ,22 novembre 2013(accesso 20 agosto 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/

Vedi anche

Bibliografia

Articolo correlato

link esterno