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

43.455 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 34.884 KB
index.wasm 34.731 KB
index_simd.js 7.315 KB
index.js 7.311 KB
Engine 43.455 KB
Total 43.455 KB
Atlas Packing

Atlas Packing

49.619 KB engine + 1.130 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 40.342 KB
index.wasm 40.178 KB
index_simd.js 8.025 KB
index.js 8.021 KB
Engine 49.619 KB
assets/atlas_demo.ntpack 1.130 MB
Resources 1.130 MB
Total 1.178 MB
Hello

Hello

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
Bunnymark

Bunnymark

362.791 KB engine + 830.214 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 353.158 KB
index.wasm 335.251 KB
index_simd.js 8.378 KB
index.js 8.373 KB
Engine 362.791 KB
assets/bunnymark_hd.ntpack 815.432 KB
assets/bunnymark_sd.ntpack 14.782 KB
Resources 830.214 KB
Total 1.165 MB
RTT Showcase

RTT Showcase

134.527 KB engine + 9.399 KB resources
Size breakdown
index.html 1.256 KB
index_simd.wasm 125.176 KB
index.wasm 124.866 KB
index_simd.js 8.096 KB
index.js 8.091 KB
Engine 134.527 KB
assets/rtt_showcase.ntpack 9.399 KB
Resources 9.399 KB
Total 143.927 KB
Spinning Shapes

Spinning Shapes

42.965 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 34.515 KB
index.wasm 34.534 KB
index_simd.js 7.195 KB
index.js 7.190 KB
Engine 42.965 KB
Total 42.965 KB
9-Slice Scaling

9-Slice Scaling

121.498 KB engine + 17.689 KB resources
Size breakdown
index.html 1.253 KB
index_simd.wasm 111.849 KB
index.wasm 110.748 KB
index_simd.js 8.396 KB
index.js 8.392 KB
Engine 121.498 KB
assets/slice9_demo.ntpack 17.689 KB
Resources 17.689 KB
Total 139.188 KB
Sponza

Sponza

343.811 KB engine + 65.887 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 334.327 KB
index.wasm 320.789 KB
index_simd.js 8.233 KB
index.js 8.229 KB
Engine 343.811 KB
assets/sponza_core.ntpack 3.208 KB
assets/sponza_full.ntpack 57.964 MB
assets/sponza_geo.ntpack 2.344 MB
assets/sponza_tex.ntpack 5.576 MB
Resources 65.887 MB
Total 66.223 MB
Text Rendering

Text Rendering

57.967 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 48.676 KB
index.wasm 46.698 KB
index_simd.js 8.039 KB
index.js 8.034 KB
Engine 57.967 KB
assets/text_base.ntpack 12.163 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.639 MB
Textured Quad

Textured Quad

51.674 KB engine + 781.959 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 42.394 KB
index.wasm 42.700 KB
index_simd.js 8.025 KB
index.js 8.021 KB
Engine 51.674 KB
assets/base.ntpack 705 B
assets/lenna_hires.ntpack 777.788 KB
assets/lenna_pixel.ntpack 3.482 KB
Resources 781.959 KB
Total 833.633 KB
3D UI

3D UI

136.194 KB engine + 16.545 KB resources
Size breakdown
index.html 1.254 KB
index_simd.wasm 126.508 KB
index.wasm 126.352 KB
index_simd.js 8.433 KB
index.js 8.428 KB
Engine 136.194 KB
assets/ui_3d_demo.ntpack 16.545 KB
Resources 16.545 KB
Total 152.739 KB
UI Showcase

UI Showcase

196.627 KB engine + 122.137 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 186.723 KB
index.wasm 187.724 KB
index_simd.js 8.649 KB
index.js 8.645 KB
Engine 196.627 KB
assets/ui_showcase.ntpack 122.137 KB
Resources 122.137 KB
Total 318.764 KB