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.297 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 31.777 KB
index.wasm 31.631 KB
index_simd.js 7.264 KB
index.js 7.259 KB
Engine 40.297 KB
Total 40.297 KB
Atlas Packing
Atlas Packing
333.379 KB engine + 1.130 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 324.336 KB
index.wasm 310.421 KB
index_simd.js 7.791 KB
index.js 7.786 KB
Engine 333.379 KB
assets/atlas_demo.ntpack 1.130 MB
Resources 1.130 MB
Total 1.455 MB
Bunnymark
Bunnymark
361.111 KB engine + 830.214 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 351.920 KB
index.wasm 333.511 KB
index_simd.js 7.937 KB
index.js 7.932 KB
Engine 361.111 KB
assets/bunnymark_hd.ntpack 815.432 KB
assets/bunnymark_sd.ntpack 14.782 KB
Resources 830.214 KB
Total 1.163 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
RTT Showcase
RTT Showcase
436.205 KB engine + 9.399 KB resources
Size breakdown
index.html 1.256 KB
index_simd.wasm 427.075 KB
index.wasm 410.435 KB
index_simd.js 7.874 KB
index.js 7.869 KB
Engine 436.205 KB
assets/rtt_showcase.ntpack 9.399 KB
Resources 9.399 KB
Total 445.604 KB
9-Slice Scaling
9-Slice Scaling
429.938 KB engine
Size breakdown
index.html 1.253 KB
index_simd.wasm 420.518 KB
index.wasm 403.145 KB
index_simd.js 8.167 KB
index.js 8.162 KB
Engine 429.938 KB
Total 429.938 KB
Spinning Shapes
Spinning Shapes
40.424 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 32.042 KB
index.wasm 32.227 KB
index_simd.js 7.127 KB
index.js 7.122 KB
Engine 40.424 KB
Total 40.424 KB
Sponza
Sponza
335.541 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 326.500 KB
index.wasm 313.813 KB
index_simd.js 7.791 KB
index.js 7.786 KB
Engine 335.541 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.345 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 43.509 KB
index.wasm 41.602 KB
index_simd.js 7.584 KB
index.js 7.579 KB
Engine 52.345 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.893 KB engine + 782.026 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 327.847 KB
index.wasm 311.488 KB
index_simd.js 7.791 KB
index.js 7.786 KB
Engine 336.893 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
3D UI
3D UI
442.084 KB engine
Size breakdown
index.html 1.254 KB
index_simd.wasm 432.617 KB
index.wasm 416.082 KB
index_simd.js 8.213 KB
index.js 8.208 KB
Engine 442.084 KB
Total 442.084 KB
UI Showcase
UI Showcase
500.684 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 491.007 KB
index.wasm 475.129 KB
index_simd.js 8.422 KB
index.js 8.417 KB
Engine 500.684 KB
Total 500.684 KB