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

Size data unavailable

Shape Renderer Bench

Shape Renderer Bench

40.061 KB engine
Size breakdown
index.html 1.256 KB
index_simd.wasm 32.291 KB
index.wasm 28.797 KB
index_simd.js 6.514 KB
index.js 6.509 KB
Engine 40.061 KB
Total 40.061 KB
Hello Triangle

Hello Triangle

13.319 KB engine
Size breakdown
index.html 1.249 KB
index_simd.wasm 8.324 KB
index.wasm 8.030 KB
index_simd.js 3.746 KB
index.js 3.741 KB
Engine 13.319 KB
Total 13.319 KB
Sponza

Sponza

336.236 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 325.276 KB
index.wasm 310.471 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 336.236 KB
assets/sponza_core.ntpack 3.173 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.791 MB
Spinning Shapes

Spinning Shapes

39.629 KB engine
Size breakdown
index.html 1.255 KB
index_simd.wasm 31.992 KB
index.wasm 28.473 KB
index_simd.js 6.382 KB
index.js 6.377 KB
Engine 39.629 KB
Total 39.629 KB
Text Rendering

Text Rendering

44.477 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 33.799 KB
index.wasm 34.011 KB
index_simd.js 9.426 KB
index.js 9.421 KB
Engine 44.477 KB
assets/text_base.ntpack 11.961 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.626 MB
Textured Quad

Textured Quad

338.431 KB engine + 782.013 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 327.466 KB
index.wasm 310.113 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 338.431 KB
assets/base.ntpack 774 B
assets/lenna_hires.ntpack 777.780 KB
assets/lenna_pixel.ntpack 3.477 KB
Resources 782.013 KB
Total 1.094 MB