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