John Carmack

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

John Carmack
File:John Carmack at GDCA 2017 -- 1 March 2017 (cropped).jpeg
Carmack at the 2017 Game Developers Choice Awards (March 1, 2017)
Born (1970-08-20) August 20, 1970 (age 53)[1]
Shawnee Mission, Kansas, U.S.[1]
Alma mater University of Missouri, Kansas City (no degree)
Occupation Computer programmer, video game developer, engineer
Employer Oculus VR (2013–2022)
Known for Co-founding id Software
Commander Keen, Wolfenstein 3D, Doom, Quake, Rage
Title Consulting CTO, Oculus VR[2][3]
Founder, Armadillo Aerospace
Spouse(s) Katherine Anna Kang (m. 2000; div. 2021)
Children 2

John D. Carmack II[1] (born August 20, 1970)[1] is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games Commander Keen, Wolfenstein 3D, Doom, Quake, and their sequels. Carmack made innovations in 3D computer graphics, such as his Carmack's Reverse algorithm for shadow volumes. In 2013, he resigned from id Software to work full-time at Oculus VR as their CTO. In 2019, he reduced his role to Consulting CTO so he could allocate more time toward artificial general intelligence (AGI).[3] In 2022, he left Oculus to work on his startup, Keen Technologies.[4]

Biography

Early life

Carmack was born in Shawnee Mission, Kansas,[1] the son of local television news reporter Stan Carmack. He grew up in the Kansas City metropolitan area, where he became interested in computers at an early age. He attended Shawnee Mission East High School in Prairie Village, Kansas and Raytown South High School in nearby Raytown, Missouri.[5]

Carmack was introduced to video games with the 1978 shoot 'em up game Space Invaders in the arcades during a summer vacation as a child. The 1980 maze chase arcade game Pac-Man also left a strong impression on him. He cited Nintendo designer Shigeru Miyamoto as the game developer he most admired.[6]

As reported in David Kushner's Masters of Doom, when Carmack was 14, he broke into a school to help a group of children steal Apple II computers. To gain entry to the building, Carmack concocted a sticky substance of thermite mixed with Vaseline that melted through the windows. However, an overweight accomplice struggled to get through the hole and instead opened the window, setting off a silent alarm and alerting police. Carmack was arrested and sent for psychiatric evaluation. He was sentenced to a year in a juvenile home.[7][8] He attended the University of Missouri–Kansas City for two semesters before withdrawing to work as a freelance programmer.[9]

Career

Softdisk, a computer company in Shreveport, Louisiana, hired Carmack to work on Softdisk G-S (an Apple IIGS publication), introducing him to John Romero and other future key members of id Software such as Adrian Carmack (not related). Later, Softdisk would place this team in charge of a new, but short-lived, bi-monthly game subscription product called Gamer's Edge for the IBM PC (DOS) platform. In 1990, while still at Softdisk, Carmack, Romero, and others created the first of the Commander Keen games, a series that was published by Apogee Software, under the shareware distribution model, from 1991 onwards.[10] Afterwards, Carmack left Softdisk to co-found id Software.[11]

Carmack has pioneered or popularized the use of many techniques in computer graphics, including "adaptive tile refresh" for Commander Keen,[12] ray casting for Hovertank 3D, Catacomb 3-D, and Wolfenstein 3D, binary space partitioning which Doom became the first game to use,[13] surface caching which he invented for Quake, Carmack's Reverse (formally known as z-fail stencil shadows) which he devised for Doom 3, and MegaTexture technology, first used in Enemy Territory: Quake Wars.[14] Quake 3 popularized the fast inverse square root algorithm.[15]

Carmack's engines have also been licensed for use in other influential first-person shooters such as Half-Life, Call of Duty and Medal of Honor. In 2007, when Carmack was on vacation with his wife, he ended up playing some games on his cellphone, and decided he was going to make a "good" mobile game.[16][17]

File:John Carmack GDC 2010.jpg
Carmack giving a speech after receiving the Lifetime Achievement Award during the 10th annual Game Developers Choice Awards ceremony on 11 March 2010

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

