Michael Abrash is an American programmer and technical writer. He has written dozens of magazine articles and multiple books on code optimization and software-rendered graphics for IBM PC compatibles. He worked at id Software in the mid-1990s on the rendering technology for Quake. He later wrote the Pixomatic software renderer for RAD Game Tools. Since 2014, he has been the chief scientist of Oculus VR, a subsidiary of Meta Platforms.[2]
Michael Abrash | |
---|---|
Born | 1957 (age 66–67)[1] |
Occupation(s) | Programmer Technical writer |
Employer | Oculus VR (2014–present) |
Title | Chief scientist |
Abrash started his career in 1982 writing action video games for the IBM PC, which eventually resulted in a 1990 book, Zen of Assembly Language Volume 1: Knowledge, about optimization for the 16-bit 8086 and 8088 processors.[3] He began writing about programming the EGA and VGA hardware of IBM PC compatibles for Programmer's Journal in the late 1980s, followed by a column for Dr. Dobb's Journal in the early 1990s. In the latter, he introduced a method of adjusting VGA mode 13h to have a resolution of 320×240 with square pixels, which he called Mode X. He also used his Dr. Dobbs's column to write about the details of his work on Quake
Game programmer
editAbrash began writing video games the early days of the IBM PC and the Color Graphics Adapter. His first commercial game was a clone of Space Invaders published by Datamost in 1982 as Space Strike.[4] He followed it with Cosmic Crusader (1982) and Big Top (1983), both published by Funtastic. Working with Dan Illowsky, who had previously programmed the Apple II Pac-Man clone Snack Attack, he co-wrote Snack Attack II (1982) for the IBM PC.[5] All of his IBM PC games were written in 8086 assembly language.
After working at Microsoft on graphics and assembly code for Windows NT 3.1, he was hired by id Software in the mid-1990s to work on Quake. Some of the technology behind Quake is documented in Abrash's Ramblings in Realtime published in Dr. Dobb's Journal.[6] He mentions Quake as his favourite game of all time.[7] After Quake was released, Abrash returned to Microsoft to work on natural language research, then moved to the Xbox team until 2001.[8]
In 2002, Abrash went to RAD Game Tools where he co-wrote the Pixomatic software renderer, which emulates the functionality of a DirectX 7-level graphics card. At the end of 2005, Pixomatic was acquired by Intel. When developing Pixomatic, he and Mike Sartain designed a new architecture called Larrabee, which now is part of Intel's GPGPU project.[9]
Gabe Newell, managing director of Valve, said that he had "been trying to hire Michael Abrash forever. [...] About once a quarter we go for dinner and I say 'are you ready to work here yet?'"[10] In 2011 Abrash joined Valve.[11]
On March 28, 2014, three days after Facebook announced agreements to purchase the virtual reality headset company,[12] Oculus VR published a statement saying that Michael Abrash had joined their company as Chief Scientist.[2] This reunited him with id Software's John Carmack, who was chief technology officer there at the time.
Technical writer
editMichael Abrash was a columnist in the 1980s for the magazine Programmer's Journal. The articles were collected in the 1989 book, Power Graphics Programming. His second book, Zen of Assembly Language Volume 1: Knowledge (1990),[13] is about writing efficient assembly code for the 16-bit 8086 processor, but was released after the 80486 CPU was already being used in IBM PC compatibles.[14] Volume 2 was never published.
In the early to mid-1990s, Abrash wrote a column about graphics programming for IBM PC compatibles for Dr. Dobb's Journal called "Ramblings in Realtime." In 1991, his column introduced Mode X: a 256 color 320x240 graphics mode with square pixels instead of the slightly elongated pixels of the standard 320x200 mode. The same column covers a VGA feature allowing up to four pixels to be written at once—something which had not been widely documented outside of the VGA specification. The article and its follow-ups ignited interest among MS-DOS game programmers. "Ramblings in Realtime" also covered polygon drawing, 3D graphics, and texture mapping.
Much of the content of Zen of Assembly Language was updated in Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit (1994),[15] In 1997 Abrash's Graphics Programming Black Book,[16][17] was published. It is a collection of Dr. Dobb's Journal articles and his work on the Quake graphic subsystem.
Abrash stopped writing publicly in the 2000s until maintaining a public blog at Valve, "Ramblings in Valve Time", from April 2012 until January 2014.
References
edit- ^ Abrash, Michael (April 1, 1997). "Some Things I've Learned About Win32 Game Programming". Dr. Dobb's.
- ^ a b "Introducing Michael Abrash, Oculus Chief Scientist". Oculus VR. 2014-03-28. Retrieved 28 March 2014.
- ^ Abrash, Michael (January 1990). Zen of Assembly Language: Knowledge. Scott Foresman Trade. ISBN 978-0-673-38602-1.
- ^ Lacine, Mark (Mar–Apr 1983). "Micro-Reviews". Computer Gaming World. Vol. 1, no. 9. p. 44.
- ^ Hague, James. "The Giant List of Classic Game Programmers".
- ^ Abrash, Michael (1996-02-01). "Ramblings in Realtime". www.drdobbs.com. Retrieved 2010-07-10.
- ^ Valve Pipeline. "Pipeline Interviews: Michael Abrash on Virtual Reality & the Future of Gaming". YouTube. Archived from the original on 2021-12-12. Retrieved 8 November 2016.
- ^ "Xbox Graphics Analyzed". GameSpot. Retrieved 2022-08-25.
- ^ Abrash, Michael (2009-04-01). "A First Look at the Larrabee New Instructions (LRBni)". drdobbs.com/architecture-and-design. Retrieved 2010-07-10.
- ^ Walker, John (2007-11-21). "RPS Exclusive: Gabe Newell Interview". Rock, Paper, Shotgun. Retrieved 22 January 2010.
- ^ Crossley, Rob (2011-05-13). "Valve hires world-class development trio". Develop. Retrieved 16 May 2011.
- ^ "Facebook to Acquire Oculus". Facebook. 2014-03-25. Retrieved 28 March 2014.
- ^ Abrash, Michael (1994-01-15). Zen of Graphics Programming: The Ultimate Guide to Writing Fast PC Graphics. Coriolis Group; Bk&Disk edition. ISBN 978-1-883577-08-7.
- ^ Hague, James (2008-02-18). "Five Memorable Books About Programming". Retrieved 2010-07-10.
- ^ Abrash, Michael (1994-12-08). Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit. Coriolis Group Books. ISBN 978-1-883577-03-2.
- ^ Abrash, Michael (July 1997). Graphics Programming Black Book. Coriolis Group Books. ISBN 978-1-57610-174-2.
- ^ Abrash, Michael (2001-11-01). "Graphics Programming Black Book". www.drdobbs.com/high-performance-computing. Retrieved 2010-07-10.
External links
edit- Ramblings in Valve Time - A blog by Michael Abrash (archived)
- Michael Abrash's developer profile at MobyGames
- Ramblings in Realtime by Michael Abrash, detailed description of Quake's graphics engine programming (PDF version)
- Graphics Programming Black Book by Michael Abrash (HTML version and ebook source)
- 40 minutes with Michael Abrash of Valve Software", Audio interview with Michael Abrash at QuakeCon 2012 discussing Abrash's career and work at Valve