Blog post about handling text in our Arduboy game EVADE

Hi there, we just published another blog entry, this time about text handling in our Arduboy game EVADE. You can find it at

Simon (on behalf of Modus Create).


Great writeup.

I love how people approach getting cool effects out of the limited area on the Arduboy.

I feel kind of bad because I just deleted 50% of the default font to gain space back XD. different strokes (fonts) for different folks

Absolutely - there’s a few trade offs to be had when juggling the limited resources, had we needed to we would have killed off unused letters in our bitmap font and considered rewording some in game messages to minimize the set of letters we used:)

If one has enough text content it also makes sense to use a 5-bit encoding for phrases instead of 8-bit. (in addition to cutting unnecessary characters from the font). I forget if Evade is already doing something like that or not.

1 Like

No, we didn’t use that one - that’s a new trick for me, nice tip!

Great point on the letters/characters. The thought had not crossed my mind.

We did a ton of other things to reduce size. :smiley:

I’m almost ashamed to admit that I messed about with getting a LSR and a map byte to generate words from a single 16 bit seed and byte. It worked great for small words, but the savings were not justified.

It worked great for small words, but the savings were not justified.

You could also just build small words into the 5-bit encoder if they proved frequent enough. I had envisioned an encoding format with shift-modes so technically it’d be possible to shift/word-shift/word index. and then you’ve encoded an entire word only 15 bits. And you could have 29 or 30 words in a single word-shift segment. of course then the size of your decoder grows since it also now needs a word lookup table.

See my thoughts here:

Is that like a procedural word generator?

What if you used an encoding method that featured some common 2 letter combinations? I wonder if they are frequently used enough that it would help?

Yeah it is basically a procedural word generator with a bit of guidance. Only supports 8 letters, as I use a byte and treat a 1 as a random vowel and a 0 as a random nonvowel. Could be interesting to mess about with common part words.

one would assume this is a solved problem?

well, yes and no. If you can produce a LSR generates all the words you need as its output, every phrase can be stored as a seed + a length. which is great savings. Actually making that system, or if it even exists, is another story.