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
Spinning Shapes
Spinning Shapes
39.653 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 32.017 KB
index.wasm 28.534 KB
index_simd.js 6.382 KB
index.js 6.377 KB
Engine 39.653 KB
Total 39.653 KB
Sponza
Sponza
336.327 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 325.367 KB
index.wasm 310.524 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 336.327 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
Text Rendering
Text Rendering
44.571 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 33.894 KB
index.wasm 34.074 KB
index_simd.js 9.426 KB
index.js 9.421 KB
Engine 44.571 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.621 KB engine + 782.013 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 327.656 KB
index.wasm 310.248 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 338.621 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