Skip to content

Repository files navigation

Not Engine Beta 0.2.0

GitHub commit activity GitHub Actions Workflow Status Read the Docs GitHub Downloads (all assets, all releases) GitHub Pull Requests GitHub License

Everything as code!

A code-first game engine built on OpenGL, empowering you to build everything from scratch with clean, simple code.

PRs and issues are welcome!

2026-09-04: This project has many shortcomings, and since it relies heavily on AI, it might feel a bit like "AI slop." Please don't criticize it for that, though. If you don't like this project, you can simply use a better engine, like Godot.

image

Supported Features

  • Skymap
  • PBR shader
  • Event system
  • OBJ file import
  • MTL material import (albedo, roughness, metallic, normal maps)
  • Submesh support
  • Play Audio

Performance

Version Objects Model FPS VSync
0.1.5 1,000,000 notbox.obj 1 FPS ON
0.1.6 1,000,000 notbox.obj 30 FPS OFF
0.1.10 1,000,000 notbox.obj 46 FPS OFF

The same scene was used for both benchmarks.

Renderer optimization improved performance from 1 FPS to 30 FPS — approximately 30× faster.

Test Environment

  • CPU: AMD Ryzen 7 7800X3D (16) @ 5.05 GHz
  • GPU: AMD Radeon RX 9070 XT [Discrete]
  • Resolution: 1280×720
  • Monitor: 165Hz

Build

You will need the cmake, ninja (or make), and glfw3 (development) packages to build this project.

Prerequisites (Linux/Ubuntu)

sudo apt update
sudo apt install cmake ninja-build libglfw3-dev build-essential

Instructions

Configure and build using CMake Presets:

# Configure (Ninja Release)
cmake --preset ninja-release

# Build the core library
cmake --build --preset ninja-release-notengine

# Build the demo executables
cmake --build --preset ninja-release-all

Run the built demos:

# Default demo
./build/ninja-release/demo

# Scene file rendering demo
./build/ninja-release/scene_render

# Benchmark
./build/ninja-release/benchmark

Blender Exporter

Export Blender scenes as Seno v8 with separate OBJ models, MTL materials, and textures in one folder using the Seno exporter. Install script/blender_seno/seno_exporter.py as a Blender add-on, then choose File → Export → Seno Scene (folder).

Asset Source

Star History

Star History Chart

Contributors

Made with contrib.rocks.

About

Not Engine - Everything as code!

Topics

Resources

Code of conduct

Stars

12 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages