John D. Carmack II (born August 21, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software. He was the lead programmer for its 1990s games, including Commander Keen, Wolfenstein 3D, Doom, Quake, and their sequels. Carmack developed innovations in 3D computer graphics, such as his Carmack's Reverse algorithm for shadow volumes.
In 2013, he left id Software to work full-time at Oculus VR as their Chief Technology Officer (CTO). In 2019, he reduced his role to Consulting CTO so he could spend more time on artificial general intelligence (AGI). In 2022, he left Oculus to work on his AGI startup, Keen Technologies.
Biography
Carmack was born in Shawnee Mission, Kansas, the son of Stan Carmack, a local television news reporter. He grew up in the Kansas City metropolitan area, where he developed an interest in computers at a young age. He attended Shawnee Mission East High School in Prairie Village, Kansas, and Raytown South High School in Raytown, Missouri.
Carmack was introduced to video games through the 1978 arcade game Space Invaders, which he played during a summer vacation as a child. The 1980 arcade game Pac-Man also had a strong impact on him. He admired Nintendo designer Shigeru Miyamoto as the game developer he most respected.
According to Masters of Doom by David Kushner, when Carmack was 14, he and other children broke into a school to steal Apple II computers. To enter the building, Carmack created a sticky mixture of thermite and Vaseline to melt through the windows. However, an overweight accomplice struggled to get through the hole and instead opened the window, triggering a silent alarm and alerting the police. Carmack was arrested and sent for a psychiatric evaluation. He was sentenced to a year in a juvenile facility. He attended the University of Missouri–Kansas City for two semesters before leaving to work as a freelance programmer.
Softdisk, a computer company in Shreveport, Louisiana, hired Carmack to work on Softdisk G-S (an Apple II GS publication), where he met John Romero and other future members of id Software, including Adrian Carmack (no relation). Later, Softdisk assigned this team to manage a short-lived bi-monthly game subscription service called Gamer's Edge for the IBM PC (DOS) platform. In 1990, while still at Softdisk, Carmack, Romero, and others created the first Commander Keen game. This series was published by Apogee Software starting in 1991 using the shareware distribution model. Afterward, Carmack left Softdisk to co-found id Software.
Carmack helped develop or popularize several techniques in computer graphics, including "adaptive tile refresh" for Commander Keen, ray casting for Hovertank 3D, Catacomb 3-D, and Wolfenstein 3D, binary space partitioning (first used in Doom), surface caching (invented for Quake), Carmack's Reverse (also called z-fail stencil shadows, used in Doom 3), and MegaTexture technology (first used in Enemy Territory: Quake Wars). Quake 3 helped popularize the fast inverse square root algorithm.
Carmack's game engines were also used in other influential first-person shooters, such as Half-Life, Call of Duty, and Medal of Honor: Allied Assault. In 2005, Carmack developed his first mobile phone game, Doom RPG.
On August 7, 2013, Carmack joined Oculus VR as their chief technology officer (CTO). On November 22, 2013, he left id Software to work full-time at Oculus VR. He cited that id Software's parent company, ZeniMax Media, did not support the Oculus Rift as the reason for leaving. Carmack's role at both companies became central to a lawsuit by ZeniMax against Oculus' parent company, Meta (then Facebook), which claimed Oculus stole ZeniMax's virtual reality intellectual property. The trial jury found Carmack not responsible, but Oculus and other corporate leaders were held liable for trademark, copyright, and contract violations.
In February 2017, Carmack sued ZeniMax, claiming the company had not paid him the remaining $22.5 million (about $28.2 million in 2024) from the purchase of id Software. In October 2018, Carmack said he and ZeniMax had reached an agreement, and "ZeniMax has fully satisfied their obligations to me," ending the lawsuit.
On November 13, 2019, Carmack left his role as Oculus CTO to become a "Consulting CTO" to focus more on artificial general intelligence (AGI) research. On August 19, 2022, Carmack announced he had raised $20 million for Keen Technologies, his new AGI company. On December 16, 2022, Carmack left Oculus to focus on Keen.
In September 2023, Carmack partnered with computer scientist Richard S. Sutton from the Alberta Machine Intelligence Institute to advance AI research.
Carmack has worked a sixty-hour work week throughout his career, spending ten hours a day for six days a week. He has spoken publicly about the importance of long, uninterrupted focus in his work. He believes high intensity helps him make progress quickly, and long hours help maintain a focused mindset. Despite this demanding schedule, he has never experienced burnout.
Carmack is also known for taking week-long programming retreats. These retreats involve spending time alone, away from his normal routine, often in a different city and hotel. The goal is to allow Carmack to think deeply and tackle difficult problems or learn new skills. The solitude and isolation of these retreats help him focus and reflect, which is important for his creative process.
Carmack expressed frustration with the bureaucratic inefficiencies he faced at Meta. In a memo about leaving, he wrote, "We have a ridiculous amount of people and resources, but we constantly self-sabotage and waste effort." He added, "I have never been able to stop stupid things before they cause damage, or set a direction and have a team actually stick to it."
Carmack believes that small, incremental steps are the fastest way to achieve meaningful and disruptive innovation. He compares this approach to the "magic of gradient descent," where small steps using local information lead to the best outcomes. He says this principle is supported by his own experience and observations of other highly intelligent people. He states, "Little tiny steps using local information lead to all the best answers."
Armadillo Aerospace
In the year 2000, Carmack became interested in rocketry, a hobby from his younger years. After noticing how much money he spent on customizing Ferraris, he began supporting a few local amateur engineers financially. Carmack used his own money to fund the company, named Armadillo Aerospace, at a cost of more than a million dollars each year. The group of hobbyists made consistent progress toward their goals of achieving suborbital space flight and developing orbital vehicles. In October 2008, Armadillo Aerospace participated in a NASA contest called the Lunar Lander Challenge. They won first place in the Level 1 competition and received $350,000 (~$499,182 in 2024). In September 2009, they completed Level 2 and were awarded $500,000 (~$708,446 in 2024). The company entered "hibernation mode" in 2013.
According to Carmack, work in the aerospace industry is "simple" compared to the work he does in video games.
Open-source software
Carmack supports open-source software and has spoken against software patents, comparing them to theft. He has helped develop open-source projects, including creating the first version of the X Window System for Mac OS X Server and improving OpenGL drivers for Linux through the Utah GLX project.
In 1995, Carmack shared the source code for Wolfenstein 3D. In 1997, he released the source code for Doom under a special license, later changing it to the GNU General Public License (GPL) in 1999. In 1997, the source code for Quake was leaked after a hacker attack on a company called Crack dot Com. A programmer named Greg Alexander used the leaked code to create a version of Quake for Linux. This version had more features than an earlier version made by Dave Taylor, so Greg sent the changes to Carmack. Instead of taking legal action, id Software used the changes to create an official Linux version, led by a new employee named Zoid Kirsch. Zoid later helped create Linux versions of Quakeworld and Quake II.
id Software later released the source code for Quake in 1999, Quake 2 in 2001, Quake 3 in 2005, and Doom 3 in 2011. A version called the BFG Edition of Doom 3 was released in 2012. In 2014, Flat Rock Software released the source code for Hovertank 3D and Catacomb 3D, along with Carmack’s earlier Catacomb project, with Carmack’s approval. Carmack later said he wished he had used a more flexible license called BSD instead of the GPL.
The release of id Tech 4 happened even though Creative Labs had concerns about patents related to Carmack’s work. The original Doom source code did not include music because of problems with a library called DMX, which led to the Linux version being chosen for release. Carmack has warned developers to be cautious when using third-party software, as it can make it harder to share source code later. Tim Sweeney has suggested that this issue may have prevented the release of older Unreal Engine source code.
Carmack has expressed doubts about Linux as a gaming platform, even though he respects its technical qualities. In 2013, he said that emulation was the best way to support gaming on Linux. In 2014, he suggested that Linux could be a challenge for the success of Steam Machines.
Carmack also helps charities and gaming groups. He has supported his former high school, open-source software, people who oppose software patents, and game fans.
Personal life
In 1994, Carmack was very successful at id Software and bought two Ferraris: a Ferrari 328 and a Ferrari Testarossa. In 1997, he gave the Ferrari 328 to Dennis Fong, the winner of the Quake tournament called "Red Annihilation."
Carmack met his former wife, Katherine Anna Kang, at the 1997 QuakeCon when she visited id Software's offices. Kang challenged Carmack to sponsor the first all-female Quake tournament if she could find enough participants. Carmack thought only about 25 people would join, but 1,500 people signed up. Carmack and Kang married on January 1, 2000, and planned a ceremony in Hawaii. Steve Jobs asked them to delay the ceremony so Carmack could attend the MacWorld Expo on January 5, 2000. Carmack refused and suggested making a video instead. They had a son named Christopher Ryan in August 2004 and another son in November 2009.
Carmack was divorced by 2021. On May 26, 2022, he announced his divorce and shared that he met his new partner, Trista, through the VR game Beat Saber, which he promoted on Twitter.
As a game developer, Carmack avoided setting final release dates for games. Instead, he often said, "The game will be released when it's done." Employees at Apogee, a former publisher for id Software, later used this approach too. In 2019, Carmack told The Joe Rogan Experience that his views had changed. He said, "I no longer believe that." He explained that the game Rage took six years to develop and that it should have been released earlier. He also described the development of Quake as "traumatic" and said id Software could have split the game into two parts and released it sooner.
Carmack had a blog that was last updated in 2006 (previously a .plan file on id Software's server, under the username johnc). He also has an active Twitter account and sometimes posts comments on Slashdot.
Carmack supported the 2012 presidential campaign of Libertarian Ron Paul and helped the Libertarian Party of Texas accept Bitcoin as a way to give donations. He is an atheist. During a conversation with Joe Rogan, Carmack mentioned that he practiced Brazilian Jiu Jitsu and Judo for many years as hobbies.
During his time at id Software, a medium pepperoni pizza from Domino's Pizza was delivered to Carmack almost every day for more than 15 years by the same delivery person. Because he was such a regular customer, Domino's continued to charge him prices from 1995.
On some occasions, Carmack praised the work of other programmers, including Ken Silverman, who created the Build engine for 3D Realms, and Tim Sweeney of Epic Games, who developed the Unreal Engine.