Nori is a small and still incomplete game engine written for my own use.
Unlike most of my projects, I write Nori primarily for own use, so while other people may find it useful, it comes with no support and far too little documentation. Its API may also change at any time.
If you like Nori and would like to use it for your game, you should instead most likely use gameplay, which is eerily similar, more complete and actually supported.
Nori currently lives on GitHub.
Copyright © Camilla Löwy Berglund elmindreda@elmindreda.org
Some parts are Copyright © Tapio Vierros tapiovierros@gmail.com
Nori is licensed under the
zlib/libpng license, which can be found
in the COPYING.txt
file. The license is also included at the top of each
source file.
Nori comes bundled with a number of dependencies, each with its own license.
See their respective libs/*/COPYING.txt
files for license details.
Nori uses the CMake build system for itself and all its dependencies. It is available for all platforms supported by the engine.
Nori comes with internal versions of the following libraries:
- [Bullet] (http://bulletphysics.org/) for dynamics and collision
- ENet for UDP networking
- GREG for managing OpenGL extensions
- GLFW for OpenGL context, input and window
- GLM for vector math and explicitly sized types
- pugixml for reading and writing XML files
- Squirrel for embedded scripting
- stb_image for reading and writing image files
- stb_truetype for TrueType typeface support
- stb_vorbis for decoding Ogg Vorbis files
- utf8cpp for UTF-8 text support
Nori requires that OpenGL and OpenAL headers and link libraries are present in your development environment.
On Debian GNU/Linux based systems, where GLFW also needs Xlib, the following packages provide the necessary support:
xorg-dev
libopenal-dev
libgl1-mesa-dev
On other Linux distributions, there will most likely be similarly named packages available.
On OS X, OpenGL and OpenAL is already built-in.
On Windows, OpenGL headers and link libraries should be provided by your compiler. For OpenAL, you will need to install an OpenAL SDK.
Nori uses some C++11 features and requires a fairly up-to-date compiler to build. It is currently being used with the following compilers:
- Clang 3.0
- GCC 4.7
- Visual C++ 12.0
Nori is (partially) documented using Doxygen.
A suitable Doxyfile
will be generated by CMake in the docs/
subdirectory.
The audio system requires OpenAL 1.1. No extensions are used.
The render system requires OpenGL 3.2 compatibility profile, meaning it will not currently run on OS X. The following OpenGL extensions are not required but used where available:
GL_ARB_texture_float
GL_ARB_half_float_pixel
GL_ARB_debug_output
GL_EXT_texture_filter_anisotropic
I will answer questions mailed to me, but please keep in mind that my time is limited. Bug reports, patches and pull requests are also welcome, but I cannot guarantee that your change will be accepted.