Alec Faulkner Profile picture
Feb 5 14 tweets 6 min read
I want to start posting more about game development online, so to start, here's a breakdown of how I approached designing the primary fonts for Mina the Hollower! 🧵
Although small text boxes can be annoying during the writing process, they force us to be concise and choose our words carefully, and I believe that ultimately leads to a better script. We liked Shovel Knight's 3-line-per-box limitation, and wanted a similar feel for Mina.
But there’s a problem - our GBC-inspired resolution is 59% smaller than Shovel Knight’s, so we get a lot less mileage out of those 3 lines than we did previously. Even after slimming down the borders, it can still be hard to fit many words on-screen in a single text box. Oh no!
You can always split a sentence between multiple text boxes to break things up, but that’s not always ideal, since it can interrupt the flow of conversation. And besides, having to repeatedly press the A button to advance text can make conversations feel like they’re dragging…
This can be an even larger issue in other languages. The longest word in Treasure Trove is from King of Cards' German script, and it's a whopping 25 characters long. If we used the same font for Mina, it'd be nearly impossible to fit “meinungsverschiedenheiten” on a single line!
It immediately became clear that we’d need to support two new additions - lowercase lettering and variable-width fonts. Now, instead of having every letter take up its own 8x8 tile, something like a lowercase “i” can use as little as one pixel of width. That saved space adds up!
The vast majority of GameBoy games didn't support variable-width fonts, since it’s much easier to just store and draw one character per tile. Though some games that were especially starved for screen space, like Pokémon TCG, stored two characters per tile as a simple workaround.
However, variable width fonts were actually possible on GameBoy hardware! Even if you typically only see it on modern games like @InfinityGBC, or this excellent ROM hack of Link’s Awakening DX: romhacking.net/hacks/2414/
So with these new techniques, Mina's text boxes actually allow for just about as much text as Shovel Knight’s, despite having only 61% the available horizontal space. Nice!
As for styling the font itself, the game’s vibe is a little cute, and a little scary - so the typeface should reflect that. I started with some nice, round, legible shapes, then took a pass at spookin’ things up - indented stems, cursive tails and serifs galore!
The Castlevania III font was a good reference for vibe, though I think the ornateness can go a little too far sometimes, making things a bit illegible. I’m a sucker for that "C" though! It looks so Ȼool...
Most of the ornateness ended up in the capital letters. This keeps the bulk of the text more readable, and makes all-caps ~HEADERS~ seem more special. I also feel that it evokes the drop caps in old books, which feels appropriate for Mina’s antiquated setting.
One last thing - it's important to structure shapes consistently! It can be tempting to push and style things further, but ultimately, reading is all about pattern recognition. Those patterns need to be clear and consistent!
If this type of stuff is interesting to you, consider joining the Yacht Club Games discord! I actually wrote this thread initially as a response to a question from @MilkSoup0 in our ask-the-devs-questions channel ;) discord.gg/cP65PfdFFp

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Alec Faulkner

Alec Faulkner Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(