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
Atlas Packing
Atlas Packing
Size data unavailable
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
Sponza
Sponza
336.236 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 325.276 KB
index.wasm 310.471 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 336.236 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.791 MB
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
Text Rendering
Text Rendering
44.477 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 33.799 KB
index.wasm 34.011 KB
index_simd.js 9.426 KB
index.js 9.421 KB
Engine 44.477 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
338.431 KB engine + 782.013 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 327.466 KB
index.wasm 310.113 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 338.431 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.094 MB