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.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
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
Sponza

Sponza

337.395 KB engine + 68.462 MB resources
Size breakdown
index.html 1.250 KB
index_simd.wasm 326.435 KB
index.wasm 309.486 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 337.395 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.792 MB
Textured Quad

Textured Quad

337.720 KB engine + 782.013 KB resources
Size breakdown
index.html 1.255 KB
index_simd.wasm 326.755 KB
index.wasm 309.213 KB
index_simd.js 9.710 KB
index.js 9.705 KB
Engine 337.720 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.093 MB
Text Rendering

Text Rendering

43.944 KB engine + 7.583 MB resources
Size breakdown
index.html 1.252 KB
index_simd.wasm 33.267 KB
index.wasm 33.398 KB
index_simd.js 9.426 KB
index.js 9.421 KB
Engine 43.944 KB
assets/text_base.ntpack 11.961 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.626 MB