RANKED: Four tiny screens to power your tiny alt ctrl dreams
Are you in the mood for a tiny writeup of a tiny talk about tiny screens at AMAZE Sheffield? Then it’s your lucky day, because that’s precisely what alternative controller game designer Julia Makivic rustled up.
Running a through a list of some of her favorite and most despised tiny screens during a fleeting Hyper Talk, Makivic sought to pass on some wisdom to other developers fascinated by the prospect of building video games that incorporate bitesized displays. She explains that tiny screens have become a “huge part” of her process, and that’s pretty damn neat.
It’s also incredibly frustrating at times, because they weren’t designed with video games in mind. “They were designed to maybe display readings from a sensor or other information about the board itself,” she explains. “So my whole journey has been trying to adapt these annoying little screens to do what I want them to do—even though they weren’t designed for that.”
So, as ranked by Makivic on a bespoke ten-point scale from ‘most annoying’ at one to ’least annoying’ at 10, here are a bunch of tiny screens you might eventually come to cherish or loathe.
Ardunio MEGA + Adafruit HX8357 (6/10)
“The first project I ever did used the Adafruit library with the HX8357 screen on the Arduino Mega and I would rate this a solid 6/10 experience. It’s actually really big for a tiny screen. It’s like five inches,” says Makivic. “But it doesn’t work with transparencies. That’s annoying. For sprites and also when it renders images, it renders them line by line rather than the whole image at once. […] That’s not good for practicality. It also has too many pins. Neither SPI or I2C protocols require that many pins.”
Picographics + Pico Display Pack /Tufty 2040 (3/10)
“The next one is the Picographics library with the Pico display. If anyone here is a fan of the Pimoroni website for microcontrollers you know what I’m talking about. If not, it’s a little niche. This experience inspired the whole entire talk because the Pimoroni website is so friendly and cute […] you think ‘wow it must be easy to display a JPEG on this thing.’ No,” Makivic says.
“They use this JPEG coding library where you have to have a particular format of JPEG. But they don’t tell you what the format is or how to define it. All I know is that when I use JPEGs from ProStudioPaint it likes them but when I use JPEGs from Photoshop it gets mad. That’s okay because Adobe is evil so maybe they’re right about that.”
Adafruit GFX Bitmaps - ST7789 (5/10)
“The next one is Adafruit GFX and Bitmaps on the ST7789. Solid 5/10. I liked that the ST7789s are kind of small. They’re cute. They are pricey though, but come in round shapes too, which is cool. Also Adafruit—it has good documentation. They will tell you to do what you need to do in order to get the thing you want to do. Excellent. That’s a huge plus,” continues Makivic.
“But, one thing you do have to use with these screens is bitmaps. I had to learn what fucking bitmaps were in order to do this. So a bitmap is an array that represents an image. Each value in the array represents a particular pixel in the image. So you have to break that bitmap into a grid and then see when you’re going to use that part of the bitmap in a game.
“It’s cool to manipulate an image on that kind of pixel level. But there might also be an easier way of doing this–I don’t know. And just like all of these other screens, bitmaps cannot be transparent. So your white background has to match your game background, and that’s just a huge hassle for everyone. Also, I need to know the size, width, and height of the bitmap. I had to do math in order to do this–which like, why? It also gets mad when you try to use too many bitmaps at the same time.”
ESP32 + ILI9341, ST7789, GC9A01 (8/10)
“Finally, I would like to move onto the best one. We’ve left the dark ages where you can’t use transparency and entered the modern world where you can use transparency on images. I’m using the ESP32 microcontroller with various screens including the ILI9341, ST7789, GC9A01,” says Makivic.
“Honestly, it has been great. It’s so easy to use and I recommend it. The only downside is that you kind of have to leave the beginner pool and jump into the intermediate pool. ESP32 is maybe not as intuitive, but it’s also really not that bad. And I get to use the GC9A01 screen which is very cheap and also circular.”
Click here for more AMAZE Sheffield coverage
About the Author