Michael 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 In computer science, program optimization, code optimization, or software optimization, is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be o ...
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 b ...
. He wrote the 1990 book ''Zen of Assembly Language Volume 1: Knowledge'' and a monthly column in '' Dr. Dobb's Journal'' 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 Reality Labs is a business of Meta Platforms (formerly Facebook Inc.) that produces virtual reality (VR) and augmented reality (AR) hardware and software, including virtual reality headsets such as Quest, and online platforms such as Horizon ...
, a subsidiary of
Meta Platforms Meta Platforms, Inc., (file no. 3835815) 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 Facebook, Insta ...


Game programmer

Abrash was a
game programmer A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebases for video games or related software, such as game development tools. Game programming has many specialized disciplines, all of which f ...
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 is a 1978 shoot 'em up arcade game developed by Tomohiro Nishikado. It was manufactured and sold by Taito in Japan, and licensed to the Midway division of Bally for overseas distribution. ''Space Invaders'' was the first fixed shooter an ...
'' published by
Datamost Datamost was a computer book publisher and computer game company founded by David Gordon and based in Chatsworth, California. Datamost operated in the early 1980s producing games and other software mainly for the Apple II, Commodore 64 and Atari ...
in 1982 as '' Space Strike''. 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 throug ...
'' for the Apple II. Abrash and Illowsky worked together on the ''
Galaxian is a 1979 fixed shooter arcade video game developed and published by Namco. The player assumes control of the Galaxip starfighter in its mission to protect Earth from waves of aliens. Gameplay involves destroying each formation of aliens, wh ...
''-like '' Cosmic Crusader'' (1982), maze game ''Snack Attack II'' (1982), and platform game '' Big Top'' (1983). After working at
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
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 recognit ...
, he returned to the
video game industry The video game industry encompasses the development, marketing, and monetization of video games. The industry encompasses dozens of job disciplines and thousands of jobs worldwide. The video game industry has grown from niches to mainstrea ...
in the mid-1990s to work on '' Quake'' for
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
. 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 Xbox is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the ...
team, until 2001. In 2002, Abrash went to RAD Game Tools where he co-wrote the Pixomatic
software renderer Software rendering is the process of generating an image from a model by means of computer software. In the context of computer graphics rendering, software rendering refers to a rendering process that is not dependent upon graphics hardware AS ...
, which emulates the functionality of a DirectX 7-level graphics card and is used as the software renderer in ''
Unreal Tournament 2004 ''Unreal Tournament 2004'' is a first-person arena shooter video game developed by Epic Games and Digital Extremes. Part of the ''Unreal'' franchise, it is the third game in the '' Unreal Tournament'' series and the sequel to '' Unreal Tournam ...
''. At the end of 2005, Pixomatic was acquired by
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 ser ...
. When developing Pixomatic, he and Mike Sartain designed a new architecture called Larrabee, which now is part of Intel's
GPGPU General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
project.
Gabe Newell Gabe Logan Newell (born November 3, 1962), nicknamed Gaben, is an American businessman and the president of the video game company Valve. Newell was born in Colorado and grew up in Davis, California. He attended Harvard University in the early ...
, managing director of
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or slurries) by opening, closing, or partially obstructing various passageways. Valves are technically fitting ...
, 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 Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dust ...
announced agreements to purchase the
virtual reality Virtual reality (VR) is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video games), edu ...
headset company,
Oculus VR Reality Labs is a business of Meta Platforms (formerly Facebook Inc.) that produces virtual reality (VR) and augmented reality (AR) hardware and software, including virtual reality headsets such as Quest, and online platforms such as Horizon ...
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 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 b ...
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 t ...
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'' 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