Sauerbraten
Documentation
Sauerbraten is multiplayer/singleplayer FPS freeware game project, and soon an RPG game project.
The sourcecode for the engine used in these games is Open Source (ZLIB licence, read the "License"
section below carefully before starting ANY kind of project based on this engine).
You will want to read (roughly this order):
The Wiki
In addition to the documentation provided, the wiki has a lot of useful information for working
with the game and engine, contributed by the community which elaborates and breaks alot of the information
down into more digestable chunks. This is just provided a short rundown of the most useful topics to new players,
and those looking for quick readable information. For more go visit the
Cube Wiki Online, or use the
Offline Version.
Links
Also, some places of interest, which are related to Cube / Cube 2: Sauerbraten / Cube 2: Eisenstern.
-
Cube Engine: The Cube 1 & 2 Start Page.
-
Sauerbraten: The Game/Engine Homepage.
-
Eisenstern: The RPG homepage.
-
Quadropolis: User made maps, mods, and scripts.
-
Cube Forums: If after reading the documentation and wiki you
still have any questions, you can try searching the forums. If your question isn't answered there,
you can try posting to a relevant thread, or creating your own, being sure to supply a good description
of your problem, and your operating system/hardware/software setup, while refraining from wild accusations.
Current Features
Sauerbraten is under constant development, but is very feature-rich and playable as a game. What follows is a list
of the most prominent features.
Game Features
-
Oldskool fast & intense gameplay (read: similar to Doom 2 / Quake 1).
- Many multiplayer gameplay modes, most in teamplay variants as well: deathmatch, instagib, efficiency,
tactics, capture (domination/battlefield style), CTF (capture the flag), coop edit (!).
-
Masterserver & ingame server browser.
-
Lag-free gameplay experience.
-
Two singleplayer modes: DMSP (fight a monster invasion on any DM map), classic SP
(progression driven SP like other games)
-
7 weapons tuned for maximum satisfaction: double barrelled shogun, rocket launcher,
machine gun, rifle, grenade launcher, pistol, fist.
Engine Features
-
6 directional heightfield in octree world structure allowing for instant easy in-game geometry editing (even
in multiplayer, coop edit).
-
Rendering engine optimized for high geometry throughput, supporting hardware occlusion culling and software precomputed conservative PVS with occluder fusion.
-
Lightmap based lighting with accurate shadows from everything including mapmodels,
smooth lighting for faceted geometry, and fast compiles. Soft shadowmap based shadows for dynamic entities.
-
Pixel and vertex shader support, each model and world texture can have its own shader assigned. Supports normal and parallax mapping, specular and dynamic lighting with bloom and glow, environment-mapped and planar reflections/refractions, and post-process effects.
-
Robust physics written specifically for this world structure.
-
Loading of md2/md3/md5/obj models for skeletal and vertex animated characters, weapons, items, world objects.
-
Network library designed for high speed games, client/server network system.
-
Small but complete configuration/scripting language.
-
Simple stereo positional sound system.
-
Particle engine, supporting text particles, volumetric explosions, soft particles, and decals.
-
3d menu/gui system, for in-world representation of choices.
Credits / Authors
Programming
-
Lee "Eihrul" Salzman: Lead programmer/maintainer. ENet networking library, *nix ports, and a lot of the general code, especially rendering/lightmaps/physics related. (website).
-
Wouter "Aardappel" van Oortmerssen: Original concept and design. (website).
-
Mike "Gilt" Dysart: General programming, especially editing/physics related.
-
Robert "a-baby-rabbit" Pointon: GUI and particle rendering code, MacOSX porting. (website)
Additional Code
-
Julian Mayer: MacOSX ports.
-
Adrian "driAn" Henke: MD3 code.
-
Jerry Siebe: Geometry rendering optimisations.
Level Design
-
Kurt "kdoom" Kessler: A bunch of DM/capture maps, k_rpg1.
-
Shane Nieb: demomap, nmp* maps.
-
John "metlslime" fitzgibbons: metl* maps.
- MitaMan: singleplayer episodes
-
With additional maps by: Aardappel, driAn, Gilt, voot, Bryan "KillHour" Shalke, staffy, sparr, JCDPC, ZappaZ, RatBoy, Fanatic, rocknrol, KaiserTodretter, BlikjeBier, wurfel, aftasardem, Lazy [HUN], Gregor Koch, Junebug, Gabrielle "Blindabuser" Magurno, MeatROme, TUX, Mayhem, mIscreant, schmutzwurst, Kal, DairyKing, Hero, WahnFred, and others.
Art / Content
-
John "Geartrooper" Siar: Mr. Fixit, Ironsnout, RPG characters, monsters, new hudguns and vweps.
-
MakkE: Mapmodels, old hudguns, items.
-
Dietmar "dcp" Pier: Mapmodels, old hudguns.
-
DarthVim: Old hudguns.
-
Shane Nieb: Old hudguns, skyboxes.
-
Sock: The egyptian & tech texture sets (website).
-
Iikka "Fingers" Keranen: The ikbase ik2k texture sets (website).
-
Lunaran, Gibbie, Gregor Koch, Jésus "aftasardem" Maia, MitaMan, and philipk: Normalmapped texture sets.
-
Additional art by: metlslime (textures), Than (textures), Remedy Entertainment Ltd (textures), Seth & Ulrich Galbraith (GPL models), Brian "EvilBastard" Collins, Conrad, Magarnigal, Psionic, James Green, Andreas Möller, Ryan Butts & Jeramy Cooke (md2 models), KaiserTodretter (items), Tentus (mapmodels), Kurt Kessler (mapmodels), Philip Klevestav (textures), leileilol/OpenArena (GPL bullet hole decal).
Sound / Music
-
Marc "Fanatic" A. Pullen: Soundtrack.
Other
-
Kristian "sleepwalkr" Duske: website / messageboard, hosting, master server.
-
Quinton "quin" Reeves: Documentation, wiki, and development help. (website).
-
Pushplay: Documentation help.
-
The SDL team: For their libraries (website).
License
The Sauerbraten game is freeware, you may freely distribute the Sauerbraten archive/installer
unmodified on any media. You may re-compress using different archival formats suitable
for your OS (i.e. zip/tgz/rpm/deb/dmg), any changes beyond that require my explicit permission.
You may play Sauerbraten for any purpose as long as you don't blame the authors for any damages incurred.
If you want to produce new content with the sauerbraten engine, you have to be aware that the source code
may be Open Source, but the game and the media it consist of have their individual licenses and copyrights.
This means that you have roughly 3 options:
-
You may produce new content for the sauerbraten game, for example as a "custom map"
(.ogz/.cfg/textures etc). Contributing to the original game is most welcome, and the most productive way of
working with Sauerbraten.
-
If you want to create your own gameplay beyond what you can do with a map, the best
way to do this is as a "mod" (same as above, but with new executable that
incorporates your gameplay), that requires an existing install of sauerbraten,
and installs only the new files you created in parallel to the existing files.
-
If you insist on making a standalone game based on sauerbraten, do realize that
only the sourcecode is yours to use freely (if you abide by the ZLIB license,
see below), not the media. You CANNOT simply redistribute the entire sauerbraten package
with your modified files, as the majority of game media is not yours to use freely (it is made
by many authors with a variety of licences and copyright restrictions). Unless you have
explicit permission from the authors, or the readme says explicitly "may be used
for any purpose" or similar language, it will be illegal to include in your standalone
game based on the sauerbraten engine (you may not assume that just because a file
has no explicit license, that it is free of copyright). Therefore, if you wish to produce a standalone
game, be prepared to make many of the maps, models, textures, sounds etc from scratch
yourself.
In this sense sauerbraten is similar to games like Quake (its code is Open Source,
but its media is not), it is a game that is meant
to be added to, not copied and used as a template. Sauerbraten is not meant to be a quick game
creation kit, it is a game.
If you wish to use the Sauerbraten source code (ZLIB license) in any way, read the src/readme_source.txt file carefully.