Cube 2 Engine
   HOME

TheInfoList



OR:

''Cube 2: Sauerbraten'' (
German German(s) may refer to: * Germany, the country of the Germans and German things **Germania (Roman era) * Germans, citizens of Germany, people of German ancestry, or native speakers of the German language ** For citizenship in Germany, see also Ge ...
for " sour roast", also known as ''Sauer'') is a
first-person shooter A first-person shooter (FPS) is a video game genre, video game centered on gun fighting and other weapon-based combat seen from a First person (video games), first-person perspective, with the player experiencing the action directly through t ...
released for
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
,
OpenBSD OpenBSD is a security-focused operating system, security-focused, free software, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking NetBSD ...
, and
Mac OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
using
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
and SDL. In the style of '' Quake'', the game features
single-player A single-player video game is a video game where input from only one player is expected throughout the gameplay. Video games in general can feature several game modes, including single-player modes designed to be played by a single player in add ...
and
multiplayer A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system (couch co-op), on different computing systems via a local area network, or ...
game modes and contains an in-game
level editor A level editor (also known as a map, campaign or scenario editor) is a game development tool used to design Level (video games), levels, maps, campaigns and virtual worlds for a video game. An individual involved with the development of game levels ...
. The
game engine A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
is
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
under the
zlib License The zlib license is a permissive software license which defines the terms under which the zlib software library can be distributed. It is also used by many other open-source packages. The libpng library uses a similar license, libpng license, s ...
with commercial support available from the developer's business counterpart, Dot3 Labs. The game media is released under various non-free
license A license (American English) or licence (Commonwealth English) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit). A license is granted by a party (licensor) to another part ...
s. The aim of the project is not to produce the most features and highest-quality graphics possible but rather to provide real-time, in-game map editing while keeping the engine
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
small and elegant.


Gameplay

''Cube 2'' features singleplayer and multiplayer, the latter offering
LAN Lan or LAN may refer to: Science and technology * Local asymptotic normality, a fundamental property of regular models in statistics * Longitude of the ascending node, one of the orbital elements used to specify the orbit of an object in space * ...
, local, and online play. The game features multiple modes, such as deathmatch, Capture the Flag, and variations thereof. Players can also engage in online cooperative map editing. Single-player modes feature both episodic gameplay and deathmatches on multiplayer maps with AI
bots The British Overseas Territories (BOTs) or alternatively referred to as the United Kingdom Overseas Territories (UKOTs) are the fourteen dependent territory, territories with a constitutional and historical link with the United Kingdom that, ...
instead of human opponents.


History


Development

''Cube 2: Sauerbraten'' started as a redesign of the original ''
Cube A cube or regular hexahedron is a three-dimensional space, three-dimensional solid object in geometry, which is bounded by six congruent square (geometry), square faces, a type of polyhedron. It has twelve congruent edges and eight vertices. It i ...
''
game engine A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
. The engine is written in C++ and OpenGL. The game shares most of its design goals and philosophy with its predecessor, but uses a new 6-directional heightfield (or
octree An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
) world model. The game was ported to
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
by developer FernLightning.


Derivatives and forks

Since the engine code is open-source, a number of
fork In cutlery or kitchenware, a fork (from 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods either to h ...
s and derivatives have been based on it, most notably: * '' Platinum Arts Sandbox'' forks the ''Cube 2'' engine to create a standalone game creation system. * '' Red Eclipse'', a fork of ''Cube 2'' with improvements to the engine featuring a different style of gameplay. With version 2.0, it has been ported to the engine of ''Tesseract''. * ''Tesseract'', which features an improved version of the ''Cube 2'' game engine. It offers better graphics, but has higher system requirements. * ''OctaForge'' is a fork of Tesseract. * ''Tomatenquark'' is a fork of ''Cube 2'' that was available from
Steam Steam is water vapor, often mixed with air or an aerosol of liquid water droplets. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization. Saturated or superheated steam is inv ...
. * ''Cardboard'' is a fork created for the shooter game ''Carmine Impact'' available on
Steam Steam is water vapor, often mixed with air or an aerosol of liquid water droplets. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization. Saturated or superheated steam is inv ...
. * ''Syntensity'' was a fork of ''Cube 2'' focused on creating online content using the ''Intensity'' engine. * In 2012,
Mozilla Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
researcher Alon Zakai created a browser based demo called ''BananaBread'' by using
Emscripten Emscripten is an LLVM/Clang-based compiler that compiles C and C++ source code to WebAssembly, primarily for execution in web browsers. Emscripten allows applications and libraries written in C or C++ to be compiled ahead of time and run effi ...
to port the C++ code to
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
and
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
.


Features


Rendering engine

''Cube 2''s
rendering engine Rendering is the process of generating a photorealistic or non-photorealistic image from input data such as 3D models. The word "rendering" (in one of its senses) originally meant the task performed by an artist when depicting a real or imag ...
is designed around modern graphics processing units, which perform best with huge batches of geometry already stored in
video memory Video random-access memory (VRAM) is dedicated computer memory used to store the pixels and other graphics data as a framebuffer to be rendered on a computer monitor. It often uses a different technology than other computer memory, in order to b ...
. Lighting is precomputed into
lightmap A lightmap is a data structure used in lightmapping, a form of surface caching in which the brightness of surfaces in a virtual scene is pre-calculated and stored in texture maps for later use. Lightmaps are most commonly applied to static o ...
s—image files that correspond to geometry as textures—for efficient batching, with an additional stored directional component, that allows for efficient
shader In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
-based lighting effects. The original ''
Cube A cube or regular hexahedron is a three-dimensional space, three-dimensional solid object in geometry, which is bounded by six congruent square (geometry), square faces, a type of polyhedron. It has twelve congruent edges and eight vertices. It i ...
'' engine's rendering engine assumed that overdraw (where polygons that do not appear in the final scene are occluded via the
z-buffer A z-buffer, also known as a depth buffer, is a type of data buffer used in computer graphics to store the depth information of Fragmentation (computing), fragments. The values stored represent the distance to the camera, with 0 being the closest ...
) was more processor-intensive than sending new streams of triangles to the graphics processing every frame, which vastly limited its performance on more modern hardware where
memory bandwidth Memory bandwidth is the rate at which data can be read from or stored into a semiconductor memory by a processor. Memory bandwidth is usually expressed in units of bytes/second, though this can vary for systems with natural data sizes that are ...
is a greater limiting factor. The most recent releases (starting with "CTF Edition") support a precomputed visibility system (PVS) for graphics cards that do not support hardware occlusion.


