Skip to content
ConnorKGallagher edited this page Jun 28, 2015 · 21 revisions

Welcome to the NGen Wiki!

Contents

What is it?

NGen is a next generation free & open source game engine licensed under the QPL written by MrNex. The NGen has both Windows & Linux support and a myriad of simple systems creating complex features giving massive flexibility to create any simulation you could imagine. The NGen is component based with an extremely flexible and adaptable design.

The Mission

The NGen was created with one thing in mind- having no limitations. It was developed to have Open Systems. Any underlying system or structure in the NGen can be interfaced with, altered, or even replaced with amazing ease. If you've ever been frustrated at a game engine not allowing you to make your own rules, this is the solution for you.

A few adventures I, MrNex, have taken with this software include:

  • I decided it would be cool if the Y axis of an objects local coordinate system were to slowly rotate around the X axis, skewing the object until it's model had fallen flat. That was pretty weird.

  • I thought it neat to take a pointer to the row of the Camera's transformation matrix which signifies the looking direction of the camera, and sent it to the physics manager as a global acceleration vector (With a magnitude of 9.81). That was fun!

  • I dared to take the rotation matrix of the camera & sent it to the fragment shader to transform the texture sample of the ground, and it was fucking awesome.

  • I manipulated the perspective matrix to make things get BIGGER as they got further away, and it turns out that was not such a good idea..

#How to Install

Installation can be done by following the Installation Guide. Currently supported platforms include Linux & Windows.

#How to Use

After installation, I suggest you check out the Quick Start Guide for a crash course in developing with the NGen. If you already have some experience, see the API for more specific queries. If anything is unlisted or unclear I encourage you to contact me.