Project:Home

From OpenBlox
Revision as of 15:07, 7 May 2017 by JohnMH (Talk | contribs) (Fix language in stated goals)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Other languages:
English • ‎français

OpenBlox is a free, dependable, liberating game engine that is simple enough to be used by beginners to programming yet powerful enough to fit the needs of more serious developers. It provides a Lua API to enable developers to create games easily and with few restrictions. This is the official wiki about the software developed by the OpenBlox project. The servers providing the infrastructure and services used by the OpenBlox project, collectively called OBNet, are also used to host a number of other projects, some of which are also documented on this wiki.

It is important to note that the "Open" in "OpenBlox" does not refer to "open source", but rather to the potential of the OpenBlox engine. Our goal is to provide a free (libre) game engine, not to promote "open source" software. The OpenBlox game engine itself is under the GNU Lesser General Public License, version 3 or later. The reference client and server implementations, as well as the studio software, are licensed under the GNU General Public License, version 3 or later.

OpenBlox needs your help! If you are a programmer and would like to contribute, please see our instructions to get the source code and send patches.

Goals

The aim of the OpenBlox project is to create a fully free (libre)/open source game engine that provides base components to create simple games played in a 3D virtual space. We want the game engine to implement physics and rendering and to offer objects that implement characters, physical objects, graphical user interfaces, terrain, particle effects, vehicles and to provide APIs and objects to change the game lighting, send network requests, play sounds, get mouse and keyboard input and do much more.

At the foundations of our goals are a few guiding principles:

  • You should not have to implement complicated stuff like rendering, physics and multiplayer networking.
  • Instead, the game engine should provide you with components you can use to create games.
  • The components should be general enough not to restrict the breadth of games that you can create.
  • The whole engine should be fully free and open source software and be available on all the major operating systems (Microsoft Windows, Mac OS X, GNU/Linux, Android, and iOS).
  • It should be easy to learn.

Obtaining

We do not provide binaries for OpenBlox at the moment. If you want to try OpenBlox without first installing it on your system, you can use the OpenBlox demo in a web browser. Otherwise, you can download the source code from git.openblox.org and build it. You will first need to install the dependencies.

Game development

OpenBlox uses the Lua programming language, which you can learn by reading the book Lua Programming. It provides a scripting API similar to ROBLOX's and attempts to remain compatible enough while improving things that need to be improved. The scripting API is documented on this wiki, and you can browse the documentation for the various classes below.

C++ documentation

OpenBlox uses Doxygen to document the C++ API. The documentation for the latest build is available on the Jenkins server.

Donating

The OpenBlox project currently accepts donations in the form of Bitcoin, Litecoin and PayPal. You can find our current addresses at https://openblox.org/donate.asc. While monetary contributions help keep our servers running, there are other ways to help the project. We're always looking for new contributors, to keep OpenBlox going strong.

Class reference