In this article we are going to address the topic of Quake II engine from different perspectives, with the aim of delving into its importance and relevance today. Quake II engine is a topic that has generated great interest in different areas, since its influence extends to numerous areas of society. Throughout this article, we will analyze the different facets of Quake II engine, exploring its impact on everyday life, its evolution over time, and possible future implications. In addition, we will examine the opinions and reflections of experts in the field, as well as the experiences of people who have closely experienced the influence of Quake II engine in their lives. In short, this article aims to offer a deep and complete vision of Quake II engine, in order to enrich knowledge and understanding of this exciting topic.
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.[5]
id could release the source code to allow modifications while keeping the remainder of the engine proprietary.[6]
As with previous id Software engines, level geometry used binary space partitioning, and would be authored using constructive solid geometry like in the Quake engine. 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 overlaid onto the level geometry and used to determine the light intensity each 3D model should receive, but not its direction.[7][8]
Jake2 – 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.[16] In 2006, it was used to experiment playing 3D games with eye tracking.[17] The performance of Jake2 is on par with the original C version.[18]
Quake2Forge – one of the earliest community produced source ports. [19]
Quake2xp – a port of Quake II to modern operating systems.[20][21][22]
KMQuake2 – an upgraded engine for Quake II.[22][23][24]
Quake 2 Evolved – early graphically enhanced game engine.[25][26][27][28]
Quetoo (formerly Quake2World) – multiplayer focused port derived from Quake2Forge.[14][29]
Berserker@Quake2 – graphically enhanced Quake II port.[30]
Yamagi Quake II – a port of Quake II to modern systems which aims to preserve the original gameplay.[31][32][33][34][22]
vkQuake2 – 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.[35][36]
^Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 2/4". fabiensanglard.net. Retrieved July 29, 2023. Dynamic linking provided numerous advantages: Full native speed for mods, no need to rely on QuakeC and Quake Vitual machine.
^Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 2/4". fabiensanglard.net. Retrieved July 29, 2023. Dynamic linking provided numerous advantages: More capabilities to mod makers, the entire game could be altered via game.dll.
^Milne, Rory (March 1, 2019). "The making of Quake 2". pcgamer.com. Retrieved July 29, 2023. We also had light bouncing—simulated radiosity—so every corner of the world had some lighting.
^Sanglard, Fabien (September 16, 2011). "Quake 2 Source Code Review 3/4". fabiensanglard.net. Retrieved July 29, 2023. Contrary to Quake1, Quake2 used radiosity and colored light during the precalculation.
^"JDK 6u10: Jake2: Quake II in Java". Sun Microsystems. Retrieved July 27, 2023. 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.
^"Q24j: Jake and Java-gaming Viability". O'Reilly Media. November 28, 2005. Retrieved July 18, 2009. 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.