|
@@ -1,122 +1,63 @@
|
|
|
-Lightweight, cross-platform game engine that tries to Keep It Simple.
|
|
|
|
|
|
|
+Lightweight and flexible cross-platform game engine.
|
|
|
=====
|
|
=====
|
|
|
|
|
|
|
|
##What is it?
|
|
##What is it?
|
|
|
|
|
|
|
|
-Lightweight cross-platform game engine.
|
|
|
|
|
-You can write games in Lua and/or C++ for Linux, Android and Windows with it.
|
|
|
|
|
-
|
|
|
|
|
-##Y u do dis, there's UE4 for 19$ a month.
|
|
|
|
|
-
|
|
|
|
|
-Because it's fun.
|
|
|
|
|
|
|
+It is a general purpose data-driven game engine, written from scratch with a minimalistic and data-oriented design philosophy in mind.
|
|
|
|
|
|
|
|
##Dependencies
|
|
##Dependencies
|
|
|
|
|
|
|
|
-Crown Engine depends on a number of third-party libraries.
|
|
|
|
|
-Some of them, like luajit, are included in this SDK, so you do not need to worry too much.
|
|
|
|
|
-However, some other libraries are not included due to their excessive size or for some other particular reasons.
|
|
|
|
|
-In order to be able to successfully build the engine, you have to install and/or properly configure the following packages:
|
|
|
|
|
-
|
|
|
|
|
-Linux:
|
|
|
|
|
-
|
|
|
|
|
-* Xlib
|
|
|
|
|
-* Xrandr
|
|
|
|
|
-* nVidia PhysX 3.3.0+
|
|
|
|
|
-
|
|
|
|
|
-Windows:
|
|
|
|
|
-
|
|
|
|
|
-* nVidia PhysX 3.3.0+
|
|
|
|
|
-* 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)
|
|
|
|
|
-
|
|
|
|
|
-Android:
|
|
|
|
|
-
|
|
|
|
|
-* Android NDK and SDK
|
|
|
|
|
-* nVidia PhysX 3.3.0+
|
|
|
|
|
|
|
+Download PhysX 3.3.x from:
|
|
|
|
|
+https://developer.nvidia.com/physx-sdk
|
|
|
|
|
|
|
|
##Building
|
|
##Building
|
|
|
|
|
|
|
|
-The steps required for building the engine in a default and pretty safe manner are summarized below for each supported platform.
|
|
|
|
|
-All the commands and/or operations must be performed in the root directory of the project (i.e. the same as this file):
|
|
|
|
|
|
|
+### Getting source
|
|
|
|
|
|
|
|
-Linux:
|
|
|
|
|
-
|
|
|
|
|
- $ export CROWN_INSTALL_DIR=/path/to/install/dir
|
|
|
|
|
- $ export PHYSX_SDK_LINUX=/path/to/physx/sdk
|
|
|
|
|
- $ make <CROWN_LINUX_BUILD>
|
|
|
|
|
|
|
+ $ git clone https://github.com/taylor001/crown.git
|
|
|
|
|
+ $ cd crown
|
|
|
|
|
+ $ git submodule init
|
|
|
|
|
+ $ git submodule update
|
|
|
|
|
|
|
|
-'CROWN_LINUX_BUILD' valid values are:
|
|
|
|
|
|
|
+### Prerequisites
|
|
|
|
|
|
|
|
-* linux-debug32
|
|
|
|
|
-* linux-development32
|
|
|
|
|
-* linux-release32
|
|
|
|
|
-* linux-debug64
|
|
|
|
|
-* linux-development64
|
|
|
|
|
-* linux-release64
|
|
|
|
|
-* linux
|
|
|
|
|
-
|
|
|
|
|
-Windows:
|
|
|
|
|
-
|
|
|
|
|
- export CROWN_INSTALL_DIR=/path/to/install/dir
|
|
|
|
|
- export PHYSX_SDK_WINDOWS=/path/to/physx/sdk
|
|
|
|
|
- make.exe <CROWN_WINDOWS_BUILD>
|
|
|
|
|
- Open the generated Visual Studio solution and build/install from there
|
|
|
|
|
|
|
+### Prerequisites for Android
|
|
|
|
|
|
|
|
-'CROWN_WINDOWS_BUILD' valid values are:
|
|
|
|
|
|
|
+Download Android NDK from:
|
|
|
|
|
+https://developer.android.com/tools/sdk/ndk/index.html
|
|
|
|
|
|
|
|
-* windows-debug32
|
|
|
|
|
-* windows-development32
|
|
|
|
|
-* windows-release32
|
|
|
|
|
-* windows-debug64
|
|
|
|
|
-* windows-development64
|
|
|
|
|
-* windows-release64
|
|
|
|
|
-
|
|
|
|
|
-Android:
|
|
|
|
|
-
|
|
|
|
|
- $ export CROWN_INSTALL_DIR=/path/to/install/dir
|
|
|
|
|
- $ 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
|
|
|
|
|
- $ make <CROWN_ANDROID_BUILD>
|
|
|
|
|
-
|
|
|
|
|
-'CROWN_ANDROID_BUILD' valid values are:
|
|
|
|
|
-
|
|
|
|
|
-* android-debug
|
|
|
|
|
-* android-development
|
|
|
|
|
-* android-release
|
|
|
|
|
-* android
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-##System requirements
|
|
|
|
|
-
|
|
|
|
|
- In order to be able to run the engine, no particular configurations are needed:
|
|
|
|
|
|
|
+ $ 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
|
|
|
|
|
|
|
|
-Linux:
|
|
|
|
|
|
|
+ $ export PHYSX_SDK_LINUX=<path/to/physx_sdk>
|
|
|
|
|
|
|
|
-* 32/64-bit distribution
|
|
|
|
|
-* x86/x86_64 CPU
|
|
|
|
|
-* The latest driver for your GPU (OpenGL >= 2.1)
|
|
|
|
|
|
|
+### Prerequisites for Windows
|
|
|
|
|
|
|
|
-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)
|
|
|
|
|
|
|
|
-* 64-bit Windows version (Windows 7+)
|
|
|
|
|
-* x86_64 CPU
|
|
|
|
|
-* The latest driver for your GPU (OpenGL >= 2.1)
|
|
|
|
|
|
|
+ $ setx PHYSX_SDK_WINDOWS <path/to/physx_sdk>
|
|
|
|
|
+ $ setx DXSDK_DIR <path/to/dxsdk>
|
|
|
|
|
+
|
|
|
|
|
+### Building
|
|
|
|
|
|
|
|
-Android:
|
|
|
|
|
|
|
+ $ make <configuration>
|
|
|
|
|
+
|
|
|
|
|
+Configuration is `<platform>-<debug/development/release>[32|64]`. E.g.
|
|
|
|
|
|
|
|
-* Android 2.3.3+
|
|
|
|
|
-* ARMv7 CPU
|
|
|
|
|
-* OpenGL|ES 2 compatible GPU
|
|
|
|
|
|
|
+ linux-debug64, linux-development64, linux-release64, android-debug, windows-debug32 etc.
|
|
|
|
|
|
|
|
-##Examples
|
|
|
|
|
|
|
+##Samples
|
|
|
|
|
|
|
|
-When running a sample you current directory has to be `<install-path>/bin`.
|
|
|
|
|
-To run a sample:
|
|
|
|
|
|
|
+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:
|
|
|
|
|
|
|
|
- $ ./crown-linux-debug-64 --source-dir <full-sample-path> --bundle-dir <full-destination-path> --compile --continue
|
|
|
|
|
|
|
+ $ ./linux-debug-64 --source-dir <full/sample/path> --bundle-dir <full/destination/path> --compile --continue
|
|
|
|
|
|
|
|
###[01.hello-world](https://github.com/taylor001/crown/tree/master/samples/01.hello-world)
|
|
###[01.hello-world](https://github.com/taylor001/crown/tree/master/samples/01.hello-world)
|
|
|
|
|
|