Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+2)

Hello! The latest version of PICO-8 added the ability to define custom fonts, so I ported yours as example to learn the system. PICO-8 is a fantasy console emulator with retro feeling and restrictions; this new thing doesn’t require to use sprites or complicated code, so I have a feeling it will be popular.

I have only shared the screenshot so far, not the code; I could send it to you if you wanted to publish it under your own account, or share it myself on the PICO-8 community forum with attribution, or delete it — just let me know what you prefer! (Due to how PICO-8 works, if I use this font in my game anyone could copy it.)

(+1)

This looks pretty awesome! I have just started playing around with PICO-8 and I love it so far, but I didn't realize custom fonts were being added, that sounds great!

Absolutely go ahead and publish it yourself, and thanks for doing the work of porting it! Shoot me a link when it's up so I can tweet about it!

(2 edits)

We used to have to draw sprites for custom fonts, using special code to convert text to sprites, now it’s all handled for us! (but you have to draw glyphs as binary numbers, like 0b01110 for the first row of A, or use a cart tool to generate code from sprites — a few of us are making such tools).

I will send you a text file and a PICO-8 cart with the commands to define the font in PICO-8 and the link to the BBS thread when I complete my tool. Thanks for the permission!

(1 edit) (+1)

This is the code to paste into a pico8 cart to use the font with pico8 2.2.2:

--MONOGRAM BY DATAGOBLIN
poke(0x5600,6,6,8)
poke4(0x5708,unpack(split"0x0404.0404,0x0004.0004,0x000a.0a0a,0x0000.0000,0x0a1f.0a00,0x000a.1f0a,0x0e05.1e04,0x0004.0f14,0x0408.1111,0x0011.1102,0x1e09.0906,0x0016.0909,0x0004.0404,0x0000.0000,0x0404.0408,0x0008.0404,0x0808.0804,0x0004.0808,0x0e15.0400,0x0000.0415,0x1f04.0400,0x0000.0404,0x0000.0000,0x0002.0404,0x1f00.0000,0x0000.0000,0x0000.0000,0x0000.0404,0x0408.1010,0x0001.0102,0x1519.110e,0x000e.1113,0x0404.0604,0x001f.0404,0x0810.110e,0x001f.0204,0x0c10.110e,0x000e.1110,0x1f11.1212,0x0010.1010,0x0f01.011f,0x000e.1110,0x0f01.010e,0x000e.1111,0x0810.101f,0x0004.0404,0x0e11.110e,0x000e.1111,0x1e11.110e,0x000e.1110,0x0004.0400,0x0000.0404,0x0004.0400,0x0002.0404,0x0106.1800,0x0000.1806,0x001f.0000,0x0000.001f,0x100c.0300,0x0000.030c,0x0810.110e,0x0004.0004,0x1515.190e,0x000e.0119,0x111e.0000,0x001e.1111,0x110f.0101,0x000f.1111,0x110e.0000,0x000e.1101,0x111e.1010,0x001e.1111,0x110e.0000,0x000e.011f,0x0f02.120c,0x0002.0202,0x1111.1e00,0x000e.101e,0x110f.0101,0x0011.1111,0x0406.0004,0x001f.0404,0x1018.0010,0x000e.1110,0x0911.0101,0x0011.0907,0x0202.0203,0x001c.0202,0x150f.0000,0x0015.1515,0x110f.0000,0x0011.1111,0x110e.0000,0x000e.1111,0x1111.0f00,0x0001.010f,0x1111.1e00,0x0010.101e,0x130d.0000,0x0001.0101,0x011e.0000,0x000f.100e,0x020f.0202,0x001c.0202,0x1111.0000,0x001e.1111,0x1111.0000,0x0004.0a11,0x1111.0000,0x000a.1515,0x0a11.0000,0x0011.0a04,0x1111.1100,0x000e.101e,0x081f.0000,0x001f.0204,0x0404.040c,0x000c.0404,0x0402.0101,0x0010.1008,0x0808.080c,0x000c.0808,0x0011.0a04,0x0000.0000,0x0000.0000,0x001f.0000,0x0000.0402,0x0000.0000,0x1111.110e,0x0011.111f,0x0f11.110f,0x000f.1111,0x0101.110e,0x000e.1101,0x1111.110f,0x000f.1111,0x0f01.011f,0x001f.0101,0x0f01.011f,0x0001.0101,0x1d01.110e,0x000e.1111,0x1f11.1111,0x0011.1111,0x0404.041f,0x001f.0404,0x1010.1010,0x000e.1111,0x0305.0911,0x0011.0905,0x0101.0101,0x001f.0101,0x1115.1b11,0x0011.1111,0x1513.1111,0x0011.1119,0x1111.110e,0x000e.1111,0x0f11.110f,0x0001.0101,0x1111.110e,0x0018.0e11,0x0f11.110f,0x0011.1111,0x0e01.110e,0x000e.1110,0x0404.041f,0x0004.0404,0x1111.1111,0x000e.1111,0x1111.1111,0x0004.0a0a,0x1111.1111,0x0011.1b15,0x040a.1111,0x0011.110a,0x040a.1111,0x0004.0404,0x0408.101f,0x001f.0102,0x0204.0408,0x0008.0404,0x0404.0404,0x0004.0404,0x1008.0804,0x0004.0808,0x0d12.0000,0x0000.0000,0x0a04.0000,0x0000.0004,0x1f1f.1f1f,0x001f.1f1f,0x0a15.0a15,0x0015.0a15,0x0e15.1f11,0x001e.1606,0x0404.0404,0x0004.0e15,0x0411.0411,0x0011.0411,0x0f19.0000,0x0013.1e0a,0x1f17.0e00,0x000e.1f1f,0x1f1f.0a00,0x0004.0e1f,0x1f05.0c0c,0x000a.0e04,0x151f.0e04,0x0017.151f,0x0000.0000,0x0000.0000"))

print("\14quick lazy fox dog")

Feel free to make it a downlod as a text file or a pico8 cart with a screenshot as cart label, or let me know if I should make one. Get on the pico-8 tag! :-)

My tool is a cart with the font drawn in the spritesheet and code that gets pixels from the spritesheet and turns it into the hex numbers above. I redrew your font and had to change some letters (we can’t have descenders) and I changed the spacing for some of the punctuation characters for consistency. I added some of my own characters but didn’t complete the full pico8 repertoire: the font is from “!” to “house” (ordinal code 33 to 138), there are more characters after that for arrow buttons, star, music note, etc. and katakana. Here’s a screenshot:

I haven’t published my tool yet; I’ll use your font as example with a link here when I do!

This is pretty sweet, merwok! Thanks a lot!