On August 7, 2013, Carmack joined Oculus VR as their CTO.[18] On November 22, 2013, he resigned from id Software to work full-time at Oculus VR.[2][19] Carmack's reason for leaving was that id's parent company ZeniMax Media did not want to support Oculus Rift.[20] Carmack's role at both companies later became central to a ZeniMax lawsuit against Oculus' parent company, Facebook, claiming that Oculus stole ZeniMax's virtual reality intellectual property.[21][22][23] The trial jury absolved Carmack of liability, though Oculus and other corporate officers were held liable for trademark, copyright, and contract violations.[24]

In February 2017, Carmack sued ZeniMax, claiming the company had refused to pay him the remaining $22.5 million owed to him from their purchase of id Software.[25] In October 2018, Carmack stated that he and ZeniMax had reached an agreement and that "Zenimax has fully satisfied their obligations to me", ending the suit.[26]

On November 13, 2019, Carmack stepped down from the Oculus CTO role to become a "Consulting CTO" in order to allocate more time to his work on artificial general intelligence (AGI).[3] On August 19, 2022, Carmack announced that he has raised $20M for Keen Technologies, his new AGI company.[27] On December 16, 2022, Carmack left Oculus to focus on Keen.[4]

Workstyle

<templatestyles src="Template:Quote_box/styles.css" />

"Working more gets more done."

— John Carmack[28]

Carmack has maintained a sixty-hour work week, working a 10-hour day, six days a week, throughout his career.[28] He has spoken publicly about the importance of long hours of uninterrupted focus in his work. Not only does high intensity allow him to make progress more quickly, but long hours are also critical to maintaining a focused mindset over time. Despite working such a demanding schedule, he has never experienced burnout.[28]

Carmack is also known for taking week-long programming retreats. These retreats involve a solitary, uninterrupted period away from his normal routine often sequestered in a random city and hotel.[29] The goal of these retreats is to allow Carmack to operate at full cognitive capacity, tackling a specific, difficult problem or learning a new skill.[30] The solitude and physical isolation of these retreats offer the perfect environment for deep focus and reflection, making them an essential part of Carmack's creative process.

Carmack was vocal about his frustration with the bureaucratic inefficiencies he encountered during his time at Meta.[31] In his departure memo, he stated, "We have a ridiculous amount of people and resources, but we constantly self-sabotage and squander effort," he wrote. "I have never been able to kill stupid things before they cause damage, or set a direction and have a team actually stick to it."[32]

Carmack subscribes to the philosophy that small, incremental steps are the fastest route to meaningful and disruptive innovation.[28] He compares this approach to the "magic of gradient descent" where small steps using local information result in the best outcomes. According to Carmack, this principle is proven by his own experience, and he has observed this in many of the smartest people in the world. He states, "Little tiny steps using local information winds up leading to all the best answers."[28]

Armadillo Aerospace

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Around 2000, Carmack became interested in rocketry, a hobby of his youth. Reviewing how much money he was spending on customizing Ferraris,[citation needed] he began by giving financial support to a few local amateur engineers. Carmack funded the company, called Armadillo Aerospace, out of his own pocket, for "something north of a million dollars a year."[33] The company of hobbyists made steady progress toward their goals of suborbital space flight and eventual orbital vehicles. In October 2008, Armadillo Aerospace competed in a NASA contest known as the Lunar Lander Challenge, winning first place in the Level 1 competition along with $350,000.[34] In September 2009, they completed Level 2 and were awarded $500,000.[35][36][37] The company went into "hibernation mode" in 2013.[33]

According to Carmack, the work in the Aerospace industry is "simple" compared to the work he does in video games.[38]

Open-source software

Carmack is an advocate of open-source software, and has repeatedly voiced his opposition to software patents, equating them to robbery.[39] He has also contributed to open-source projects, such as starting the initial port of the X Window System to Mac OS X Server and working to improve the OpenGL drivers for Linux through the Utah GLX project.[40]

