Mike Abrash
   HOME

TheInfoList



OR:

Michael Abrash is a
programmer A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software. A programmer is someone who writes/creates ...
and technical writer specializing in code optimization and 80x86
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
. He wrote the 1990 book ''Zen of Assembly Language Volume 1: Knowledge'' and a monthly column in ''
Dr. Dobb's Journal ''Dr. Dobb's Journal'' (''DDJ'') was a monthly magazine published in the United States by UBM Technology Group, part of UBM plc, UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focu ...
'' in the early 1990s. A later book, ''Zen of Graphics Programming'', applied these ideas to 2D and 3D graphics prior to the advent of hardware accelerators for the PC. Though not strictly a game programmer, Abrash has worked on the underlying technology for games, such as '' Quake'', for much of his career. Since 2014, he has been the chief scientist of Oculus VR, a subsidiary of
Meta Platforms Meta Platforms, Inc., (file no. 3835815) trade name, doing business as Meta and formerly named Facebook, Inc., and TheFacebook, Inc., is an American multinational technology conglomerate based in Menlo Park, California. The company owns Facebo ...


Game programmer

Abrash was a game programmer in the early days of the
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
. His first commercial game was a clone of '' Space Invaders'' published by Datamost in 1982 as ''
Space Strike ''Space Strike'' is a 1982 fixed shooter video game for IBM PC compatibles programmed by Michael Abrash and published by Datamost. ''Space Strike'' is a clone of '' Space Invaders''. Gameplay As in ''Space Invaders'', the player controls a ...
''. He co-authored several games with Dan Illowsky, who had previously written the successful ''
Pac-Man originally called ''Puck Man'' in Japan, is a 1980 maze action video game developed and released by Namco for arcades. In North America, the game was released by Midway Manufacturing as part of its licensing agreement with Namco America. Th ...
'' clone ''
Snack Attack ''Snack Attack'' is a maze action video game developed by Dan Illowsky for the Apple II family of computers. It was published by Datamost in 1981. Gameplay The player controls the Snacker, a small, white, fish-like character, and moves through ...
'' for the Apple II. Abrash and Illowsky worked together on the '' Galaxian''-like ''
Cosmic Crusader ''Cosmic Crusader'' is a fixed shooter video game for IBM PC compatibles programmed by Michael Abrash and published in 1982 by Funtastic as a self-booting disk. External linksReviewin PC MagazineReviewin PC World ''PC World'' (stylized as P ...
'' (1982), maze game ''Snack Attack II'' (1982), and platform game '' Big Top'' (1983). After working at Microsoft on graphics and assembly code for
Windows NT 3.1 Windows NT 3.1 is the first major release of the Windows NT operating system developed by Microsoft, released on July 27, 1993. At the time of Windows NT's release, Microsoft's Windows 3.1 desktop environment had established brand recognition ...
, he returned to the video game industry in the mid-1990s to work on '' Quake'' for id Software. Some of the technology behind ''Quake'' is documented in Abrash's ''Ramblings in Realtime'' published in ''
Dr. Dobb's Journal ''Dr. Dobb's Journal'' (''DDJ'') was a monthly magazine published in the United States by UBM Technology Group, part of UBM plc, UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focu ...
''. 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 Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
-level graphics card and is used as the software renderer in '' Unreal Tournament 2004''. 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 made the move to join 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


Early work

Michael Abrash was a columnist in the 1980s for a magazine called ''Programmer's Journal''. Those articles were collected in the 1989 book, ''Power Graphics Programming''. His second book, ''Zen of Assembly Language Volume 1: Knowledge'' (1990), focused on writing efficient assembly code for the 16-bit 8086 processor, but was released after the
80486 The Intel 486, officially named i486 and also known as 80486, is a microprocessor. It is a higher-performance follow-up to the Intel 386. The i486 was introduced in 1989. It represents the fourth generation of binary compatible CPUs following the ...
CPU was already available. In addition to assembly-level optimization, the book focused on parts of the system that silently affect code performance, which he called "cycle eaters." A key point of ''Zen of Assembly Language'' is that performance must always be measured, and the book included the "Zen Timer" tool to check if theoretical code optimizations actually worked. Volume 2 was never published.


Dr. Dobb's and later books

In the early to mid-1990s, Abrash wrote a PC graphics programming column for ''
Dr. Dobb's Journal ''Dr. Dobb's Journal'' (''DDJ'') was a monthly magazine published in the United States by UBM Technology Group, part of UBM plc, UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focu ...
'' called "Ramblings in Realtime." In 1991 he introduced Mode X, a 320x240 VGA graphics mode with square pixels instead of the slightly elongated pixels of the standard 320x200 mode. At the same time, he introduced readers to a little known part of the VGA standard allowing multiple pixels to be written at once. The article and its follow-ups ignited interest among PC game programmers. 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), along with new material. The presentation of stepwise program refinement empirically demonstrated how algorithm re-design could improve performance up to a factor of 100. Assembly language re-coding, on the other hand, may only improve performance by a factor of 10. Abrash also showed how elusive performance improvement can be, and improving performance in one subroutine can expose bottlenecks in other routines. Finally, he demonstrated processor-dependent assembly-based performance improvements by comparing assembly language optimizations across x86 generations, including how some micro-optimizations disappeared or even made a program slower. In 1997 Abrash's ''Graphics Programming Black Book'', was published. It was a collection of his ''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 AbrashHTML version
an
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 {{DEFAULTSORT:Abrash, Michael American computer programmers American technology writers Living people Microsoft employees Valve Corporation people American video game programmers Id Software people 1957 births