Title: As part of the annual JS13K games challenge, I&#x27;ve put together a pretty large (but small-in-code) Metroidvania game that fits in just 13KB of compressed Javascript.<p>The source is available here: <a href="https:&#x2F;&#x2F;github.com&#x2F;arikwex&#x2F;infernal-sigil" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;arikwex&#x2F;infernal-sigil</a><p>NOTE: the current head of the main branch is at 13.6KB due to quality of life patches. The legit 13KB version is tagged in github.<p>Useful hacks:
- Using Roadroller (<a href="https:&#x2F;&#x2F;github.com&#x2F;lifthrasiir&#x2F;roadroller" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lifthrasiir&#x2F;roadroller</a>) for compression
- Compressing the map data as grayscale PNG paired with some code generation.
- Using procedural animation for all characters.
- Replacing string enum with numeric enums for compression.
- Built a small game engine for object lifecycle and rendering.
- Single function to generate unique procedural songs for different regions.
Upvote: