Cafu Engine
   HOME

TheInfoList



OR:

The Cafu Engine is a
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
developed by Carsten Fuchs. It is portable across platforms and runs on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
, with plans to be adapted to
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. The engine's
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
is freely available under the
MIT Licence The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
.


Features

In general, Cafu is built with a modular architecture so as to avoid program constructs and libraries that are specific to any given
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
,
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
,
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
or
graphics processor A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobil ...
. To that end, the Cafu source code compiles both as 32- as well as native
64-bit In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
software. *The Cafu Engine abstracts out its handling of materials and instead uses rendering objects, thus enabling users to work with different graphics systems such as
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
or
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
. *Physics are handled by an internal system to deal with human movement, and everything else uses
Bullet A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. Bullets are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax. Bullets are made in various shapes and co ...
, a free physics engine; Cafu synchronizes the two systems *Lighting is handled by radiosity computations, or dynamic lighting through
stencil shadow volumes Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. They were first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source. A shadow volume divi ...
*Like the material system, sound is abstracted out and can support various implementations such as
OpenAL OpenAL (Open Audio Library) is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those ...
and FMOD *Inherently designed for online games with multiple players over a
computer network A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ...
*
Game server A game server (also sometimes referred to as a host) is a server (computing), server which is the authoritative source of events in a multiplayer video game. The server transmits enough data about its internal state to allow its connected Client ...
that centrally manages the game state and events, as well as a
client Client(s) or The Client may refer to: * Client (business) * Client (computing), hardware or software that accesses a remote service on another computer * Customer or client, a recipient of goods or services in return for monetary or other valuable ...
that is used by players


Scripting and editing

In order to not have to fix details in difficult to modify program code, the Cafu Engine employs
scripting Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
based on the programming language
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
in many parts of the program. Cafu includes a graphical editor, CaWE, that contains all the tools required to create new levels: a Map Editor, GUI Editor, Font-Wizard, Material Browser and Model Editor.


Licensing

The Cafu Engine's
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
has been freely available under the GNU GPLv3 license since December 2009, while offering the option of a commercial license upon agreement with Carsten Fuchs Software. On June 19, 2016, the engine changed its open source license from GPLv3 to the
MIT License The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
.


Reviews and applications

The Cafu Engine has been used by the United States Air Force's Research Labs for Human Effectiveness in a study about the visual working memory of pilots. It has also been used in multiple studies and research projects that simulate artificial lighting in urban environments and examine how that lighting is perceived by humans and influences the nocturnal orientation of pedestrians and motorists: * Dennis Köhler, 2007: "Artificial light in urban space", presentation and movie report at the 8th Conference of European Architectural Endoscopy Association 2007, Moskau. * Stefan Hochstadt und Manfred Walz, 2008: "Wahrnehmung von Stadträumen bei Nacht: eine städtebauliche Grundlage zur Lichtplanung im öffentlichen Raum. (Perception of urban environments at night: an urban development basis for lighting planning in public space.)" in: Eberhard Menzel (publisher): Research Report of the University of Applied Sciences and Arts of Dortmund, pages 52–56.Wahrnehmung von Stadträumen bei Nacht
Research Report * Dennis Köhler, 2009: "Artificially enlightened urban spaces at night – A matter of special importance for livable cities." in: György Széll & Ute Széll (eds.): Quality of Life & Working Life in Comparison. Peter Lang Verlag, Frankfurt am Main, Germany, pages 323–339. The Cafu Engine has been reviewed and presented in these publications: * Clemens Gleich: "Grafik-Engine", c't 14/2005, page 72, http://www.heise.de/kiosk/archiv/ct/2005/14 * Ralf Nebelo, Tobias Engler, Mathias Poets, Lars Bremer, Lukas Liebich: "Geburtstagsgeschenk" (special issue with DVD for the 25th jubilee), c't 24/2008, page 198, http://www.heise.de/kiosk/archiv/ct/2008/24


References


External links

* {{DEFAULTSORT:Cafu Engine Cross-platform free software Formerly proprietary software Free game engines Free software programmed in C++ Game engines for Linux Lua (programming language)-scriptable game engines Software using the MIT license Video game engines