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
Methane Asteroids — Neotolis port
Methane Asteroids — Neotolis port
301.961 KB engine + 3.368 MB resources
Size breakdown
CREDITS.md 2.955 KB
README.md 3.604 KB
index.html 1.116 KB
index_simd.wasm 285.375 KB
index.wasm 279.142 KB
index_simd.js 8.910 KB
index.js 8.905 KB
Engine 301.961 KB
assets/asteroids_core.ntpack 10.063 KB
assets/asteroids_space.ntpack 3.357 MB
assets/asteroids_ui.ntpack 1.076 KB
Resources 3.368 MB
Total 3.663 MB
Atlas Packing
Atlas Packing
54.692 KB engine + 1.130 MB resources
Size breakdown
index.html 996 B
index_simd.wasm 45.327 KB
index.wasm 45.507 KB
index_simd.js 8.393 KB
index.js 8.388 KB
Engine 54.692 KB
assets/atlas_demo.ntpack 1.130 MB
Resources 1.130 MB
Total 1.183 MB
Shape Renderer Bench
Shape Renderer Bench
46.980 KB engine
Size breakdown
index.html 1000 B
index_simd.wasm 38.662 KB
index.wasm 39.177 KB
index_simd.js 7.342 KB
index.js 7.337 KB
Engine 46.980 KB
Total 46.980 KB
Hello
Hello
13.458 KB engine
Size breakdown
index.html 992 B
index_simd.wasm 9.499 KB
index.wasm 9.489 KB
index_simd.js 2.990 KB
index.js 2.985 KB
Engine 13.458 KB
Total 13.458 KB
Bunnymark
Bunnymark
215.142 KB engine + 817.778 KB resources
Size breakdown
index.html 999 B
index_simd.wasm 205.592 KB
index.wasm 200.735 KB
index_simd.js 8.574 KB
index.js 8.569 KB
Engine 215.142 KB
assets/bunnymark_hd.ntpack 805.509 KB
assets/bunnymark_sd.ntpack 12.270 KB
Resources 817.778 KB
Total 1.009 MB
9-Slice Scaling
9-Slice Scaling
98.407 KB engine + 17.610 KB resources
Size breakdown
index.html 997 B
index_simd.wasm 88.982 KB
index.wasm 90.072 KB
index_simd.js 8.451 KB
index.js 8.446 KB
Engine 98.407 KB
assets/slice9_demo.ntpack 17.610 KB
Resources 17.610 KB
Total 116.018 KB
RTT Showcase
RTT Showcase
114.342 KB engine + 9.349 KB resources
Size breakdown
index.html 1000 B
index_simd.wasm 105.063 KB
index.wasm 106.654 KB
index_simd.js 8.303 KB
index.js 8.298 KB
Engine 114.342 KB
assets/rtt_showcase.ntpack 9.349 KB
Resources 9.349 KB
Total 123.690 KB
Spinning Shapes
Spinning Shapes
46.538 KB engine
Size breakdown
index.html 998 B
index_simd.wasm 38.559 KB
index.wasm 39.251 KB
index_simd.js 7.005 KB
index.js 7.000 KB
Engine 46.538 KB
Total 46.538 KB
Sponza
Sponza
210.998 KB engine + 66.313 MB resources
Size breakdown
index.html 993 B
index_simd.wasm 201.508 KB
index.wasm 196.840 KB
index_simd.js 8.521 KB
index.js 8.516 KB
Engine 210.998 KB
assets/sponza_core.ntpack 3.534 KB
assets/sponza_full.ntpack 58.517 MB
assets/sponza_geo.ntpack 2.343 MB
assets/sponza_tex.ntpack 5.449 MB
Resources 66.313 MB
Total 66.519 MB
Text Rendering
Text Rendering
54.207 KB engine + 7.583 MB resources
Size breakdown
index.html 996 B
index_simd.wasm 44.783 KB
index.wasm 45.781 KB
index_simd.js 8.451 KB
index.js 8.446 KB
Engine 54.207 KB
assets/text_base.ntpack 12.104 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.636 MB
Textured Quad
Textured Quad
54.617 KB engine + 782.139 KB resources
Size breakdown
index.html 998 B
index_simd.wasm 45.250 KB
index.wasm 45.536 KB
index_simd.js 8.393 KB
index.js 8.388 KB
Engine 54.617 KB
assets/base.ntpack 891 B
assets/lenna_hires.ntpack 777.788 KB
assets/lenna_pixel.ntpack 3.480 KB
Resources 782.139 KB
Total 836.756 KB
3D UI
3D UI
113.080 KB engine + 16.521 KB resources
Size breakdown
index.html 998 B
index_simd.wasm 103.654 KB
index.wasm 105.167 KB
index_simd.js 8.451 KB
index.js 8.446 KB
Engine 113.080 KB
assets/ui_3d_demo.ntpack 16.521 KB
Resources 16.521 KB
Total 129.601 KB
UI Showcase
UI Showcase
177.521 KB engine + 122.247 KB resources
Size breakdown
index.html 998 B
index_simd.wasm 167.882 KB
index.wasm 170.817 KB
index_simd.js 8.665 KB
index.js 8.660 KB
Engine 177.521 KB
assets/ui_showcase.ntpack 122.247 KB
Resources 122.247 KB
Total 299.769 KB