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 c6bc97bc2f Cleanup 11 년 전
docs f114502dc7 Update docs 11 년 전
engine 7223cdd801 Fix shaderc path 11 년 전
exporters f759b041e4 Update mesh exporter 11 년 전
genie c6bc97bc2f Cleanup 11 년 전
samples de9a4d939f Update samples 11 년 전
shots 7beb062ba5 Update screenshot 11 년 전
third c16600e0e1 Update BX and BGFX 11 년 전
.editorconfig a76b16383f Update .editorconfig 11 년 전
.gitattributes b52970d768 Build luajit from makefile 11 년 전
.gitignore 511d38ff58 Cleanup 11 년 전
.gitmodules e32adb6178 Update bx and bgfx 11 년 전
LICENSE b574afca12 Update copyright notice 11 년 전
README.md 9ea33981af Update README.md 11 년 전
makefile 331ad73436 Build bgfx and shaderc with GENie 11 년 전

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.

It is loosely inspired by Bitsquid engine and its design principles; the current Lua API is similar to that of Bitsquid but this engine is not meant to be its clone nor to be API compatible with it.

##Supported platforms

  • Android (14+, ARM)
  • Linux
  • Windows

##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.

##Tools

A number of tools can be found at https://github.com/taylor001/crown-tools

Contact

@aa_dani_bart

Contributors

In alphabetical order.

Michele Rossi (@mikymod)
Simone Boscaratto (@Xed89)