roadroller
wordle-trie-packing
roadroller | wordle-trie-packing | |
---|---|---|
5 | 5 | |
283 | 2 | |
- | - | |
0.0 | 4.7 | |
almost 2 years ago | about 2 years ago | |
JavaScript | Python | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
roadroller
- Mini Metroidvania in 13KB of JavaScript
-
Show HN: Micro LZMA decoder (x86 assembly code golf)
Crinkler [1] is a popular compressor-linker for 1--8 KB demos and its decompressor (partially embedded in a PE header) is probably around 1--200 bytes. Later efforts like oneKpaq [2] also have a comparable decompressor size.
If you don't mind a shameless plug and a slightly larger decompressor (about 500 bytes in JS) for better compression, my Roadroller [3] might fit the bill as well.
[1] https://github.com/runestubbe/Crinkler
[2] https://github.com/temisu/oneKpaq
[3] https://lifthrasiir.github.io/roadroller/
-
Game Boy Wordle clone: How to compress 12972 five-letter words to 17871 bytes
Roadroller [1] is probably a borderline general purpose compression algorithm, and with some automatic parameter tuning it results in 12,170 bytes estimated [2], at the expense of a lot of memory. "Estimated" because the algorithm was originally meant to be recompresssed in a ZIP file, so it doesn't bother to generate the smallest JS file in terms of uncompressed size (yet).
[1] https://lifthrasiir.github.io/roadroller/ (the exact parameters: golf.horse dataset; input mode text; action write to document; # contexts 12 with 12,15,49,50,70,79,96,97,131,154,292,353; pollute the global scope; max memory usage 150 MB; precision 16; learning rate 1333; model max count 11; model base divisor 14; dynamic model flags -1; # abbreviations 64)
-
Cat Goric: Escape from the Warp Chamber - Post-Mortem
And compressed final code even more with Roadroller (reduced 1.3 KB in the zip). And used ECT to recompress the zip (reduced 300 KB).
-
Q1K3
I'm honored that Q1K3, in addition to many other entries to js13kGames 2021, is compresed with Roadroller [1], which is the reason that its source code is basically a random-looking string plus some bit of JS code.
[1] https://github.com/lifthrasiir/roadroller/
wordle-trie-packing
-
Game Boy Wordle clone: How to compress 12972 five-letter words to 17871 bytes
```
Doing this, and then doing the variable length encoding I got the file down to 13,181 bytes (it was 13,180 bytes, but I needed to add a 7 bit termination string so that you can properly decode the file after you write it to disk, otherwise when the file rounds to the nearest byte you have random 0s that get decoded).
I'm sure with some twiddling of the alphabets some more you could save a few more bytes, but this does better than both Brotli on a ASCII trie and the Huffman Trie by almost 1KB (https://github.com/adamcw/wordle-trie-packing#all-words), so I'm very happy.
What are some alternatives?
js13k-2021 - Game created for the Js13kGames competition from 2021.
wordle - Finding optimal play in the game of wordle
wasmboy - Game Boy / Game Boy Color Emulator Library, 🎮written for WebAssembly using AssemblyScript. 🚀Demos built with Preact and Svelte. ⚛️
gb-wordyl - A word game for the Nintendo Game Boy / Color, Analogue Pocket, Mega Duck
ZLib - A massively spiffy yet delicately unobtrusive compression library.
q1k3 - A tiny FPS for js13k
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
squoosh - Make images smaller using best-in-class codecs, right in the browser.
ect-bin - Efficient-Compression-Tool Binaries