Jump to content

Quake Army Knife

From Wikipedia, the free encyclopedia
(Redirected from Brush (video game))
Quake Army Knife
Developer(s)QuArK Development Team
Stable release
6.3 / 15 January 2003; 21 years ago (2003-01-15)
Preview release
6.6.0 Beta 7 / 2 May 2021; 3 years ago (2021-05-02)
Repositorysourceforge.net/p/quark/code/HEAD/tree/
Written inDelphi and Python
Operating systemMicrosoft Windows
Available inEnglish
TypeLevel design tool
LicenseGPL[1]
Websitequark.sourceforge.io

Quake Army Knife (aka QuArK), is a free and open-source program for developing 3D assets for a large variety of first-person shooters,[2] such as video games using the Quake engine by id Software or the Torque engine.[3][4][5][6][7]

Overview

[edit]

QuArK is released under the GNU General Public License[1] 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.[8] 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 QuArK Infobase.

QuArK itself has very low system requirements,[9] 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.[10]

Map making process

[edit]

In QuArK, multiple types of objects can be used to construct a map, of which the basic building block is a brush. A brush is defined by a set of planes, with the volume they enclose forming the brush.[11] 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).[3] These are added into an empty space, building the map block-by-block.

Brushes are converted to a format the game engine can use using a process called binary space partitioning.[12] During this process, brushes are turned into meshes that can be rendered by the game engine. Often brushes are restricted to convex shapes only, as this reduces the complexity of the binary space partitioning process. However, using CSG operations, complex rooms and objects can be created by adding, subtracting and intersecting brushes to and from one another.[13] Additionally, brushes can be used as liquids[14] or as an area trigger.[15]

To assist, more advanced features are available, including constructive solid geometry functions such as brush-subtraction.

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.[16] 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.[17]

Usage and popularity

[edit]

QuArK is one of the three most notable level editors for Quake, together with Radiant and Worldcraft.[18] QuArK is one of the two most popular editors for Quake II, GtkRadiant being the other.[8][19] QuArK is the most popular tool to access WAD files.[20] QuArK is probably the second most popular tool for level editing for Half-Life, after the official Valve Hammer Editor.[21] QuArK is also used as a mapping tool in scientific studies.[22][23]

History

[edit]

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,[24] which was released in October 1996.[25]

In 1997 a contest was held to rename the software and QuArK, which stands for "Quake Army Knife", was selected.[26] 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.[27] However, 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:[28]

Version Last Release Date Most Notable Changes
6.4.1 Alpha September 2003 Support for Doom 3 and Half-Life 2.
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.
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.
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

[edit]

There were plans to make a C++ version of QuArK that reuses the existing Python files,[29] plans to port the program to macOS and Linux,[30] and plans to do a complete rewrite of QuArK in C++ and Python,[31] but development on all these projects has ceased.[citation needed]

Utilities

[edit]

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

[edit]

There are several unofficial packages available:

Notes

[edit]
  1. ^ a b c The version of QuArK used in this package is not up-to-date.

References

[edit]
  1. ^ a b "The Official QuArK website - Features". quark.sourceforge.io.
  2. ^ Pawel Lekki, Grzegorz Labuzek. "Design and implementation of games based on existing graphics engines" (PDF). Institute of Computer Graphics Szczecin University of Technology Szczecin / Poland. Archived (PDF) from the original on 4 December 2018.
  3. ^ a b Finney, Kenneth V. (2004). 3D Game Programming All in One (Course Technology PTR Game Development Series). Muska & Lipman/Premier-Trade. ISBN 1-59200-136-X.
  4. ^ Derek Nofsinger, Graphic Software Used in Game Design, April 11, 2006, "Archived copy". Archived from the original on 30 June 2010. Retrieved 24 April 2009.{{cite web}}: CS1 maint: archived copy as title (link)
  5. ^ Jack Stenner, Andruid Kerne, Yauger Williams. "Playas: Homeland Mirage" (PDF). Texas A&M University. Archived (PDF) from the original on 7 March 2019.{{cite web}}: CS1 maint: multiple names: authors list (link)
  6. ^ Murdock, Kelly (10 June 2005). 3D Game Animation For Dummies (For Dummies (Computer/Tech)). For Dummies. ISBN 0-7645-8789-7.
  7. ^ Mateevitsi, Victor; Sfakianos, Michael; Lepouras, George; Vassilakis, Costas (2008), "A game-engine based virtual museum authoring and presentation system", Proceedings of the 3rd international conference on Digital Interactive Media in Entertainment and Arts, pp. 451–457, doi:10.1145/1413634.1413714, ISBN 9781605582481, S2CID 17580889
  8. ^ a b "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" (PDF). Archived from the original (PDF) on 3 March 2016.
  9. ^ "The Official QuArK website - Features". quark.sourceforge.io.
  10. ^ "WineHQ - QuArK". appdb.winehq.org.
  11. ^ Development Guide - Jupiter System (PDF), 19 March 2002, p. 32
  12. ^ "Definition of Brush in the Valve Developer Community". Valve. Retrieved 2011-03-24.
  13. ^ "UDN – Two – BspBrushesTutorial". Epic Games. Retrieved 2012-04-21.
  14. ^ BSP Headquarters - BSP Quake Tutorial #5
  15. ^ BSP Headquarters - BSP Quake Tutorial #6
  16. ^ "Quake Level Editing". Retrieved 2011-05-21.
  17. ^ "Using entities". quark.sourceforge.io.
  18. ^ Westlake, Simon; Deloura, Mark (January 2001). "Front Line Awards". Game Developer. Jennifer Pahlka.
  19. ^ Chris Brown, Peter Barnum, Dave Costello, George Ferguson, Bo Hu, Mike Van Wie. "Quake II as a Robotic and Multi-Agent Platform" (PDF).{{cite web}}: CS1 maint: multiple names: authors list (link)
  20. ^ W. Lecky-Thompson, Guy (2008). Video Game Design Revealed (Revealed (Charles River Media)). Charles River Media. ISBN 978-1-58450-562-4.
  21. ^ Laukkanen, Tero (October 2005). Modding Scenes-Introduction to user-created content in computer gaming. ISBN 951-44-6448-6. [1]
  22. ^ "Learning Plan Networks in Conversational Video Games" (PDF). Massachusetts Institute of Technology. Archived (PDF) from the original on 12 August 2017.
  23. ^ Harvey CD, Collman F, Dombeck DA, Tank DW (2009). "Intracellular dynamics of hippocampal place cells during virtual navigation". Nature. 461 (7266): 941–6. Bibcode:2009Natur.461..941H. doi:10.1038/nature08499. PMC 2771429. PMID 19829374.
  24. ^ "Interview with Armin Rigo - Feb. 12th 1997". April 30, 1997. Archived from the original on 1997-04-30.
  25. ^ "Blue's Quake News -- October 19-25, 1996". www.bluesnews.com.
  26. ^ "From QuakeMap To QuArK". Archived from the original on 1997-04-30.
  27. ^ "The Official QuArK website - News Article". quark.sourceforge.io.
  28. ^ "The Official QuArK website - Archived News". quark.sourceforge.io.
  29. ^ "Quark++". Archived from the original on 6 March 2019.
  30. ^ "Trino - Multiplatform Level Editor". trino.sourceforge.net.
  31. ^ "The Official QuArK website - Main Page". quark.sourceforge.io.