Code Trip
  • Blog
  • Archive
  • Projects
  • Portfolio
  • CV

PICO-8 Text Rendering & Palette Viewer

22/2/2016

0 Comments

 

TinyText + MiniText + 3Text

It had been a while since I last played around with the wonderful PICO-8 fantasy console, so to get back into it I decided to do some simple sprite-based text rendering. The PICO-8 system font only handles uppercase, so I wanted to make a lowercase font and keep the code and number of sprites used as small as possible. This led to TinyText, which uses just 5 8x8 sprites for the 26 characters a-z; every character is 3x4 pixels.

I was happy with how few of the PICO-8's sparse resources it used, so I decided to put it on the PICO-8 forum. A forum user rightly pointed out that it violated many rules of thumb for designing good-looking fonts due to the constraints of fitting every character into 3x4 pixels. Thus MiniText was born, where characters are either 3x3 or 3x5 and can hang below the writing line (g, j, p, q, y). It's much prettier and still only uses 5 sprites, though the code is a bit longer.

Another forum user suggested being clever with overlapping characters to reduce the sprite count even more, though this would necessitate longer code (PICO-8 users could pick the font that suits their needs; less sprites or less code). I managed to squash TinyText into 4 sprites and MiniText into just 3, releasing 'LS' (Less Sprites) versions of the fonts. That same forum user (LRP) went one better and condensed the whole 26-character MiniText font into just two 8x8 sprites! They also made a really cool sprite guide so you could see where each character was pulled from in the sprites.

To round things off I decided to make a font that was as small as possible and created 3Text, where every single character is just 3x3 pixels. This font completely replaces the system font (3x5) and includes the characters A-Z 0-9 .,^?()[]:/\="'+-. Since there are many more characters it uses 10 sprites, but actually has the shortest code of all of them. I was going to make an LS version but ran into a PICO-8 string-parsing bug which wouldn't let me have a specific (weird) string of punctuation.

They were all pretty fun to make and it was crazy seeing LRP's two-sprite version of MiniText. The forum thread for all of these is here.

PicoPalette

I also decided to make a quick little tool for getting the PICO-8 palette out of the PICO-8 (i.e. the hex/RGB/HSV/HSL values). I've been looking into pixel art lately so I added a dither chart for the 16 colors, then I saw this tweet and added some animated fades too. It came out quite nicely.
Here's the forum thread for PicoPalette.
0 Comments
<<Previous

    Author

    Connor Halford. Studied Computer Games Technology at Abertay, worked as a Games Programmer at MediaTonic, now working as a Programmer at Climax Studios.
    ​

    Useful Sites

    hilite.me converts source code into formatted, embeddable HTML without the need for CSS or Javascript.

    tablesgenerator.com performs a similar task as hilite.me but for tabular data.

    Archives
    All posts

    June 2017
    December 2016
    September 2016
    August 2016
    June 2016
    May 2016
    April 2016
    February 2016
    January 2016
    October 2015
    September 2015
    August 2015
    June 2015
    May 2015
    March 2015
    February 2015
    January 2015
    December 2014
    September 2014
    August 2014
    July 2014
    March 2014
    February 2014
    August 2013
    June 2013
    December 2012

    Categories

    All
    Advice
    AI
    Algorithms
    AMPS
    Audio
    Boost
    Box2D
    Coursework
    DirectX
    Flash
    Game Boy Advance
    Game Jam
    Graphics Programming
    Honours Project
    Maths
    Nonograms
    Oh God Why
    OpenGL
    PICO-8
    Pixel Art
    PlayStation 4
    PlayStation Vita
    Procedural Generation
    SFML
    Shaders
    Spirit Shift
    Twine
    Unity
    XAudio2
    Year 1
    Year 2
    Year 3
    Year 4

    RSS Feed

Powered by Create your own unique website with customizable templates.