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
A technical writer is a professional information communicator whose task is to transfer information between two or more parties, through any medium that best facilitates the transfer and comprehension of the information. Technical writers researc ...
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
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its Intel 8088, 8088 variant. The 808 ...
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'' 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 W ...
, 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
A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebases for video game
Video games, also known as computer games, are electronic games that involves interaction with a user interface ...
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 and set ...
'' 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 At ...
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 through ...
'' 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, who ...
''-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 ...
'' (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, Washing ...
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
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 mainstream. , ...
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: programmers John Carmack and John Romero, game designer Tom Hall, and ar ...
. 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 na ...
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
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
''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 Tournament ...
''. 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 seri ...
. 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 fittings ...
, 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, Dustin M ...
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), educ ...
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 W ...
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 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 Mode X is an alternative 256-color graphics display mode of the IBM VGA graphics hardware that was popularized by Michael Abrash. It was first published in July 1991 in '' Dr. Dobb's Journal'', and republished in chapters 47-49 of Abrash's ''Graph ...
, 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 versionan
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