Michael Abrash is an American programmer and technical writer specializing in code optimization and graphics. Since 2014, he has been the chief scientist of Oculus VR, a subsidiary of Meta Platforms.

Abrash started his career in 1982 writing action video games for the IBM PC, which eventually resulted in the 1990 book Zen of Assembly Language Volume 1: Knowledge. He begin writing about graphics programming for 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 that column he introduced a way to adjust VGA mode 13h to have a resolution of 320×240 with square pixels, which he called Mode X. He worked on the rendering technology for Quake at id Software which he wrote publicly about. His columns and other writings were compiled into several books on graphics programming. He later wrote the Pixomatic software renderer for RAD Game Tools.

Game programmer

Abrash was a video game programmer in 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 followed by Cosmic Crusader (1982) and Big Top (1983), both published by Funtastic. Working with Dan Illowsky, who had previously written the Apple II Pac-Man clone Snack Attack, he co-wrote Snack Attack II (1982) for the IBM PC.

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. He mentions Quake as his favourite game of all time. After Quake was released, Abrash returned to Microsoft to work on natural language research, then moved to the Xbox team, until 2001.

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.

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? In 2011 Abrash joined Valve.

On March 28, 2014, three days after Facebook announced agreements to purchase the virtual reality headset company, Oculus VR published a statement saying that Michael Abrash had joined their company as Chief Scientist.

Technical writer
Michael 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), 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. 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 colummn 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), 
In 1997 Abrash's Graphics Programming Black Book, was published. It was 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

External links
 Ramblings in Valve Time - A blog by Michael Abrash (archived)
 
 Ramblings in Realtime by Michael Abrash, detailed description of Quake 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

American computer programmers
American technology writers
Living people
Microsoft employees
Valve Corporation people
American video game programmers
Id Software people
1957 births