John carmack

John carmack Imagen en Infobox. John Carmack en GDC 2010 Biografía
Nacimiento 20 de agosto de 1970
Roeland Park ( Kansas )
Nacionalidad americano
Casa Área metropolitana de Kansas City
Capacitación Universidad de Missouri en Kansas City
Shawnee Mission East High School ( en )
Raytown South High School ( en )
Ocupaciones CTO , ingeniero aeroespacial , programador , informático , ingeniero , empresario , desarrollador de videojuegos
Cónyuge Katherine Anna Kang (desde2000)
Otras informaciones
Trabajé para Armadillo Aerospace , Softdisk (hasta1991) , software de identificación (1 st de febrero de de 1991 -22 de noviembre de 2013) , Oculus VR (desde7 de agosto de 2013)
Áreas Videojuego , ingeniería y tecnología espacial , realidad virtual
Premios Salón de la Fama AIAS
Obras primarias
Condenación , Terremoto , Wolfenstein 3D

John Carmack , nacido el20 de agosto de 1970en Roeland Park en Kansas , es ingeniero en computación estadounidense , también programador y desarrollador de videojuegos .

Es mejor conocido por haber sido el programador principal y cofundador (junto con varias personas, incluido John Romero ) de id Software , una empresa estadounidense de videojuegos. Su habilidad en la programación de computadoras le ha permitido convertirse en una celebridad en la comunidad de jugadores y desarrolladores de aplicaciones gráficas y motores de videojuegos 3D .

Desde que dejó id Software en 2013, se unió a Oculus VR como director técnico , que fue adquirida en 2014 por Facebook .

Carrera profesional

John Carmack está detrás de muchos juegos de disparos en primera persona (FPS) lanzados por id Software , como: Wolfenstein 3D (el primer juego de este tipo en lograr cierto éxito), Doom (reconocido como una revolución tecnológica y un gran éxito mundial) y Quake. (el primer FPS que presenta un entorno en tiempo real completamente 3D , que incluye objetos y personajes, y el primero en introducir el juego multijugador a través de Internet). Luego dirigió el desarrollo de Doom 3 , cuyo motor gráfico estaba a la vanguardia de la tecnología cuando fue lanzado. Su último proyecto en id Software es liderar el desarrollo de Rage y el motor gráfico id Tech 5 .

En 2001, se unió al Salón de la Fama de la Academia de Artes y Ciencias Interactivas .

Es, junto a su esposa Katherine Anna Kang , el fundador de la empresa Armadillo Aerospace , que se interesa por los cohetes utilizados para cohetes espaciales.

La 7 de agosto de 2013, John Carmack se convierte en director técnico de Oculus VR , fabricante de Oculus Rift , un visor de realidad virtual . También conserva su puesto en id Software por un tiempo. Pero22 de noviembre de 2013, definitivamente dejará id Software para trabajar a tiempo completo para Oculus VR. Se convierte en una subsidiaria de Facebook enMarzo del 2014.

Un programador astuto

El éxito de John Carmack se basa en particular en su capacidad para transponer de manera óptima los mejores algoritmos y técnicas de renderizado 3D a sistemas en tiempo real , sin dejar de estar extremadamente actualizado con los nuevos desarrollos en renderizado 3D. Es el desarrollador independiente más famoso capaz de producir motores gráficos que aprovechan al máximo los cambios en el hardware, en particular, tarjetas gráficas para PC . Inventó varios algoritmos , en particular el reverso de Carmack  ; no es el primero en haber descubierto este principio, pero es el primero en haberlo utilizado de manera eficaz y extensa.

El Id Tech 3 (motor de renderizado 3D del juego Quake III Arena ) al estar bajo la licencia GNU GPL , es posible consultar el código fuente completo de este juego. Entre ellos, encontramos dos funciones largamente atribuidas a John Carmack y quien Se ha hablado mucho: uno para calcular una raíz cuadrada , el otro para calcular una raíz cuadrada invertida.

Escrita en C , la función que calcula una raíz cuadrada invertida es la siguiente:

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

Esta función es al menos particular ya que no contiene ningún bucle, solo involucra una serie de cálculos elementales. Sin embargo, esto proporciona aproximaciones bastante aceptables (del orden de 10 -3 ). Es incluso hasta 4 veces más rápido que la función (float) 1.0/sqrt(x)y, por lo tanto, es perfecto para un videojuego.

En realidad, esta función se basa en un método extraído del análisis numérico  : el método de Newton . La clave de su eficacia radica en el uso de una constante particular 0x5f3759df . Esta constante hexadecimal se utiliza como una primera aproximación y reduce notablemente el número de iteraciones necesarias para obtener una aproximación satisfactoria. Esta constante, llamada magia , es tan notable que una sola iteración de Newton da resultados suficientes en el contexto de la representación gráfica.

Chris Lomont de Purdue University ha investigado el tema desde entonces. Hay una constante que proporciona mejores aproximaciones: 0x5f375a86 . En su estudio, Chris Lomont también menciona el hecho de que el uso original de esta constante podría deberse a Gary Tarolli, entonces desarrollador de nVidia .

