Quake Army Knife

{{Short description|3D asset developing program}}

{{Infobox software

| name = Quake Army Knife

| logo = QuArKIcon.png

| logo caption =

| screenshot = QuArK-MapEditor.png

| caption = Screenshot of QuArK's map editor

| collapsible =

| author =

| developer = QuArK Development Team

| released =

| discontinued =

| latest release version = 6.3

| latest release date = {{Start date and age|2003|1|15|df=yes}}

| latest preview version = 6.6.0 Beta 7

| latest preview date = {{Start date and age|2021|5|2|df=yes}}

| repo = {{URL|https://sourceforge.net/p/quark/code/HEAD/tree/}}

| programming language = Delphi and Python

| operating system = Microsoft Windows

| platform =

| size =

| language = English

| genre = Level design tool

| license = GPL{{Cite web|url=https://quark.sourceforge.io/features.php|title=The Official QuArK website - Features|website=quark.sourceforge.io}}

| website = {{URL|https://quark.sourceforge.io/}}

}}

{{Portal|Free and open-source software|Video games}}

Quake Army Knife (QuArK) is a free and open-source program for developing 3D assets for a large variety of first-person shooters,{{cite web |title=Design and implementation of games based on existing graphics engines |author=Pawel Lekki, Grzegorz Labuzek |publisher=Institute of Computer Graphics Szczecin University of Technology Szczecin / Poland |url=http://old.cescg.org/CESCG-2006/papers/Szczecin-Labuzek-Grzegorz.pdf |archive-url=https://web.archive.org/web/20181204101928/http://old.cescg.org/CESCG-2006/papers/Szczecin-Labuzek-Grzegorz.pdf |url-status=live |archive-date=4 December 2018}} such as video games using the Quake engine by id Software or the Torque engine.Derek Nofsinger, Graphic Software Used in Game Design, April 11, 2006, {{cite web |url=http://faculty.fortlewis.edu/adams_e/CLASSES/CS496SeniorSeminar/CS496W06/StudentPapers/Nofsinger.doc |title=Archived copy |access-date=24 April 2009 |url-status=dead |archive-url=https://web.archive.org/web/20100630060202/http://faculty.fortlewis.edu/ADAMS%5FE/CLASSES/CS496SeniorSeminar/CS496W06/StudentPapers/Nofsinger.doc |archive-date=30 June 2010}}{{cite web |title=Playas: Homeland Mirage |author=Jack Stenner, Andruid Kerne, Yauger Williams |publisher=Texas A&M University |url=https://ecologylab.net/research/publications/playasHomelandMirageMM05.pdf |archive-url=https://web.archive.org/web/20190307054119/https://ecologylab.net/research/publications/playasHomelandMirageMM05.pdf |url-status=live |archive-date=7 March 2019}}{{Cite book |last=Murdock |first=Kelly |title=3D Game Animation For Dummies (For Dummies (Computer/Tech)) |date=10 June 2005 |publisher=For Dummies |isbn=0-7645-8789-7}}{{Citation |last1=Mateevitsi |first1=Victor |last2=Sfakianos |first2=Michael |last3=Lepouras |first3=George |last4=Vassilakis |first4=Costas |title=Proceedings of the 3rd international conference on Digital Interactive Media in Entertainment and Arts |chapter=A game-engine based virtual museum authoring and presentation system |pages=451–457 |year=2008 |doi=10.1145/1413634.1413714 |isbn=9781605582481 |s2cid=17580889 |url=https://www.researchgate.net/publication/221038689}}

Overview

QuArK is released under the GNU General Public License and has the ability to edit maps (either directly or through an intermediate compiler process), and can import, export, manipulate and convert models, sounds, textures and various other game assets, or create any of these assets from scratch.{{cite web|title=Summers, E, Getchell, K, Miller, A, Allison, C. In: Proc. 8th International Postgraduate Symposium on the Convergence of Telecommunications, Networking and Broadcasting, Liverpool John Moores University, UK. 2007. |url=http://lava.cs.st-andrews.ac.uk/publications/Generating-3D-Multiplayer-Game-Maps-from-2D-Architectural-Plans.pdf|archive-url=https://web.archive.org/web/20160303201725/http://lava.cs.st-andrews.ac.uk/publications/Generating-3D-Multiplayer-Game-Maps-from-2D-Architectural-Plans.pdf|url-status=dead|archive-date=3 March 2016}} It is also possible to move or change dynamic game objects without the need to recompile the whole map which makes the fine-tuning of details quicker. QuArK uses external compilers (like Q3Map2) to produce the actual level-file used by the game. These compilers can be fully configured using their command-line parameters, and once done, QuArK remembers these settings so they can be used every time.

The interface is based upon VCL and includes a multitude of flyover hints and other forms of in-program documentation. It also offers multiple editor layouts, including 2D wireframe and 3D textured views, where it is possible to see how the map or model will look in-game. This view can be rendered with a built-in software, Glide, OpenGL or Direct3D renderer. Views have three modes: wireframe, solid color and textured, and supports transparency and lighting in OpenGL mode.

It is possible to add plug-ins, written in Python, to extend the capabilities of the editor, or to make changes to the official Python files to alter the way QuArK's functions work. More information about this can be found in the [https://quark.sourceforge.io/infobase/ QuArK Infobase].

QuArK itself has low system requirements,{{Cite web|url=https://quark.sourceforge.io/features.php#sysreqs|title=The Official QuArK website - Features|website=quark.sourceforge.io}} although a lot of additional resources are taken up by the loaded game data. That amount depends on the game-mode selected and the size and complexity of the map or model being edited. QuArK supports the Win32 platform, including Windows 95, 98, ME, NT 4, 2000 and XP. It also runs on 64-bit operating systems (in 32-bit mode), Windows Vista and higher, and it can run under Unix-based platforms by using the Wine compatibility layer.{{Cite web|url=https://appdb.winehq.org/objectManager.php?sClass=application&iId=1532|title=WineHQ - QuArK|website=appdb.winehq.org}}

Map making process

In QuArK, multiple types of objects can be used to construct a map, of which the basic building block is a brush. These are added into an empty space, building the map block-by-block, or can be used in constructive solid geometry functions such as brush-subtraction.

A brush is defined by a set of planes, with the volume they enclose forming the brush.{{citation|url=https://ia802806.us.archive.org/4/items/lithengine/JupiterDevGuide.pdf|title=Development Guide - Jupiter System|date=19 March 2002|page=32}} Brushes can be primitive shapes (such as cubes, spheres and cones), pre-defined shapes (such as staircases), or custom shapes (such as prisms and other polyhedra). During a process called binary space partitioning, brushes are turned into meshes that can be rendered by the game engine.{{cite web |access-date=2011-03-24|url=http://developer.valvesoftware.com/wiki/Brush |title=Definition of Brush in the Valve Developer Community|publisher=Valve}}

Additionally, for engines that support it, Bézier surfaces can be used to create curved surfaces. QuArK also has a built-in leak finder in order to prevent holes in the map.{{cite web|title=Quake Level Editing|access-date=2011-05-21|url=http://www.mindspring.com/~win32ch/Leveledit.htm}} Items can be added to a map simply by selecting them from a list of available entities, and their properties can be edited once they are placed in the map.{{Cite web|url=https://quark.sourceforge.io/infobase/maped.tutorial.entities.html|title=Using entities|website=quark.sourceforge.io}}

Usage and popularity

QuArK is one of the three most notable level editors for Quake, together with Radiant and Worldcraft.{{cite magazine |last1=Westlake |first1=Simon |last2=Deloura |first2=Mark |date=January 2001 |title=Front Line Awards |magazine=Game Developer |publisher=Jennifer Pahlka}} QuArK is one of the two most popular editors for Quake II, GtkRadiant being the other.{{Cite web |title=Quake II as a Robotic and Multi-Agent Platform|author=Chris Brown, Peter Barnum, Dave Costello, George Ferguson, Bo Hu, Mike Van Wie|url=http://hdl.handle.net/1802/1042}} QuArK is the most popular tool to access WAD files.{{Cite book | last=W. Lecky-Thompson | first=Guy | title=Video Game Design Revealed (Revealed (Charles River Media)) | year=2008 | publisher=Charles River Media | isbn=978-1-58450-562-4}} QuArK is probably the second most popular tool for level editing for Half-Life, after the official Valve Hammer Editor.{{Cite book |last=Laukkanen |first=Tero |title=Modding Scenes-Introduction to user-created content in computer gaming |date=October 2005 |isbn=951-44-6448-6}} [http://tampub.uta.fi/handle/10024/65431] QuArK is also used as a mapping tool in scientific studies.{{cite web|title=Learning Plan Networks in Conversational Video Games|publisher=Massachusetts Institute of Technology |url=https://www.media.mit.edu/cogmac/publications/orkin_mastersthesis_2007.pdf|archive-url=https://web.archive.org/web/20170812190200/https://www.media.mit.edu/cogmac/publications/orkin_mastersthesis_2007.pdf|url-status=live|archive-date=12 August 2017}}{{cite journal | vauthors=Harvey CD, Collman F, Dombeck DA, Tank DW | title=Intracellular dynamics of hippocampal place cells during virtual navigation. | journal=Nature | year= 2009 | volume= 461 | issue= 7266 | pages= 941–6 | pmid=19829374 | doi=10.1038/nature08499 | pmc=2771429 | bibcode=2009Natur.461..941H}}

History

QuArK started out as a Delphi program called "Quakemap", written by Armin Rigo in 1996. Initially it could only edit maps for Quake, but editing capabilities for QuakeC, sounds and compiled maps were added in version 2,{{Cite web|url=http://users.yknet.yk.ca/dmckay/qmap/inter.html|title=Interview with Armin Rigo - Feb. 12th 1997|date=April 30, 1997|archive-url=https://web.archive.org/web/19970430160107/http://users.yknet.yk.ca/dmckay/qmap/inter.html|archive-date=1997-04-30}} which was released in October 1996.{{Cite web|url=https://www.bluesnews.com/archives/oct96-3.html|title=Blue's Quake News -- October 19-25, 1996|website=Blue's News}}

In 1997 a contest was held to rename the software and QuArK, which stands for "Quake Army Knife", was selected.{{Cite web|url=http://users.yknet.yk.ca/dmckay/qmap/docs/qmap2qrk.htm |title=From QuakeMap To QuArK |archive-url=https://web.archive.org/web/19970430171055/http://users.yknet.yk.ca/dmckay/qmap/docs/qmap2qrk.htm |archive-date=1997-04-30}} It is named so in reference to the game engine series it supported, the Quake engines, and for Swiss Army knife, because it could not only edit maps, but included a model editor and texture browser as well. Version 3.0 was the first release under this name.

QuArK soon expanded to support Hexen II with version 4.0, and Quake II not much later. With the release of version 5.0 in 1998, Python support was added for plugin capabilities.

The latest stable version of QuArK was 6.3, released in January 2003,{{Cite web|url=https://quark.sourceforge.io/newsarticle.php?ArticleID=215|title=The Official QuArK website - News Article|website=quark.sourceforge.io}} but since then many new alpha and beta versions have been released that have many new features, and include support for many new games. A small (and incomplete) overview of the major releases since 6.3:{{Cite web|url=https://quark.sourceforge.io/archivednews.php|title=The Official QuArK website - Archived News|website=quark.sourceforge.io}}

class="wikitable" style="font-size: 100%; text-align: left;"
Version

!Last release date

!Most notable changes

{{rh}} | 6.4.1 Alpha

| September 2003

| Support for Doom 3 and Half-Life 2.

{{rh}} | 6.5.0 Alpha

| July 2006

| Ability to display HL2 materials.
Fixed light entity dependency for OpenGL transparency to work feature.
Added Quick Object Makers, to quickly create simple geometric shapes.
Support for Quake 4.

{{rh}} | 6.5.0 Beta

| December 2007

| OpenGL rendering available in all editor windows.
Fixed the Software & Glide lock-up and smearing problems.
OpenGL lighting and transparency support.
Fixed a whole load of memory leaks.
Added QuArKSAS.
Initial support for Star Trek: Elite Force II.
Ability to save .md3 models.

{{rh}} | 6.6.0 Beta

| May 2021

| Support for Call of Duty 2, Team Fortress 2, Heavy Metal: F.A.K.K.², Prey, Nexuiz, Warsow, Portal and American McGee's Alice.
Major support improvements for Star Trek: Elite Force II.
Ability to load and save .ase, .stl, .md5 models, Half-Life 1 models and Medal of Honor: Allied Assault models, and load .gr2.

= Ports =

There were plans to make a C++ version of QuArK that reuses the existing Python files,{{cite web|title=Quark++ |url=https://sourceforge.net/projects/quarkplusplus/|archive-url=https://web.archive.org/web/20190306234749/https://sourceforge.net/projects/quarkplusplus/|url-status=dead|archive-date=6 March 2019}} plans to port the program to macOS and Linux,{{Cite web|url=http://trino.sourceforge.net/|title=Trino - Multiplatform Level Editor|website=trino.sourceforge.net}} and plans to do a complete rewrite of QuArK in C++ and Python,{{Cite web|url=https://quark.sourceforge.io/quark7/|title=The Official QuArK website - Main Page|website=quark.sourceforge.io}} but development on all these projects has ceased.{{citation needed|date=July 2019}}

Utilities

QuArK comes with several stand-alone utilities:

  • QuArKSAS: The QuArK Steam Access System, or QuArKSAS, is a command-line program that allows the user to extract files from the Steam filesystem.
  • grnreader.exe: Used to convert .gr2 files into QuArK-loadable .ms files.
  • NVDXT: Nvidia's DXT converter, used to create .dds files.

Unofficial packages

There are several unofficial packages available:

  • [http://www.skinhat.com/3dpack/ 3D Development Pack] is a custom installer to allow people to quickly and easily develop a 3D game using QuArK. It combines QuArK, Lazarus and GLScene.The version of QuArK used in this package is not up-to-date.
  • [http://www.skinhat.com/Quark Quark For GLScene] is an install for QuArK that includes [https://web.archive.org/web/20080517065004/http://www.osmanturan.com/ OpenBSP] as the default compiler and doesn't need Quake installed.
  • The Garage Games website offered a custom installer, which will install QuArK with some additional files so it's ready to go and configured for Torque: [https://web.archive.org/web/20081204142021/http://www.garagegames.com/docs/tge/general/ch09s02.html Torque Game Engine Documentation].

Notes

References

{{reflist|30em|refs=

{{cite book |author=Finney, Kenneth V. |title=3D Game Programming All in One (Course Technology PTR Game Development Series) |year=2004 |publisher=Muska & Lipman/Premier-Trade |isbn=1-59200-136-X}}

}}

{{Quake series}}

Category:1996 software

Category:Free 3D graphics software

Category:Free software programmed in Delphi

Category:Free software programmed in Python

Category:Id Tech

Category:Quake (series)

Category:Video game level editors

Category:Video game modification tools

Category:Windows-only free software