Skip to content

BikeLinc/NelsonEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nelson Engine logo

Nelson Engine

A lightweight C++ game engine and editor for rapid prototyping.

Built with OpenGL, CMake, and an intentionally small, portable codebase.

Overview

The editor/runtime follows a lightweight ECS-style flow with JSON scene I/O.

Nelson Architecture Diagram

Features

  • Load and display 3D models
  • Basic scene management with load/save support
  • Simple editor UI for scene properties
  • Real-time rendering with OpenGL

Requirements

Currently supports macOS and Debian-based Linux distributions.

  • C++17 compiler (g++ or clang++)
  • CMake 3.1 or newer
  • OpenGL development libraries

Dependencies

Most dependencies are vendored directly in the repository:

  • GLEW for OpenGL extension loading
  • GLFW for windowing, input, and context creation
  • GLM for math utilities
  • SOIL2 for texture and image loading
  • Dear ImGui for the editor UI
  • tinyobjloader for OBJ and MTL model loading

Scene serialization currently uses an internal parser/writer:

  • src/SimpleJson.h for lightweight JSON parsing and writing without an external JSON dependency

Project Layout

Project-specific content lives under projects/<project-name>/:

projects/
  default/
    project.json
    scenes/
      default.scene.json
    assets/
      models/
        sponza/

Shared fallback assets remain in res/ for common shaders, images, and legacy scenes.

Quick Start on Linux

Install system packages:

sudo apt install cmake build-essential libglew-dev libglfw3-dev libglm-dev libgl1-mesa-dev libxinerama-dev libxcursor-dev libxi-dev

Configure and build:

mkdir -p build
cd build
cmake ..
make

Run from the project root:

./Nelson

Run with an explicit startup scene JSON:

./Nelson projects/default/scenes/default.scene.json

About

3D/2D Game Engine and Editor written in modern C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages