EARLY WORK - NOT YET USABLE
npm i -s troll-engine
Troll Engine received its name from the core project it is based around: Ogre3D. This project aims to simplify the process of making a cross platform project that utilizes fully native projects.
Essentially, making a project for Troll Engine is a matter of creating the C++ source code for your game and then letting Troll Engine use it to generate the source files for the native project.
Troll Engine aims to offer lots of configuration options but does not aim to be a compiler of any sort. It creates proper native projects that if compiled by other tools correctly will result in awesomeness. You're still going to need to learn how to compile your project.
Gettings started
- Run
npm init @troll-engine
and follow the instructions to generate your Troll Engine project - Run
npm run build:[platform]
to build your project - Run troll commands using
npm run troll -- [arguments]
While you can install troll-engine
globally to access it directly from the command line it's recommended
to install it locally for your project so you can have a project specific version for it. The only difference
between a global and a local installation is that you either run the troll
command by either using
troll [args]
or npm run troll -- [args]
, but you get the benefit of versioning Troll Engine so your
code doesn't suddenly stop compiling, and all your developers will have the same version of the software
installed.
Commands
-
troll
- Launches an interactive console for running the Troll Engine -
troll build
- Launches a non-interactive build for your project -
troll start [platform]
- Launches the project either for the current or the specified platform -
troll add [library]
- Adds a library to your project -
troll search [query]
- Searches the repository for libraries -
troll rm [library]
- Removes a library from your project
Project structure
-
assets/
Game assets -
code/
Game code-
include/
C++ header files -
src/
C++ source files
-
-
docs/
Doxygen documentation files for your project -
platforms/
Files to override or patch files generated by Troll Engineandroid/
browser/
ios/
linux/
mac/
windows/
-
troll.config.js
Config file for Troll Engine
Platforms
- Android: Android native app with instant app capabilities
- Browser: A Nuxt based project is created for you with your project turned into WASM code.
- IOS: C++ project
- Linux: C++ project
- Mac: C++ project
- Windows: C++ project compiled using VS 2017
Base features
The base project without any plugins is intended to be an as minimal a project as possible that gives you access to the full capabilities of Ogre3D. Additional features can easily be added using plugins.
- Ogre3D renderer
- OIS for input handling
Plugins
-
@troll-engine/plugin-lua
- Adds Lua to your game