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.465 KB engine + 1.130 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 324.422 KB
index.wasm 310.597 KB
index_simd.js 7.791 KB
index.js 7.786 KB
Engine 333.465 KB
assets/atlas_demo.ntpack 1.130 MB
Resources 1.130 MB
Total 1.455 MB
Shape Renderer Bench
Shape Renderer Bench
40.367 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 31.848 KB
index.wasm 31.727 KB
index_simd.js 7.264 KB
index.js 7.259 KB
Engine 40.367 KB
Total 40.367 KB
Bunnymark
Bunnymark
361.265 KB engine + 830.214 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 352.073 KB
index.wasm 333.646 KB
index_simd.js 7.937 KB
index.js 7.932 KB
Engine 361.265 KB
assets/bunnymark_hd.ntpack 815.432 KB
assets/bunnymark_sd.ntpack 14.782 KB
Resources 830.214 KB
Total 1.164 MB
RTT Showcase
RTT Showcase
436.344 KB engine + 9.399 KB resources
Size breakdown
index.html 1.256 KB
index_simd.wasm 427.215 KB
index.wasm 410.517 KB
index_simd.js 7.873 KB
index.js 7.868 KB
Engine 436.344 KB
assets/rtt_showcase.ntpack 9.399 KB
Resources 9.399 KB
Total 445.743 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
9-Slice Scaling
9-Slice Scaling
430.018 KB engine
Size breakdown
index.html 1.253 KB
index_simd.wasm 420.597 KB
index.wasm 403.270 KB
index_simd.js 8.168 KB
index.js 8.163 KB
Engine 430.018 KB
Total 430.018 KB
Spinning Shapes
Spinning Shapes
40.492 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 32.110 KB
index.wasm 32.310 KB
index_simd.js 7.127 KB
index.js 7.122 KB
Engine 40.492 KB
Total 40.492 KB
Sponza
Sponza
337.846 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 328.805 KB
index.wasm 313.965 KB
index_simd.js 7.791 KB
index.js 7.786 KB
Engine 337.846 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.792 MB
Text Rendering
Text Rendering
52.449 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 43.612 KB
index.wasm 41.734 KB
index_simd.js 7.585 KB
index.js 7.580 KB
Engine 52.449 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
337.021 KB engine + 782.026 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 327.976 KB
index.wasm 311.625 KB
index_simd.js 7.791 KB
index.js 7.786 KB
Engine 337.021 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.211 KB engine
Size breakdown
index.html 1.254 KB
index_simd.wasm 432.744 KB
index.wasm 416.158 KB
index_simd.js 8.213 KB
index.js 8.208 KB
Engine 442.211 KB
Total 442.211 KB
UI Showcase
UI Showcase
500.736 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 491.058 KB
index.wasm 475.368 KB
index_simd.js 8.424 KB
index.js 8.419 KB
Engine 500.736 KB
Total 500.736 KB