Real-time editing

''Cube 2: Sauerbraten'' uses a 6-directional heightfield (or
octree An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
) world model. An octree, in Sauerbraten, is a cube that can be split into eight smaller cubes; those smaller cubes are also octrees, and can be subdivided further. This allows much more complex level geometry and easier editing. Each cube-shaped node in the
octree An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
represents a renderable volume, or a type of Marching cube, which are referred to as a ''cube'', where each edge of this cube can be lengthened or shortened to deform the cube into a variety of other shapes. Corners of cubes can also be "pushed" or "pulled" to create crude curves. The
what you see is what you get In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
realtime editing has enabled level designers to add a lot of detail to maps, while reducing the time spent on actual creation. This is in contrast to traditional modern polygon soup 3D engines which take a model generated as an essentially random batch of triangles from an external modelling program and attempt to spatially subdivide the model's triangles after the fact by splitting them to fit into tree structures, such as a BSP tree or even an
octree An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
, that require costly pre-processing to build. ''Cube 2''s novelty thus lies in that the world representation is the
octree An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
, or
Marching cubes Marching cubes is a computer graphics algorithm, published in the 1987 SIGGRAPH proceedings by Lorensen and Cline, for extracting a polygonal mesh of an isosurface from a three-dimensional discrete scalar field (the elements of which are somet ...
, structure itself, from which efficient triangle batches are generated for the
graphics processing unit A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
to render, without need for expensive and time-consuming pre-processing.


Reception

The game has been shown in a
Burger King Burger King Corporation (BK, stylized in all caps) is an American multinational chain store, chain of hamburger fast food restaurants. Headquartered in Miami-Dade County, Florida, the company was founded in 1953 as Insta-Burger King, a Jacks ...
television commercial A television advertisement (also called a commercial, spot, break, advert, or ad) is a span of television programming produced and paid for by an organization. It conveys a message promoting, and aiming to market, a product, service or idea. ...
. It also received four out of five stars in a
MacWorld UK ''Macworld'' is a digital magazine and website dedicated to products and software of Apple Inc., published by Foundry, a subsidiary of IDG. History ''Macworld'' was founded by David Bunnell and Cheryl Woodard (publishers) and Andrew Flue ...
review and was mentioned in issue 3 of '' Games for Windows: The Official Magazine'' (as well as their "101 Free Games" article), where it was described as being "perfect for both stingy and creative gamers alike". The "CTF Edition" was reviewed positively by
Phoronix Phoronix Test Suite (PTS) is a free and open-source benchmark software for Linux and other operating systems. The Phoronix Test Suite, developed by Michael Larabel and Matthew Tippett, has been endorsed by sites such as Linux.com, LinuxPlanet ...
, a Linux-focused hardware and software review website, as well as Linux.com, a website providing news related to
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
.
PC World ''PC World'' (stylized as PCWorld) is a global computer magazine published monthly by IDG. Since 2013, it has been an online-only publication. It offers advice on various aspects of PCs and related items, the Internet, and other personal tec ...
recommended the in-game editor for amateur game design.


See also

* ''
Cube A cube or regular hexahedron is a three-dimensional space, three-dimensional solid object in geometry, which is bounded by six congruent square (geometry), square faces, a type of polyhedron. It has twelve congruent edges and eight vertices. It i ...
'' *
List of free first-person shooters This is a list of some of the most popular freeware and free and open-source software first-person shooter games. Freeware clients Some free-to-play online first-person shooters use a client–server model, in which only the client is availa ...
*
List of open source games This is a list of notable open-source video games. Open-source video games are assembled from and are themselves open-source software, including public domain games with public domain source code. This list also includes games in which the engine ...
* Platinum Arts Sandbox Free 3D Game Maker


References


External links


Official Sauerbraten site

The official site for all Cube-based games

BananaBread project
on Github.com {{Video game engines 2004 video games First-person shooters Free game engines Free software programmed in C++ Game engines for Linux Linux games MacOS games MorphOS games Multiplayer and single-player video games Multiplayer online games Open-source video games Unix games Video games developed in the Netherlands Windows games Arena shooters