troll-engine

0.0.11 • Public • Published

EARLY WORK - NOT YET USABLE

Project icon

The best little game engine you've ever seen

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

  1. Run npm init @troll-engine and follow the instructions to generate your Troll Engine project
  2. Run npm run build:[platform] to build your project
  3. 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 Engine
    • android/
    • 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

Package Sidebar

Install

npm i troll-engine

Weekly Downloads

2

Version

0.0.11

License

GPL-3.0

Unpacked Size

55.7 kB

Total Files

20

Last publish

Collaborators

  • seranth