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
333.330 KB engine + 1.143 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 324.300 KB
index.wasm 310.415 KB
index_simd.js 7.778 KB
index.js 7.773 KB
Engine 333.330 KB
assets/atlas_demo.ntpack 1.143 MB
Resources 1.143 MB
Total 1.469 MB
Shape Renderer Bench
Shape Renderer Bench
40.299 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 31.793 KB
index.wasm 31.631 KB
index_simd.js 7.250 KB
index.js 7.245 KB
Engine 40.299 KB
Total 40.299 KB
Bunnymark
Bunnymark
361.068 KB engine + 830.213 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 351.890 KB
index.wasm 333.490 KB
index_simd.js 7.924 KB
index.js 7.919 KB
Engine 361.068 KB
assets/bunnymark_hd.ntpack 815.435 KB
assets/bunnymark_sd.ntpack 14.778 KB
Resources 830.213 KB
Total 1.163 MB
RTT Showcase
RTT Showcase
436.183 KB engine + 9.398 KB resources
Size breakdown
index.html 1.256 KB
index_simd.wasm 427.065 KB
index.wasm 410.384 KB
index_simd.js 7.861 KB
index.js 7.856 KB
Engine 436.183 KB
assets/rtt_showcase.ntpack 9.398 KB
Resources 9.398 KB
Total 445.581 KB
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
Spinning Shapes
Spinning Shapes
40.446 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 32.071 KB
index.wasm 32.229 KB
index_simd.js 7.120 KB
index.js 7.115 KB
Engine 40.446 KB
Total 40.446 KB
Sponza
Sponza
335.570 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 326.542 KB
index.wasm 313.802 KB
index_simd.js 7.778 KB
index.js 7.773 KB
Engine 335.570 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.790 MB
Text Rendering
Text Rendering
52.305 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 43.479 KB
index.wasm 41.596 KB
index_simd.js 7.573 KB
index.js 7.568 KB
Engine 52.305 KB
assets/text_base.ntpack 12.163 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.634 MB
Textured Quad
Textured Quad
336.879 KB engine + 782.026 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 327.846 KB
index.wasm 311.510 KB
index_simd.js 7.778 KB
index.js 7.773 KB
Engine 336.879 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.093 MB
9-Slice Scaling
9-Slice Scaling
429.991 KB engine
Size breakdown
index.html 1.253 KB
index_simd.wasm 420.582 KB
index.wasm 403.162 KB
index_simd.js 8.156 KB
index.js 8.151 KB
Engine 429.991 KB
Total 429.991 KB
3D UI
3D UI
441.989 KB engine
Size breakdown
index.html 1.254 KB
index_simd.wasm 432.535 KB
index.wasm 416.134 KB
index_simd.js 8.200 KB
index.js 8.195 KB
Engine 441.989 KB
Total 441.989 KB
UI Showcase
UI Showcase
500.748 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 491.079 KB
index.wasm 475.188 KB
index_simd.js 8.414 KB
index.js 8.409 KB
Engine 500.748 KB
Total 500.748 KB