NLS Game Engine
This engine represents the “Next Logical Step” in engine design, utilizing the component-based entity system design pattern, modular core loading, and a centralized message system. The use of components, allowing easy creation of new components that can be integrated into an existing entity, and allowing dynamic core module loading, so new cores can be integrated at run-time, the engine can be expanded with minimal code.
Summary
The NLS Engine is a collaboration between myself and Adam Martin. It started out as a class project in game design under the name of Saturn V, but we’ve since rebased the source code and have taken far beyond what SV was able to do.
Both Saturn V and NLS were created from scratch in C++. While Saturn V was explicitly designed for executing solely on Windows, as we only had 6 weeks of development time, NLS has been scheduled to be cross platform - allowing development on all three major operating systems: Windows, Mac, and Linux in both 32 and 64 bit modes. There is a lot of work still to do, but we are making progress.
Retrospective
Designing an engine from scratch is quite the difficult proposition. Thus far we’ve proven that it is possible to do, and have even started creating games with it. However, the engine is not without its faults - but neither are any of the other engines, even the commercial ones, on the market. We’ve yet to design a GUI toolkit for it, but the scripting system is powerful enough to make games without such.