ONLINE
20+ Years Active

nengine

Cross-Platform Game Engine

A complete game engine built from scratch over 20+ years of solo development. Multi-platform, multi-backend, with custom scripting language, physics integration, and a full asset pipeline. The kind of thing you build when you refuse to compromise.

Started 2002 Language C++ Build Autotools
9.3M
Lines of Code
14,955
Source Files
20+
Years Dev
9
GFX Backends
Scale Comparison
nengine
9.3M LOC
Unreal Engine 4
~4M LOC
Godot
~1.5M LOC
Linux Kernel
~3M LOC (core)

* Lines of code comparisons are approximate. nengine includes extensive multi-backend support.

Engine Modules

Modular architecture, 2GB+ of source code

Renderer

876 MB

Multi-backend, deferred+forward, PBR, shadows, post-fx

Video

304 MB

Capture, frame servers, codec integration

GUI

202 MB

Widget system, layouts, themes, FBO rendering

Sound

199 MB

FMOD, FFmpeg, streaming, codecs

Network

182 MB

TCP/UDP, HTTP server, protocol stack

Graphics

93 MB

Image processing, filters, procedural textures

Compression

76 MB

LZ4, LZMA, Zstd, BZip2, UCL, LZO

Physics

56 MB

Multi-backend, rigid/soft bodies, joints

Core

53 MB

Threading, VFS, plugins, memory, logging

Scripts

32 MB

Custom VM, C-like language, vec3/mat4 native

Rendering Pipeline

9 graphics backends, deferred + forward

Graphics Backends
Vulkan Primary development
OpenGL 4.6 Full support
OpenGL ES 2/3 Mobile
DirectX 9/11 Windows archive
Metal In progress
Software Fallback
WebGL Emscripten
PS3 GCM/PSGL Console archive
Wii GX Console archive
Rendering Features
  • Deferred rendering with GBuffer + MRT
  • Forward+ rendering path
  • PBR materials with IBL
  • Shadow mapping (PCF, VSM)
  • SSAO, Bloom, DOF, Motion Blur
  • 14 tone-mapping operators
  • FXAA, SAA anti-aliasing
  • Skeletal animation + skinning
  • Terrain rendering with LOD
  • Particle systems

Physics Integration

6 physics engines, unified API

Bullet Integrated
Havok Integrated
PhysX Integrated
Newton Integrated
ODE Integrated
OPCODE Integrated

Simulation

  • Rigid bodies
  • Soft bodies
  • Joints & constraints
  • Vehicle controller

Collision

  • Mesh colliders
  • Raycasting
  • Trigger volumes
  • Character controller

Scripting Engine

Custom C-like language with VM

Native 3D Types
nse demo.nse
// Custom scripting language with native 3D types
int render() {
    vec3 v0, v1, v2;

    v0 = vec3(1.0, 2.0, 3.0);
    v1 = v0 * 2.0;                  // Vector operations
    v2 = normalize(v0);             // Built-in math

    mat4 proj = perspective(45.0, 1.77, 0.1, 1000.0);
    mat4 view = lookAt(v0, v1, vec3(0, 1, 0));

    printf("v2: %f %f %f\n", v2.x, v2.y, v2.z);  // Swizzling

    return 1;
}

int main() {
    printf("Script started\n");
    return render();
}
vec2/3/4 ivec2/3/4 mat4 Color Swizzling Preprocessor Optimizer Stack VM

Platform Support

From consoles to web

๐Ÿง Linux primary
๐ŸชŸ Windows supported
๐Ÿค– Android supported
๐ŸŒ WebAssembly supported
๐ŸŽ macOS legacy
๐ŸŽฎ PlayStation 3 archived
๐ŸŽฎ Wii archived

Development Tools

Complete toolchain

Shader Editor

Visual node-based shader graph editor

Mesh Viewer

Interactive 3D mesh inspection

Terrain Editor

Heightmap editing and generation

Package Manager

.npk archive creation (npm-like)

PRT Compiler

Precomputed Radiance Transfer

Script Engine

Scripting runtime and debugger

Development Timeline

Two decades of evolution

2002

Project Start

First lines of code. OpenGL 1.x, basic rendering.

2006

Console Ports

PlayStation 3 (GCM/PSGL) and Wii (GX) backends.

2010

Physics Integration

Multi-backend physics: Bullet, Havok, PhysX, ODE.

2014

Mobile Support

Android NDK, OpenGL ES 2/3, touch input.

2018

Modern Rendering

OpenGL 4.6, deferred rendering, PBR pipeline.

2024

Vulkan Backend

Active development. Swapchain, framebuffers, MRT.