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

52.856 KB engine + 1.130 MB resources
Size breakdown
index.html 1.205 KB
index_simd.wasm 43.349 KB
index.wasm 43.204 KB
index_simd.js 8.303 KB
index.js 8.298 KB
Engine 52.856 KB
assets/atlas_demo.ntpack 1.130 MB
Resources 1.130 MB
Total 1.181 MB
Shape Renderer Bench

Shape Renderer Bench

46.211 KB engine
Size breakdown
index.html 1.209 KB
index_simd.wasm 37.572 KB
index.wasm 37.688 KB
index_simd.js 7.430 KB
index.js 7.425 KB
Engine 46.211 KB
Total 46.211 KB
Bunnymark

Bunnymark

215.317 KB engine + 830.220 KB resources
Size breakdown
index.html 1.208 KB
index_simd.wasm 205.388 KB
index.wasm 199.822 KB
index_simd.js 8.722 KB
index.js 8.717 KB
Engine 215.317 KB
assets/bunnymark_hd.ntpack 815.471 KB
assets/bunnymark_sd.ntpack 14.749 KB
Resources 830.220 KB
Total 1.021 MB
Hello

Hello

12.878 KB engine
Size breakdown
index.html 1.201 KB
index_simd.wasm 8.433 KB
index.wasm 8.138 KB
index_simd.js 3.244 KB
index.js 3.239 KB
Engine 12.878 KB
Total 12.878 KB
9-Slice Scaling

9-Slice Scaling

93.747 KB engine + 17.606 KB resources
Size breakdown
index.html 1.207 KB
index_simd.wasm 83.960 KB
index.wasm 84.617 KB
index_simd.js 8.580 KB
index.js 8.575 KB
Engine 93.747 KB
assets/slice9_demo.ntpack 17.606 KB
Resources 17.606 KB
Total 111.354 KB
Spinning Shapes

Spinning Shapes

45.234 KB engine
Size breakdown
index.html 1.207 KB
index_simd.wasm 36.943 KB
index.wasm 37.188 KB
index_simd.js 7.084 KB
index.js 7.079 KB
Engine 45.234 KB
Total 45.234 KB
RTT Showcase

RTT Showcase

112.033 KB engine + 9.345 KB resources
Size breakdown
index.html 1.209 KB
index_simd.wasm 102.393 KB
index.wasm 103.487 KB
index_simd.js 8.432 KB
index.js 8.427 KB
Engine 112.033 KB
assets/rtt_showcase.ntpack 9.345 KB
Resources 9.345 KB
Total 121.378 KB
Sponza

Sponza

209.756 KB engine + 65.890 MB resources
Size breakdown
index.html 1.202 KB
index_simd.wasm 199.885 KB
index.wasm 194.744 KB
index_simd.js 8.669 KB
index.js 8.664 KB
Engine 209.756 KB
assets/sponza_core.ntpack 3.222 KB
assets/sponza_full.ntpack 57.965 MB
assets/sponza_geo.ntpack 2.344 MB
assets/sponza_tex.ntpack 5.578 MB
Resources 65.890 MB
Total 66.095 MB
Text Rendering

Text Rendering

51.068 KB engine + 7.583 MB resources
Size breakdown
index.html 1.205 KB
index_simd.wasm 41.507 KB
index.wasm 41.693 KB
index_simd.js 8.356 KB
index.js 8.352 KB
Engine 51.068 KB
assets/text_base.ntpack 12.110 KB
assets/text_cjk.ntpack 7.571 MB
Resources 7.583 MB
Total 7.633 MB
3D UI

3D UI

112.039 KB engine + 16.586 KB resources
Size breakdown
index.html 1.207 KB
index_simd.wasm 102.252 KB
index.wasm 103.731 KB
index_simd.js 8.580 KB
index.js 8.575 KB
Engine 112.039 KB
assets/ui_3d_demo.ntpack 16.586 KB
Resources 16.586 KB
Total 128.625 KB
UI Showcase

UI Showcase

176.657 KB engine + 122.157 KB resources
Size breakdown
index.html 1.208 KB
index_simd.wasm 166.669 KB
index.wasm 169.455 KB
index_simd.js 8.780 KB
index.js 8.775 KB
Engine 176.657 KB
assets/ui_showcase.ntpack 122.157 KB
Resources 122.157 KB
Total 298.814 KB
Textured Quad

Textured Quad

52.888 KB engine + 781.960 KB resources
Size breakdown
index.html 1.208 KB
index_simd.wasm 43.377 KB
index.wasm 43.661 KB
index_simd.js 8.303 KB
index.js 8.298 KB
Engine 52.888 KB
assets/base.ntpack 708 B
assets/lenna_hires.ntpack 777.788 KB
assets/lenna_pixel.ntpack 3.480 KB
Resources 781.960 KB
Total 834.848 KB