Fizzter, an organic stub serif font for a counting game

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

Post Reply
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Fizzter, an organic stub serif font for a counting game

Post by tepples »

Fizzbuzz is a counting game. Before founding Image Stack Overflow, Jeff Atwood discovered that most people who apply for a programming job don't even know how to program fizzbuzz. So somehow I feel the need to prove something to the world. But an NES program that just displays 20 lines of fizzbuzz output is boring. So I might end up making an edutainment game.

Today I started to draw an organic stub serif font, inspired by Filmotype Apache (also called Disney Print, Jester, Stanley, Toledo, and other names) and Bitstream Hank. It's huge for an NES font, so big in fact that letters are 8 to 24 pixels wide. But the whole glyph set fits in 164 distinct tiles according to savtool, and the big fizzbuzz logo is 54 tiles.

Palette: 0f001020 0f1a2a3a 0f172737 0f000000
Attachments
Glyphs in Fizzter. Includes capital A and B for the same reason as Wetrix.
Glyphs in Fizzter. Includes capital A and B for the same reason as Wetrix.
fizzter16.png (1.52 KiB) Viewed 23506 times
Fizzbuzz logo
Fizzbuzz logo
fizzlogo.png (1.65 KiB) Viewed 23506 times
Fizzbuzz help (animated)
Fizzbuzz help (animated)
fizzdesc.gif (12.54 KiB) Viewed 23506 times
User avatar
Bregalad
Posts: 8055
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Re: Fizzter, an organic stub serif font for a counting game

Post by Bregalad »

Fizzbuzz is a counting game. Before founding Image Stack Overflow, Jeff Atwood discovered that most people who apply for a programming job don't even know how to program fizzbuzz.
I'm sorry but I can't belive a second that any of that is true. I'd like to hear the version of people who "failed" the test to know the truth behind this.

My guess is that the guy is either :

1) Asking to use a programming language that is not what most people has previously used, and bitch about them being lost in the syntax for a few minutes
2) Comparing other people's solution with his, and calling any difference a failure (even if the result is the same or if they're different but still solving the problem, i.e. starting at 1 instead of 0 or details like that)
3) Just loves to bash other people and call them retarded because his computer is his only friend

As for complaining that people don't know how to use recursion and how to exchange 2 variables without a temp. variable, well there is no reason to do neither because they both means a lost of efficiency (except tail-recursion that in the best case is the same as a normal loop).

There is an increasing trend in companies to expect to hire only perfect people, and if they decel any sign of weakness they will just say f*** you. But at the same time millions of people are jobless and the governments are struggling to solve the unomployment problem without success. I think they should just force companies to hire the people who are available even if they're not perfect. If they still refuse then they should pay huge fines to the governments to help funding unemployment wages. That would just make sense and solve, at least partially, this problem.

As for the font, I'd love to know how you handled this to fill in a 256-tiles pattern table but you didn't mention that anywhere.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

Bregalad wrote:
tepples wrote:But the whole glyph set fits in 164 distinct tiles according to savtool
As for the font, I'd love to know how you handled this to fill in a 256-tiles pattern table but you didn't mention that anywhere.
The "savtool" program that ships with my graphics editor to convert a .png file to .sav removes duplicate tiles. Viewing the resultant .sav's pattern table lets me count the distinct tiles at a glance.

Or you could be asking how I arranged for so many duplicate tiles in the first place. It turns out the left half of 'c', 'd', 'g', and 'q' are very similar. So are the tails of 'g' and 'y', the feet of 'h' and 'n', the sides of 'w' and 'v', etc.

[Please keep discussions of the suitability of fizzbuzz for programmer screening in the split topic. --MOD]
Attachments
This is how I fit it
This is how I fit it
fizzter16tiles.png (2.23 KiB) Viewed 23433 times
LocalH
Posts: 186
Joined: Thu Mar 02, 2006 12:30 pm

Re: Fizzter, an organic stub serif font for a counting game

Post by LocalH »

I love the font, I'd be interested in seeing a more fleshed-out charset (I think the font would look really nice on the Genesis, and it would leave plenty of palette entries free to use with other graphics).
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

I'm interesting in expanding this should I decide to use this in a project without an all-lowercase design. I know for use on Genesis you probably want capital C, and probably X, Y, and Z for the 6-button pad. I've done ! and ? in my private copy. But what other characters need glyphs first?
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Fizzter, an organic stub serif font for a counting game

Post by Sik »

The D-pad (i.e. the four arrows). Well, writing them as words does take up a lot of space...
LocalH
Posts: 186
Joined: Thu Mar 02, 2006 12:30 pm

