Michael Abrash es un ejecutivo de software, programador y escritor técnico que se especializa en optimización de código y lenguaje ensamblador 80x86 , una reputación cimentada por su libro de 1990 Zen of Assembly Language Volume 1: Knowledge [2] y una columna mensual en el Dr. Dobb's Journal a principios de Década de 1990. Un libro posterior, Zen of Graphics Programming , aplicó estas ideas a gráficos 2D y 3D antes de la llegada de los aceleradores de hardware para PC. [3] Aunque no es estrictamente un programador de juegos, Abrash ha trabajado en la tecnología subyacente para juegos, como Quake., durante gran parte de su carrera. Desde 2014, ha sido el científico jefe de Oculus VR , una subsidiaria de Facebook, Inc. [4]
Michael Abrash | |
---|---|
Nació | 1957 (63 a 64 años) [1] |
Ocupación | Programador Escritor técnico |
Empleador | Oculus VR |
Título | El científico en jefe |
Programador de juegos
Abrash compró una microcomputadora por primera vez mientras realizaba estudios de posgrado en la Universidad de Pensilvania . [ cita requerida ] Antes de dedicarse a la redacción técnica, Abrash fue programador de juegos en los primeros días de IBM PC . Su primer juego comercial fue un clon de Space Invaders publicado por Datamost en 1982 como Space Strike . Fue coautor de varios juegos de PC con Dan Illowsky, quien anteriormente había escrito el exitoso clon de Pac-Man, Snack Attack para Apple II. Abrash y Illowsky trabajaron juntos en el Galaxian -como cósmico Cruzado (1982), juego de laberinto Snack Attack II (1982), y el juego de plataformas Big Top (1983). [5]
Después de trabajar en Microsoft en gráficos y código de ensamblaje para Windows NT 3.1 , regresó a la industria de los videojuegos a mediados de la década de 1990 para trabajar en Quake para id Software . Parte de la tecnología detrás de Quake está documentada en Ramblings in Realtime de Abrash publicado en Dr. Dobb's Journal . [6] Menciona a Quake como su juego favorito de todos los tiempos. [7] Después del lanzamiento de Quake , Abrash regresó a Microsoft para trabajar en la investigación del lenguaje natural, luego se trasladó al equipo de Xbox , hasta 2001. [ cita requerida ]
En 2002, Abrash fue a RAD Game Tools donde coescribió el renderizador de software Pixomatic , que emula la funcionalidad de una tarjeta gráfica de nivel DirectX 7 y se utiliza como renderizador de software en juegos como Unreal Tournament 2004 . [ cita requerida ] A finales de 2005, Pixomatic fue adquirida por Intel . Al desarrollar Pixomatic, él y Mike Sartain diseñaron una nueva arquitectura llamada Larrabee , que ahora es parte del proyecto GPGPU de Intel . [8]
Gabe Newell , director gerente de Valve , dijo que había "estado tratando de contratar a Michael Abrash desde siempre. [...] Aproximadamente una vez al trimestre vamos a cenar y yo digo '¿ya estás listo para trabajar aquí?'" [9 ] En 2011, Abrash hizo el movimiento para unirse a Valve. [10]
El 28 de marzo de 2014, tres días después de que Facebook anunciara acuerdos para comprar la empresa, [11] la empresa de cascos de realidad virtual Oculus VR publicó un comunicado diciendo que Michael Abrash se había unido a su empresa como científico jefe . [4]
Escritor técnico
Trabajo temprano
Michael Abrash fue columnista en la década de 1980 de una revista llamada Programmer's Journal . Estos artículos se recopilaron en el libro de 1989, Power Graphics Programming .
Su segundo libro, Zen of Assembly Language Volume 1: Knowledge (1990), se centró en escribir código ensamblador eficiente para el procesador 8086 de 16 bits, pero fue lanzado después de que la CPU 80486 ya estaba disponible. [12] Además de la optimización a nivel de ensamblaje, el libro se centró en partes del sistema que afectan silenciosamente el rendimiento del código, a las que llamó "devoradores de ciclos". Un punto clave de Zen of Assembly Language es que el rendimiento siempre debe medirse, y el libro incluía la herramienta "Zen Timer" para comprobar si las optimizaciones teóricas del código realmente funcionaban. El volumen 2 nunca se publicó.
Libros del Dr. Dobb y posteriores
A principios y mediados de la década de 1990, Abrash escribió una columna de programación de gráficos para PC para el Dr. Dobb's Journal llamada "Ramblings in Realtime". En 1991 introdujo el Modo X , un modo de gráficos VGA de 320x240 con píxeles cuadrados en lugar de los píxeles ligeramente alargados del modo estándar de 320x200. Al mismo tiempo, presentó a los lectores una parte poco conocida del estándar VGA que permite escribir varios píxeles a la vez. El artículo y sus seguimientos despertaron el interés entre los programadores de juegos de PC.
Gran parte del contenido de Zen of Assembly Language se actualizó en Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit (1994), [13] junto con nuevo material. La presentación del refinamiento gradual del programa demostró empíricamente cómo el rediseño del algoritmo podría mejorar el rendimiento hasta en un factor de 100. La recodificación del lenguaje ensamblador, por otro lado, solo puede mejorar el rendimiento en un factor de 10. Abrash también mostró cómo el rendimiento es esquivo La mejora puede ser, y la mejora del rendimiento en una subrutina puede exponer cuellos de botella en otras rutinas. Por último, demostró mejoras de rendimiento basadas en ensamblajes dependientes del procesador al comparar las optimizaciones del lenguaje ensamblador en las generaciones x86, incluida la forma en que algunas microoptimizaciones desaparecieron o incluso hicieron que un programa fuera más lento.
En 1997 Abrash del gráfico de programación Libro Negro , [14] [15] se publicó. Era una colección de sus artículos del Dr. Dobb's Journal y su trabajo en el subsistema gráfico Quake .
Abrash dejó de escribir públicamente en la década de 2000 hasta que mantuvo un blog público en Valve, "Ramblings in Valve Time", desde abril de 2012 hasta enero de 2014.
Referencias
- ^ Abrash, Michael (1 de abril de 1997). "Algunas cosas que he aprendido sobre la programación de juegos Win32" . Dr. Dobb's .
- ^ Abrash, Michael (enero de 1990). Zen del lenguaje ensamblador: conocimiento . Comercio de Scott Foresman. ISBN 978-0-673-38602-1.
- ^ Abrash, Michael (15 de enero de 1994). Zen of Graphics Programming: la guía definitiva para escribir gráficos rápidos para PC . Grupo Coriolis; Edición Bk & Disk. ISBN 978-1-883577-08-7.
- ^ a b "Presentamos a Michael Abrash, científico jefe de Oculus" . Oculus VR. 2014-03-28 . Consultado el 28 de marzo de 2014 .
- ^ Haya, James. "La lista gigante de programadores de juegos clásicos" .
- ^ Abrash, Michael (1 de febrero de 1996). "Divagaciones en tiempo real" . www.drdobbs.com . Consultado el 10 de julio de 2010 .
- ^ Tubería de válvulas. "Entrevistas de canalización: Michael Abrash sobre realidad virtual y el futuro de los juegos" . YouTube . Consultado el 8 de noviembre de 2016 .
- ^ Abrash, Michael (1 de abril de 2009). "Un primer vistazo a las nuevas instrucciones de Larrabee (LRBni)" . drdobbs.com/architecture-and-design . Consultado el 10 de julio de 2010 .
- ^ Walker, John (21 de noviembre de 2007). "Exclusivo de RPS: Entrevista a Gabe Newell" . Piedra, papel, escopeta . Consultado el 22 de enero de 2010 .
- ^ Crossley, Rob (13 de mayo de 2011). "Valve contrata a un trío de desarrollo de clase mundial" . Desarrollar . Consultado el 16 de mayo de 2011 .
- ^ "Facebook para adquirir Oculus" . Facebook. 2014-03-25 . Consultado el 28 de marzo de 2014 .
- ^ La Haya, James (18 de febrero de 2008). "Cinco libros memorables sobre programación" . Consultado el 10 de julio de 2010 .
- ^ Abrash, Michael (8 de diciembre de 1994). Zen of Code Optimization: la guía definitiva para escribir software que lleva a las PC al límite . Libros del grupo Coriolis. ISBN 978-1-883577-03-2.
- ^ Abrash, Michael (julio de 1997). Libro Negro de Programación Gráfica . Libros del grupo Coriolis. ISBN 978-1-57610-174-2.
- ^ Abrash, Michael (1 de noviembre de 2001). "Libro Negro de Programación Gráfica" . www.drdobbs.com/high-performance-computing . Consultado el 10 de julio de 2010 .
enlaces externos
- Divagaciones en Valve Time - Un blog de Michael Abrash
- Perfil de desarrollador de Michael Abrash en MobyGames
- Ramblings in Realtime por Michael Abrash , descripción detallada dela programación del motor gráficode Quake ( versión PDF )
- Libro negro de programación gráfica de Michael Abrash ( versión HTML y fuente del libro electrónico )
- 40 minutos con Michael Abrash de Valve Software " , entrevista de audio con Michael Abrash en la QuakeCon 2012 sobre la carrera y el trabajo de Abrash en Valve.