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
332.495 KB engine + 1.143 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 323.609 KB
index.wasm 309.469 KB
index_simd.js 7.634 KB
index.js 7.629 KB
Engine 332.495 KB
assets/atlas_demo.ntpack 1.143 MB
Resources 1.143 MB
Total 1.468 MB
Shape Renderer Bench
Shape Renderer Bench
37.813 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 29.872 KB
index.wasm 29.677 KB
index_simd.js 6.686 KB
index.js 6.681 KB
Engine 37.813 KB
Total 37.813 KB
Bunnymark
Bunnymark
351.078 KB engine + 830.188 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 342.043 KB
index.wasm 324.803 KB
index_simd.js 7.780 KB
index.js 7.775 KB
Engine 351.078 KB
assets/bunnymark_hd.ntpack 815.435 KB
assets/bunnymark_sd.ntpack 14.754 KB
Resources 830.188 KB
Total 1.154 MB
Hello Triangle
Hello Triangle
13.004 KB engine
Size breakdown
index.html 1.249 KB
index_simd.wasm 8.505 KB
index.wasm 8.206 KB
index_simd.js 3.250 KB
index.js 3.245 KB
Engine 13.004 KB
Total 13.004 KB
9-Slice Scaling
9-Slice Scaling
420.995 KB engine
Size breakdown
index.html 1.253 KB
index_simd.wasm 411.728 KB
index.wasm 395.590 KB
index_simd.js 8.015 KB
index.js 8.010 KB
Engine 420.995 KB
Total 420.995 KB
Spinning Shapes
Spinning Shapes
37.986 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 30.161 KB
index.wasm 30.166 KB
index_simd.js 6.570 KB
index.js 6.565 KB
Engine 37.986 KB
Total 37.986 KB
Sponza
Sponza
334.100 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 325.216 KB
index.wasm 309.246 KB
index_simd.js 7.634 KB
index.js 7.629 KB
Engine 334.100 KB
assets/sponza_core.ntpack 3.180 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.789 MB
Text Rendering
Text Rendering
44.478 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 35.807 KB
index.wasm 35.070 KB
index_simd.js 7.419 KB
index.js 7.414 KB
Engine 44.478 KB
assets/text_base.ntpack 12.132 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.626 MB
Textured Quad
Textured Quad
334.195 KB engine + 782.026 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 325.307 KB
index.wasm 309.134 KB
index_simd.js 7.634 KB
index.js 7.629 KB
Engine 334.195 KB
assets/base.ntpack 774 B
assets/lenna_hires.ntpack 777.788 KB
assets/lenna_pixel.ntpack 3.482 KB
Resources 782.026 KB
Total 1.090 MB
3D UI
3D UI
433.261 KB engine
Size breakdown
index.html 1.254 KB
index_simd.wasm 423.946 KB
index.wasm 408.049 KB
index_simd.js 8.061 KB
index.js 8.056 KB
Engine 433.261 KB
Total 433.261 KB
UI Showcase
UI Showcase
490.771 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 481.247 KB
index.wasm 466.962 KB
index_simd.js 8.269 KB
index.js 8.264 KB
Engine 490.771 KB
Total 490.771 KB