A complete and cross-platform game engine designed for flexibility, performance, and fast-iterations.

url: www.crownengine.org

Topics:
#windows #linux #gamedev #lua #game-engine #data-oriented-design #data-driven #game-development #3d #2d

Daniele Bartolini e4c837905b Add non-const sort_map::get() %!s(int64=11) %!d(string=hai) anos
bin 44a9d75901 Add premake4 binaries %!s(int64=11) %!d(string=hai) anos
documentation 60e52b3c61 Update docs %!s(int64=11) %!d(string=hai) anos
engine e4c837905b Add non-const sort_map::get() %!s(int64=11) %!d(string=hai) anos
exporters 4c6753b2c3 Use pixels for regions in sprites %!s(int64=12) %!d(string=hai) anos
premake 8486ee86bf Cleanup %!s(int64=11) %!d(string=hai) anos
samples 4741a6a99e Update hello world sample %!s(int64=11) %!d(string=hai) anos
shots aacb13f087 Update console shot %!s(int64=11) %!d(string=hai) anos
third 971c7c2893 Update bgfx and bx %!s(int64=11) %!d(string=hai) anos
tools deb3f0d4fb fix and improve starter - CROWN_OUTPUT_DIR must be defined %!s(int64=11) %!d(string=hai) anos
.gitattributes b52970d768 Build luajit from makefile %!s(int64=11) %!d(string=hai) anos
.gitignore b52970d768 Build luajit from makefile %!s(int64=11) %!d(string=hai) anos
.gitmodules b951f08d02 Add bgfx and bx to third %!s(int64=11) %!d(string=hai) anos
COPYING.txt 007af36927 update license %!s(int64=11) %!d(string=hai) anos
README.md ed65fc0163 Update README.md %!s(int64=11) %!d(string=hai) anos
makefile a21f7a64f9 Add initial Lua API documentation %!s(int64=11) %!d(string=hai) anos

README.md

Lightweight and flexible cross-platform game engine.

##What is it?

It is a general purpose data-driven game engine, written from scratch with a minimalistic and data-oriented design philosophy in mind.

##Screenshots

TCP/IP console with autocomplete and color-coded output highlighting.

console

[WIP] Node editor.

node-editor

##Dependencies

PhysX 3.3.x (https://developer.nvidia.com/physx-sdk)

##Building

Getting source

$ git clone https://github.com/taylor001/crown.git
$ cd crown
$ git submodule init
$ git submodule update

Prerequisites

Prerequisites for Android

Android NDK (https://developer.android.com/tools/sdk/ndk/index.html)

$ export ANDROID_NDK_ROOT=<path/to/android_ndk>
$ export ANDROID_NDK_ARM=<path/to/android_ndk_arm>
$ export PHYSX_SDK_ANDROID=<path/to/physx_sdk>

Prerequisites for Linux

$ export PHYSX_SDK_LINUX=<path/to/physx_sdk>

Prerequisites for Windows

GnuWin32 make (http://gnuwin32.sourceforge.net/packages/make.htm)
GnuWin32 coreutils (http://gnuwin32.sourceforge.net/packages/coreutils.htm)
GnuWin32 libiconv (http://gnuwin32.sourceforge.net/packages/libiconv.htm)
GnuWin32 libintl (http://gnuwin32.sourceforge.net/packages/libintl.htm)

$ setx PHYSX_SDK_WINDOWS <path/to/physx_sdk>
$ setx DXSDK_DIR <path/to/dxsdk>

Building

$ make <configuration>

Configuration is <platform>-<debug/development/release>[32|64]. E.g.

linux-debug64, linux-development64, linux-release64, android-debug, windows-debug32 etc.

Documentation

There is pretty extensive documentation for both C++ and Lua API.

Prerequisites

Doxygen (http://www.doxygen.org)
Docutils/reStructuredText (http://docutils.sourceforge.net)

Building

$ make docs

##Samples

When running a sample your current directory has to be <install-path>/bin/<platform[32|64]>. To run a sample on 64-bit linux debug mode:

$ ./linux-debug-64 --source-dir <full/sample/path> --bundle-dir <full/destination/path> --compile --platform linux --continue

###01.hello-world

Engine initialization and shutdown.