Software:Quake II engine

From HandWiki
Short description: Game engine


Quake II engine
Quake2b.jpg
A screenshot of Quake II
Developer(s)id Software (John Carmack, John Cash, and Brian Hook)
Final release
3.21 / December 22, 2001; 22 years ago (2001-12-22)
Repositorygithub.com/id-Software/Quake-2
Written inC, Assembly (for software rendering & optimization)
PlatformWindows, Mac OS 8, Linux, PowerPC Macintosh, Amiga, Nintendo 64, Dreamcast, Xbox, PlayStation 2
PredecessorQuake engine
Successorid Tech 3, GoldSrc
LicenseGNU GPL-2.0-or-later

The Quake II engine is a game engine developed by id Software for use in their 1997 first-person shooter Quake II.[1] It is the successor to the Quake engine. Since its release, the Quake II engine has been licensed for use in several other games.[2]

One of the engine's most notable features was out-of-the-box support for hardware-accelerated graphics, specifically OpenGL, along with the traditional software renderer.[2] Another interesting feature was the subdivision of some of the components into dynamic-link libraries. This allowed both software and OpenGL renderers, which were selected by loading and unloading separate libraries. Libraries were also used for the game logic, with consequences including:

  • Since they were compiled for specific platforms, instead of an interpreter, they could run faster than Quake's solution, which was to run the game logic (QuakeC) in a limited interpreter.[3]
  • id could release the source code to allow modifications while keeping the remainder of the engine proprietary.[4]

The level format, as with previous id Software engines, used binary space partitioning. The level environments were lit using lightmaps, a method in which light data for each surface is precalculated (this time, via a radiosity method) and stored as an image, which is then used to determine the lighting intensity each 3D model should receive, but not its direction.[5][6]

id Software released the source code on December 22, 2001, under the terms of the GNU General Public License v2.0 or later.[7]

Games using the Quake II engine

Games using a proprietary license

Year Title Developer
1997 Quake II id Software
1998 Quake II Mission Pack: The Reckoning Xatrix Entertainment
Quake II Mission Pack: Ground Zero Rogue Entertainment
Heretic II Raven Software
SiN Ritual Entertainment
1999 SiN 2015, Inc.
Kingpin Xatrix Entertainment
2000 Soldier of Fortune Raven Software
Daikatana Ion Storm
2001 Anachronox

Games based on the GPL source release

Year Title Developer
2003 UFO UFO: Alien Invasion Team
2008 Gravity Bone Blendo Games
2012 Warsow[8][9] Warsow Team
Thirty Flights of Loving Blendo Games
2017 Alien Arena: Warriors of Mars COR Entertainment, LLC

Ports

  • Jake2 is a Java port of the Quake II engine's GPL release. It has since been used by Sun as an example of Java Web Start capabilities for games distribution over the Internet.[10] In 2006, it was used to experiment playing 3D games with eye tracking.[11] The performance of Jake2 is on par with the original C version.[12]
  • Yamagi Quake II is a port of Quake II to modern systems which aims to preserve the original gameplay.[13][14][15][16]
  • vkQuake2 is the original Quake II engine with additional Vulkan renderer created by Krzysztof Kondrak, a programmer from Poland. It was originally released in December 2018 under the GPLv2.[17][18]
  • Qfusion is a modification of the GPL version of the engine. The engine was used in the 2012 game Warsow.[8][9]

See also

References

  1. Grant, Christopher (August 9, 2011). "id Software looking to shorten dev cycles, stop building new engines for every game". AOL. http://www.joystiq.com/2011/08/09/id-software-looking-to-shorten-dev-cycles-stop-building-new-eng/. 
  2. 2.0 2.1 "Technology Licensing: id Tech 2". http://www.idsoftware.com/business/idtech2/. 
  3. Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 2/4". https://fabiensanglard.net/quake2/quake2Polymorphism.php. "Dynamic linking provided numerous advantages: [...] Full native speed for mods, no need to rely on QuakeC and Quake Vitual machine." 
  4. Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 2/4". https://fabiensanglard.net/quake2/quake2Polymorphism.php. "Dynamic linking provided numerous advantages: [...] More capabilities to mod makers, the entire game could be altered via game.dll." 
  5. Milne, Rory (March 1, 2019). "The making of Quake 2". https://www.pcgamer.com/the-making-of-quake-2/. "We also had light bouncing—simulated radiosity—so every corner of the world had some lighting." 
  6. Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 3/4". https://fabiensanglard.net/quake2/quake2_software_renderer.php. "Contrary to Quake1, Quake2 used radiosity and colored light during the precalculation." 
  7. DiBona, Chris (December 22, 2001). "Quake 2 Source Code Released Under the GPL". https://games.slashdot.org/story/01/12/22/053211/quake-2-source-code-released-under-the-gpl. 
  8. 8.0 8.1 Dolinsky, Sergey (2008). "Открытые бета-тесты декабря" (in Russian). Strana Igr (Gameland) (250): 142. https://archive.org/details/Game_Land_2008-01-250/page/n143/mode/2up. 
  9. 9.0 9.1 "Warsow" (in Romanian). Level (4/2008): 7. April 2008. https://archive.org/details/Level_127_Apr-2008/page/n5/mode/2up. 
  10. "JDK 6u10: Jake2: Quake II in Java". Sun Microsystems. https://www.oracle.com/technetwork/java/javase/jnlp-136707.html#EXAMPLES_JAKE2. "The Jake2 applet example shows the future of game distribution over the Internet. Jake2 is a port of id Software's Quake II to the Java platform developed by Bytonic Software. (...). With the new Java Plug-In, it is now possible to deploy the game directly into the web page with full hardware acceleration and rock-solid reliability." 
  11. Miller, Ross (August 3, 2006). "Play with your eyes". Joystiq. http://www.joystiq.com/2006/08/03/play-with-your-eyes/. 
  12. "Q24j: Jake and Java-gaming Viability". O'Reilly Media. November 28, 2005. http://www.oreillynet.com/onjava/blog/2005/11/q24j_jake_and_javagaming_viabi.html. "This is a great show of 3D prowess. Things like this, as well as the Narya 2D open source engine from ThreeRings really are starting to at least show Java can serve as a first-class gaming platform. More than that, just having seen all the… *cough* horrible code in games before, having things like Java’s threading model, network and database support might really make it a BETTER platform for a lot of forthcoming games than C." 
  13. Dawe, Liam (2021-07-21). "Alternate Quake II game engine Yamagi Quake II adds optional Vulkan support". https://www.gamingonlinux.com/2021/06/alternate-quake-ii-game-engine-yamagi-quake-ii-adds-vulkan/. 
  14. Burmeister, Yamagi. "Yamagi Quake II project page". https://www.yamagi.org/quake2/. 
  15. "Quake 2 - Source Ports". https://support.gog.com/hc/en-us/articles/360013523854-Quake-2-Source-Ports?product=gog. 
  16. "Quake II: Quad Damage Review". August 18, 2017. https://gamingpastime.com/quake-2-review/. 
  17. Larabel, Michael (December 20, 2018). "Quake 2 Gets A Vulkan Renderer 21 Years After Release". https://www.phoronix.com/scan.php?page=news_item&px=vkQuake2-Quake-2-Vulkan. 
  18. "vkQuake2 on GitHub". December 19, 2022. https://github.com/kondrak/vkQuake2. 

External links