Carmack released the source code for Wolfenstein 3D in 1995 and the Doom source code in 1997, first under a custom license and then under the GNU General Public License (GPL) in 1999. When the source code to Quake was leaked and circulated among the Quake community underground in 1997 after licensee Crack dot Com was hacked,[41] a programmer unaffiliated with id Software named Greg Alexander used it to port Quake to Linux using SVGALib.[citation needed] As this was more feature rich than Dave Taylor's earlier X11 port, he sent the patches to Carmack. Instead of pursuing legal action, id Software used the patches as the foundation for a company-sanctioned Linux port maintained by new hire Zoid Kirsch, who later ported Quakeworld and Quake II to Linux as well.[42]

id Software has since publicly released the source code to Quake in 1999, Quake 2 in 2001, Quake 3 in 2005 and lastly Doom 3 in 2011 (and later the BFG Edition in 2012). The Doom source code was also re-released under the GPL in 1999. The id Tech 4 engine, more commonly known as the "Doom 3 engine", has also been released as open-source license under the GPL.[43] The source code for Hovertank 3D and Catacomb 3D (as well as Carmack's earlier Catacomb) was released in June 2014 by Flat Rock Software with Carmack's blessing.[44][45]

On the other hand, despite his technical admiration for the system,[46] Carmack has several times over the years voiced a sceptical opinion about Linux as a gaming platform;[47][48] for instance in 2013 he argued for emulation as the "proper technical direction for gaming on Linux"[49] and in 2014 he voiced the opinion that Linux might be the biggest problem for the success of the Steam Machine.[50]

Carmack contributes to charities and gaming communities. Some of the recipients of Carmack's charitable contributions include his former high school, promoters of open-source software, opponents of software patents, and game enthusiasts.[51]

Carmack has continued to advise developers to be careful when depending on middleware, noting how it can limit the possibilities of later releasing source code, as well as maintaining good code quality and ensuring offline or third-party severer support is available.[52]

Personal life

Carmack was so successful at id that by mid-1994 he had purchased two Ferraris: a 328 and a Ferrari Testarossa.[53] In 1997, he gave away one of his Ferraris (a 328 model) as a prize to Dennis Fong, the winner of the Quake tournament "Red Annihilation".[54]

He met his now ex-wife Katherine Anna Kang, at the 1997 QuakeCon when she visited id's offices. As a bet, Kang challenged Carmack to sponsor the first All Female Quake Tournament if she was able to produce a significant number of participants. Carmack predicted a maximum of 25 participants, but there were 1,500.[55] Carmack and Kang married on January 1, 2000, and planned a ceremony in Hawaii. Steve Jobs requested that they would postpone the ceremony so Carmack could attend the MacWorld Expo on January 5, 2000. Carmack declined and suggested making a video instead.[56] Carmack and Kang had a son Ryan in 2004. Ryan made his first game Angry Face! when he was 9 years old.[57] Their second child was born in November 2009. Carmack has a blog last updated in 2006 (previously a .plan), an active Twitter account, and also occasionally posts comments to Slashdot.[7]

Carmack is divorced as of 2022.[58]

As a game developer, Carmack differed from many of his contemporaries by avoiding commitment to a final release date for any game he was developing. Instead, when asked for a release date on a new game, Carmack would usually reply that the game would be released "when it's done".[59] In 2019, as a guest on The Joe Rogan Experience, Carmack stated that his beliefs have changed over time: "I largely recant from that now." On Rage's 6-year development time he says: "I think we should have done whatever it would have taken to ship it 2 years earlier". Carmack also reflected on the internal development of Quake in this regard and described it as "traumatic" and says id Software could have split the game into two parts and shipped it earlier.[60]

Employees at Apogee, in their past years the publishers of games by id Software, adopted this business practice as well.[61]

Carmack supported the 2012 presidential campaign of Libertarian Ron Paul.[62]

Carmack is an atheist.[63][64]

During a conversation with Joe Rogan, Carmack revealed that he had trained in Brazilian Jiu Jitsu and Judo for several years as a hobby.[65]

During his time at id Software, a medium pepperoni pizza would arrive for Carmack from Domino's Pizza almost every day, carried by the same delivery person for more than 15 years. Carmack had been such a regular customer that they continued to charge him 1995 prices.[66]

On occasion he has commended the efforts of similarly focused programmers – first Ken Silverman, who wrote the Build engine for 3D Realms, and later with Tim Sweeney of Epic Games, who wrote the Unreal Engine.[7]

Recognition

Accolades for John Carmack
Date Award Description
1996 Named among the most influential people in computer gaming of the year and of all time #1 and #2 in GameSpot's lists.[67][68]
1997 Named among the most influential people of all time #7 in Computer Gaming World list, for game design.[69]
1999 Named among the 50 most influential people in technology #10 in Time's list.[70]
March 2001 Award for community contribution for the Quake 3 engine Used in 12 games. Bestowed at 2001 Game Developer's Conference Award Ceremony.
March 22, 2001 Inducted into Academy of Interactive Arts and Sciences' Hall of Fame The fourth person to be inducted, an honor bestowed upon those who have made revolutionary and innovative achievements in the video and computer game industry.
2002 Named to the MIT Technology Review TR100 Included as one of the top 100 innovators in the world under the age of 35.[71]
2003 One subject of book Masters of Doom Masters of Doom is a chronicle of id Software and its founders.
2005 Name in film The film Doom featured a character named Dr. Carmack, in recognition of Carmack who co-created the original game.
March 2006 Added to the Walk of Game Walk of Game is an event that recognizes the developers and games with the most impact on the industry.[72]
January 2007 Awarded 2 Emmy Awards Carmack and id Software were awarded with two Emmy Awards. The first was Science, Engineering & Technology for Broadcast Television, which includes broadcast, cable and satellite distribution. The second was for Science, Engineering and Technology for Broadband and Personal Television, encompassing interactive television, gaming technology, and for the first time, the Internet, cell phones, private networks, and personal media players. id Software is the first independent game developer to be awarded an Emmy since the Academy began honoring technology innovation in 1948.[73]
September 2007 Television appearance Appeared on Discovery Channel Canada Daily Planet featuring his rocket designs along with the Armadillo Aerospace team.
2008 Honored Carmack was honored at the 59th Annual Technology & Engineering Emmy Awards for Quake's pioneering role of user modifiability.[74] He is the only game programmer ever honored twice by the National Academy of Television Arts & Sciences, having been given an Emmy Award in 2007 for his creation of the 3D technology that underlies modern shooter video games.[75] Along with Don Daglow of Stormfront Studios and Mike Morhaime of Blizzard Entertainment, Carmack is one of only three game developers to accept awards at both the Technology & Engineering Emmy Awards and at the Academy of Interactive Arts & Sciences Interactive Achievement Awards.[citation needed]
October 2008 Won X-Prize Carmack's Armadillo Aerospace won the $350,000 Level One X-Prize Lunar Lander Challenge.[76]
March 11, 2010 Lifetime Achievement Award Was awarded the Game Developers Conference Lifetime Achievement award for his work.[77]
March 7, 2016 BAFTA Fellowship Award Honoured with the Academy's highest honour, the Fellowship for "work that has consistently been at the cutting edge of games and his technical expertise helping the future arrive that little bit faster".[78]
May 3, 2017 Honorary Doctorate Received a Doctor of Engineering Honoris Causa from the University of Missouri, Kansas City for "his work in cutting edge tech & comp sci".[79]

Games

Video games worked on by John Carmack
Release date Game Developer Publisher Credited for
October 16, 2012 Doom 3 BFG Edition id Software Bethesda Softworks Technical director, engine programmer, developer
October 4, 2011 Rage id Software Bethesda Softworks Technical director, engine programmer, developer
September 28, 2007 Enemy Territory: Quake Wars Splash Damage Activision Programming
May 1, 2006 Orcs & Elves Fountainhead Entertainment Electronic Arts Producer/programmer/writer
October 18, 2005 Quake 4 Raven Software Activision, Bethesda Softworks (republished 2012) Technical director
September 13, 2005 Doom RPG Fountainhead Entertainment id Software Producer/programmer
April 3, 2005 Doom 3: Resurrection of Evil Nerve Software Activision Technical director
August 3, 2004 Doom 3 id Software Activision Technical director
November 19, 2001 Return to Castle Wolfenstein id Software Activision Technical director
December 18, 2000 Quake III: Team Arena id Software Activision Programming
December 2, 1999 Quake III Arena id Software Activision Programming
November 30, 1997 Quake II id Software Activision Programming
March 31, 1997 Doom 64 Midway Games Midway Games Programming
June 22, 1996 Quake id Software GT Interactive Programming
May 31, 1996 Final Doom id Software GT Interactive Programming
October 30, 1995 Hexen: Beyond Heretic Raven Software id Software 3D engine
December 23, 1994 Heretic Raven Software id Software Engine programmer
September 30, 1994 Doom II: Hell on Earth id Software GT Interactive Programming
December 10, 1993 Doom id Software id Software Programming
1993 Shadowcaster Raven Software Origin Systems 3D engine
September 18, 1992 Spear of Destiny id Software FormGen Software engineer
May 5, 1992 Wolfenstein 3D id Software Apogee Software Programming
1991 Catacomb 3-D id Software Softdisk Programming
1991 Commander Keen in Aliens Ate My Babysitter! id Software FormGen Programming
December 15, 1991 Commander Keen in Goodbye, Galaxy! id Software Apogee Software Programming
1991 Commander Keen in Keen Dreams id Software Softdisk Programming
1991 Shadow Knights id Software Softdisk Design/programming
1991 Rescue Rover 2 id Software Softdisk Programmer
1991 Rescue Rover id Software Softdisk Programmer
1991 Hovertank 3D id Software Softdisk Programming
1991 Dangerous Dave in the Haunted Mansion id Software Softdisk Programming
1991 Dark Designs III: Retribution Softdisk Softdisk Programmer/designer
December 14, 1990 Commander Keen in Invasion of the Vorticons id Software Apogee Software Programming
1990 Slordax: The Unknown Enemy Softdisk Softdisk Programming
1990 Catacomb II Softdisk Softdisk Developer
1990 Catacomb Softdisk Softdisk Programmer
1990 Dark Designs II: Closing the Gate Softdisk Softdisk Programmer/designer
1990 Dark Designs: Grelminar's Staff John Carmack Softdisk Developer
1990 Tennis John Carmack Softdisk Developer
1990 Wraith: The Devil's Demise John Carmack Nite Owl Productions Developer
1989 Shadowforge John Carmack Nite Owl Productions Developer

References

  1. 1.0 1.1 1.2 1.3 1.4 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Kushner 2003, pp. 20–22.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 7.2 Lua error in package.lua at line 80: module 'strict' not found.
  8. Kushner 2003, p. 21.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Kushner 2003, pp. 63–66.
  11. Kushner 2003, p. 74.
  12. Kushner 2003, p. 50.
  13. Kushner 2003, p. 142.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. 28.0 28.1 28.2 28.3 28.4 Lua error in package.lua at line 80: module 'strict' not found.
  29. Kushner 2003, pp. 252.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. 33.0 33.1 Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. John Carmack's .plan, March 18, 1997
  47. "id on Linux: "disappointing" and "support nightmare" Archived April 28, 2015, at the Wayback Machine from Slashdot (John Carmack, December 08, 2000)
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Kushner 2003, p. 281.
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. Lua error in package.lua at line 80: module 'strict' not found.
  63. Lua error in package.lua at line 80: module 'strict' not found.
  64. "Having a reasonable grounding in statistics and probability and no belief in luck, fate, karma, or god(s), the only casino game that interests me is blackjack," he wrote in a .plan file." — John Carmack, David Kushner, as quoted in Masters of Doom: How two guys created an Empire and transformed pop culture (2003).
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. Lua error in package.lua at line 80: module 'strict' not found.
  68. Lua error in package.lua at line 80: module 'strict' not found.
  69. CGW 159: The Most Influential People of All Time
  70. Time Digital 50 from Time
  71. Lua error in package.lua at line 80: module 'strict' not found.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. Lua error in package.lua at line 80: module 'strict' not found.
  75. Lua error in package.lua at line 80: module 'strict' not found.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. Lua error in package.lua at line 80: module 'strict' not found.
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. Lua error in package.lua at line 80: module 'strict' not found.

Bibliography

  • Lua error in package.lua at line 80: module 'strict' not found.

External links