Esta función es ilegal en C ++ 03: los valores floatse almacenan en la FPU mientras que la CPU usa los números enteros .

Colaboraciones

Relación de los principales videojuegos en los que John Carmack ha colaborado como programador, desarrollador o director técnico.

Fecha de lanzamiento Título Desarrollador Editor Acreditado por
13 de mayo de 2016 Doom ( reiniciar ) software de identificación Bethesda Softworks Director técnico de formación, programador de motores de formación, desarrollador de formadores
16 de octubre de 2012 Edición Doom 3 BFG software de identificación Bethesda Softworks Director técnico, programador de motores, desarrollador
4 de octubre de 2011 Furia software de identificación Bethesda Softworks Director técnico, programador de motores, desarrollador
28 de septiembre de 2007 Territorio enemigo: Quake Wars Daño por salpicadura Activision Programación
1 st de mayo de de 2006 Orcos y Elfos Entretenimiento de Fountainhead Artes electrónicas Productor / programador / escritor
18 de octubre de 2005 Terremoto 4 Software Cuervo Activision, Bethesda Softworks (republicado en 2012) Director técnico
13 de septiembre de 2005 Doom RPG  (en) Entretenimiento de Fountainhead software de identificación Productor / programa
3 de abril de 2005 Doom 3: Resurrección del mal Software nervioso Activision Director técnico
3 de agosto de 2004 Doom 3 software de identificación Activision Director técnico
19 de noviembre de 2001 Regreso al castillo de Wolfenstein software de identificación Activision Director técnico
18 de diciembre de 2000 Quake III: Team Arena software de identificación Activision Programación
2 de diciembre de 1999 Arena Quake III software de identificación Activision Programación
30 de noviembre de 1997 Quake II software de identificación Activision Programación
31 de marzo de 1997 Doom 64 Juegos de mitad de camino Juegos de mitad de camino Programación
22 de junio de 1996 Terremoto software de identificación GT interactivo Programación
31 de mayo de 1996 Condenación final software de identificación GT interactivo Programación
30 de octubre de 1995 Hexen: más allá del hereje Software Cuervo software de identificación Motor 3D
23 de diciembre de 1994 Hereje Software Cuervo software de identificación Programador de motores
30 de septiembre de 1994 Doom II: Infierno en la Tierra software de identificación GT interactivo Programación
10 de diciembre de 1993 Condenar software de identificación software de identificación Programación
1993 ShadowCaster Software Cuervo Sistemas de origen Motor 3D
18 de septiembre de 1992 Lanza del Destino software de identificación FormGen Ingeniero de software
5 de mayo de 1992 Wolfenstein 3D software de identificación Software Apogee Programación
1991 Catacumba 3-D software de identificación Softdisk Programación
1991 ¡Ordene Keen en Aliens Ate My Babysitter! software de identificación FormGen Programación
15 de diciembre de 1991 ¡Ordene Keen en Adiós, Galaxy! software de identificación Software Apogee Programación
1991 Order Keen in Keen Dreams software de identificación Softdisk Programación
1991 Caballeros de la sombra software de identificación Softdisk Diseño / programación
1991 Rescue Rover 2 software de identificación Softdisk Programa
1991 Rescue Rover software de identificación Softdisk Programa
1991 Hovertank 3D software de identificación Softdisk Programación
1991 Dave el peligroso en la mansión encantada software de identificación Softdisk Programación
1991 Diseños oscuros III: Retribución Softdisk Softdisk Programador / diseñador
14 de diciembre de 1990 Comandante interesado en la invasión de los vorticons software de identificación Software Apogee Programación
1990 Slordax: El enemigo desconocido Softdisk Softdisk Programación
1990 Catacumba II Softdisk Softdisk Desarrollador
1990 Catacumba Softdisk Softdisk Programa
1990 Dark Designs II: Cerrando la puerta Softdisk Softdisk Programador / diseñador
1990 Diseños oscuros: bastón de Grelminar John carmack Softdisk Desarrollador
1990 Tenis John carmack Softdisk Desarrollador
1990 Wraith: La desaparición del diablo John carmack Producciones Nite Owl Desarrollador
1989 Forja de las Sombras John carmack Producciones Nite Owl Desarrollador

Notas y referencias

  1. Preguntas frecuentes sobre Armadillo Aerospace
  2. "  John Carmack se une a Oculus VR como director de tecnología [actualizado]  " , en Ars Technica (consultado el 20 de agosto de 2020 ) .
  3. http://kotaku.com/john-carmack-has-a-new-job-but-still-involved-with-1053820115
  4. Sean Hollister, "  John Carmack dimite de id Software para centrarse en Oculus VR  " , en theverge.com ,22 de noviembre de 2013(consultado el 20 de agosto de 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/

Ver también

Bibliografía

  • David Kushner  (en) , Masters of Doom: Cómo dos chicos crearon un imperio y transformaron la cultura pop  (en) , Random House , 2003. ( ISBN  0-375-50524-5 )

Artículo relacionado

enlaces externos