Neotolis Engine
Minimalist game engine for Web/WASM
Tiny output · Zero magic · Code-first · C17
Philosophy
-
Code-first
Game controls the main loop. The engine gives building blocks, not a pipeline.
-
Explicit over implicit
You see everything. No hidden behavior, no magic behind the scenes.
-
Keep it simple
Less code is better. Simplify further when possible.
-
Tiny size
Every byte counts. Binary size tracked on every PR.
-
Set of modules
Use only what you need.
-
Prebuilt assets
Source formats packed into binaries at build time. Runtime loads packs on demand, no parsers.
Features
- Code-first — Game controls the main loop. The engine gives building blocks, not a pipeline.
- Explicit over implicit — You see everything. No hidden behavior, no magic behind the scenes.
- Keep it simple — Less code is better. Simplify further when possible.
- Tiny size — Every byte counts. Binary size tracked on every PR.
- Set of modules — Use only what you need.
- Prebuilt assets — Source formats packed into binaries at build time. Runtime loads packs on demand, no parsers.
Examples
Shape Renderer Bench
Shape Renderer Bench
40.061 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 32.291 KB
index.wasm 28.797 KB
index_simd.js 6.514 KB
index.js 6.509 KB
Engine 40.061 KB
Total 40.061 KB
Hello Triangle
Hello Triangle
13.319 KB engine
Size breakdown
index.html 1.249 KB
index_simd.wasm 8.324 KB
index.wasm 8.030 KB
index_simd.js 3.746 KB
index.js 3.741 KB
Engine 13.319 KB
Total 13.319 KB
Spinning Shapes
Spinning Shapes
39.629 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 31.992 KB
index.wasm 28.473 KB
index_simd.js 6.382 KB
index.js 6.377 KB
Engine 39.629 KB
Total 39.629 KB
Sponza
Sponza
337.795 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 326.835 KB
index.wasm 309.680 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 337.795 KB
assets/sponza_core.ntpack 3.173 KB
assets/sponza_full.ntpack 59.395 MB
assets/sponza_geo.ntpack 3.488 MB
assets/sponza_tex.ntpack 5.576 MB
Resources 68.462 MB
Total 68.792 MB
Text Rendering
Text Rendering
44.094 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 33.416 KB
index.wasm 33.564 KB
index_simd.js 9.426 KB
index.js 9.421 KB
Engine 44.094 KB
assets/text_base.ntpack 11.961 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.626 MB
Textured Quad
Textured Quad
335.894 KB engine + 782.013 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 324.929 KB
index.wasm 309.432 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 335.894 KB
assets/base.ntpack 774 B
assets/lenna_hires.ntpack 777.780 KB
assets/lenna_pixel.ntpack 3.477 KB
Resources 782.013 KB
Total 1.092 MB