Cube 2: Sauerbraten

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Cube 2: Sauerbraten
The Cube 2: Sauerbraten logo
Developer(s) Wouter "Aardappel" van Oortmerssen, Lee "eihrul" Salzman, Mike "Gilt" Dysart, Robert "baby-rabbit" Pointon, Quinton "quin" Reeves [1]
Designer(s) Wouter van Oortmerssen
Composer(s) Marc A. "Fanatic" Pullen[1]
Platforms Microsoft Windows, Linux, FreeBSD, OS X, Unix
Release date(s) May 6, 2004
Genre(s) First-person shooter
Mode(s) Single-player, Multiplayer
Screenshot of the level Eternal Valley

Cube 2: Sauerbraten (German for "sour roast", also known as Sauer) is a cross-platform, Quake-like first-person shooter that runs on Microsoft Windows, Linux, FreeBSD and Mac OS X using OpenGL and SDL. The game features single-player and multiplayer gameplay and contains an in-game level editor. The game engine is free and open-source software, under the zlib License,[2] with commercial support available from the developer's own business counterpart, Dot3 Labs.[3] The game media is released under various non-free licenses. The aim of the project is not to produce the most features and highest-quality graphics possible, but rather to allow map-editing to be done in real-time within the game, while keeping the engine source code small and elegant.

The game started as a redesign of the original Cube game engine,[4][5] and its first, developer-only, release was made on February 27, 2004.[6] One of the latest releases, dubbed the "Justice Edition", debuted on July 19, 2010,[7] adding two new player models, thirty new user-created maps, several new game modes, including Efficiency CTF, Efficiency Hold, Efficiency Protect, Hold, and InstaHold; a mini-map, clock, and crosshairs, among various other things. The latest release is called "Collect Edition" and was released on January 4, 2013.

The Cube 2: Sauerbraten engine is written in C++ and OpenGL. A Mozilla researcher, Alon Zakai, created the BananaBread demo by using Emscripten to port the C++ code into JavaScript and WebGL.[8]

Gameplay

Old logo

The game currently has singleplayer and multiplayer. Multiplayer functionality is possible with LAN, local, and online play. The online play gets its server listings from a master server. Offered gameplay modes are Free-For-All (everyone for themselves, all weapons allowed), InstaGib (deathmatch, rifles only), Capture (where teams fight for control of points on the map, all weapons allowed), Capture the Flag (two teams fight to capture the other's flag and return it to their base), Teamplay (defeat the other team's players to score points for your team), Tactics (FFA, but players spawn with random equipment), Efficiency (FFA, but players spawn with all equipment) InstaHold, where two teams have to possess a single flag for a minimum of 20 seconds to score points; Collect (kill enemy players and collect their skulls, which then have to be returned to the home base), and Protect (teams try to touch each other's flag). Insta, regenerative weapons ("regen") or Teamplay versions of some of the game modes are available, as well as cooperative map editing, even online—one of Cube 2's most interesting and popular features. There are also single-player modes featuring both episodic gameplay and deathmatches on multiplayer maps with AI bots instead of human opponents.

Development

Cube 2: Sauerbraten shares most of its design goals and philosophy with its predecessor, but using a new 6-directional heightfield (or octree) 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.

Real-time editing

An example of a primitive cube subdivision

Each cube-shaped node in the octree 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 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, that require costly pre-processing to build. Cube 2's novelty thus lies in that the world representation is the octree, or Marching cubes, structure itself, from which efficient triangle batches are generated for the graphics processing unit to render, without need for expensive and time-consuming pre-processing.[9]

Rendering engine

Cube 2's rendering engine is designed around modern graphics processing units, which perform best with huge batches of geometry already stored in video memory. Lighting is precomputed into lightmaps—image files that correspond to geometry as textures—for efficient batching, with an additional stored directional component, that allows for efficient shader-based lighting effects. The original Cube engine's rendering engine assumed that overdraw (where polygons that do not appear in the final scene are occluded via the z-buffer) 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 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.

Tesseract

Tesseract is both an improved version of the Cube 2 game engine and is also a fork from the Cube 2 Sauerbraten game. The game offers better graphics, but has higher system requirements.[10][11][12][13]

Reception

The game has been shown in a Burger King television commercial.[14][15] It also received four out of five stars in a MacWorld UK review[16] 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".[17]

The "CTF Edition" was reviewed positively by Phoronix, a Linux-focused hardware and software review website,[18] as well as Linux.com,[19] a website providing news related to free and open source software.

See also

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Tesseract page
  13. Lee Salzman's page, creator of Tesseract
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.

External links