Re: Fizzter, an organic stub serif font for a counting game

Post by LocalH »

Since the Mode button is software addressable, you might want to include a more compact glyph for that than four large uppercase letters (or perhaps a capital M will suffice). Same thing for Start.

My use would most likely be for a demoscene-style production, rather than a game. Hence the request for capital letters, as I think this would make a nice font for a text scroller.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

I'm about 90% through ASCII, with ABCMSXYZ done. You can always draw glyphs for other buttons as needed. Also here's a preview of a bigger version for making logos and the like.

EDIT: Now there's full ASCII in both 24x32 and 48x64 sizes.
Attachments
fizzter.png
fizzter.png (3.62 KiB) Viewed 23138 times
fizzterbig.png
fizzterbig.png (8.48 KiB) Viewed 23138 times
directions.png
directions.png (236 Bytes) Viewed 23200 times
LocalH
Posts: 186
Joined: Thu Mar 02, 2006 12:30 pm

Re: Fizzter, an organic stub serif font for a counting game

Post by LocalH »

Very nice, tepples. Will save this off when I get to my computer, and make sure to save it in a "tepples" folder where I can credit you should I use it (which, while I understand it's not a legal requirement in the US for bitmap fonts, it's still common courtesy).
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

Yeah, it's a crappy camera.
Attachments
On an actual NES and CRT TV<br />&quot;for 15 times n, you fizzbuzz.&quot;
On an actual NES and CRT TV
"for 15 times n, you fizzbuzz."
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

And just in case you want a tiny monospace version for legal notices and stuff:
Attachments
fizztertiny.png
fizztertiny.png (1.27 KiB) Viewed 22979 times
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

A couple days ago, I made a Python program to set text in fixed- or variable-width bitmap fonts. This revealed some practical problems in Fizzter, which I decided to fix.
  • Shortened serifs slightly in big version.
  • Slant of 'f' and 't' crossbars is gentler, to point up toward the handle serif of the next letter.
  • Tail of 'f', 'g', 'j', 's', and 'y' isn't as curvy. Left side of 's' bent down to soak up the excess space.
  • Reduced advance width of 'j', 'r', and 't' from 32px to 24px in big version. I wish I could do so for 'f', but that will have to wait until my engine supports overlapping glyphs. Small version still has 16px due to tile limit.
  • Bowls (b, c, d, g, o, p, q) are 1px wider (2px in big) on each side to soak up space that serifs would have occupied.
Sample output from revised Fizzter, using a Cicero passage from Lipsum.com
Sample output from revised Fizzter, using a Cicero passage from Lipsum.com
This zipfile includes the new versions of normal and large Fizzter as well as the Python program.
Attachments
bmfontrender.zip
Python bitmap font setting tool with GUI using Tkinter and Pillow. Includes revised Fizzter.
(20.77 KiB) Downloaded 608 times
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

I've made more tweaks to bmfontrender.py:
  • Font can specify background color in multi-line text
  • Font can specify glyph ranges for code point ranges instead of assuming that all code points are contiguous
A few changes to Fizzter:
  • Sans-serif variant in both large and small sizes
  • Includes variant glyphs, including 1-story a, 2-story g, dotless i and j, looped k, tailed l, small capital r, long s, round v, and insular forms of bdfgrst
  • Small monochrome variant, used in several of my recent mapper tests
Base Seven, the VWF that I've been using since Action 53 and RHDE, is still included. It now has accented letters, most of the variant glyphs that I added to Fizzter, select additional symbols, and two larger sizes.
Attachments
bmfontrender.zip
(51.93 KiB) Downloaded 587 times
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fizzter, an organic stub serif font for a counting game

Post by tepples »

Fizzter and other bitmap fonts are maintained in GitHub now:
pinobatch/bitmap-fonts
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: Fizzter, an organic stub serif font for a counting game

Post by zzo38 »

tepples wrote:Fizzter and other bitmap fonts are maintained in GitHub now:
pinobatch/bitmap-fonts
There are other bitmap font formats, such as PK and GF (for printer fonts), and PCF and FON (for screen fonts), although those formats are monochrome (and I prefer the monochrome fonts, which are less fuzzy). Conversions can also be made, I suppose (from PK/GF in case you want to use METAFONT to draw the glyphs; or even from PostScript fonts to foni, in case you need such a thing for some reason).
I made it because modern font tools tend to neglect bitmap-first fonts.
Yes, and I agree I often want to use bitmap fonts.
(Free Hero Mesh - FOSS puzzle game engine)
Post Reply