nesdev.com
http://forums.nesdev.com/

Fizzter, an organic stub serif font for a counting game
http://forums.nesdev.com/viewtopic.php?f=21&t=12051
Page 1 of 1

Author:  tepples [ Sat Nov 22, 2014 4:22 pm ]
Post subject:  Fizzter, an organic stub serif font for a counting game

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:
File comment: Glyphs in Fizzter. Includes capital A and B for the same reason as Wetrix.
fizzter16.png
fizzter16.png [ 1.52 KiB | Viewed 4599 times ]
File comment: Fizzbuzz logo
fizzlogo.png
fizzlogo.png [ 1.65 KiB | Viewed 4599 times ]
File comment: Fizzbuzz help (animated)
fizzdesc.gif
fizzdesc.gif [ 12.54 KiB | Viewed 4599 times ]

Author:  Bregalad [ Sun Nov 23, 2014 7:20 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

Quote:
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.

Author:  tepples [ Sun Nov 23, 2014 9:24 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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:
File comment: This is how I fit it
fizzter16tiles.png
fizzter16tiles.png [ 2.23 KiB | Viewed 4526 times ]

Author:  LocalH [ Wed Nov 26, 2014 12:02 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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).

Author:  tepples [ Wed Nov 26, 2014 7:22 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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?

Author:  Sik [ Wed Nov 26, 2014 7:35 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

The D-pad (i.e. the four arrows). Well, writing them as words does take up a lot of space...

Author:  LocalH [ Wed Nov 26, 2014 10:02 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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.

Author:  tepples [ Wed Nov 26, 2014 6:53 pm ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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 4231 times ]
fizzterbig.png
fizzterbig.png [ 8.48 KiB | Viewed 4231 times ]
directions.png
directions.png [ 236 Bytes | Viewed 4293 times ]

Author:  LocalH [ Fri Nov 28, 2014 8:17 am ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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).

Author:  tepples [ Thu Dec 04, 2014 8:43 pm ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

Yeah, it's a crappy camera.

Attachments:
File comment: On an actual NES and CRT TV
"for 15 times n, you fizzbuzz."

fizzter_on_hw.jpg
fizzter_on_hw.jpg [ 34.41 KiB | Viewed 4109 times ]

Author:  tepples [ Fri Dec 05, 2014 4:16 pm ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

And just in case you want a tiny monospace version for legal notices and stuff:

Attachments:
fizztertiny.png
fizztertiny.png [ 1.27 KiB | Viewed 4072 times ]

Author:  tepples [ Thu Jul 16, 2015 2:53 pm ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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.

Attachment:
File comment: Sample output from revised Fizzter, using a Cicero passage from Lipsum.com
lorem_ipsum.png
lorem_ipsum.png [ 16.67 KiB | Viewed 3555 times ]


This zipfile includes the new versions of normal and large Fizzter as well as the Python program.

Attachments:
File comment: Python bitmap font setting tool with GUI using Tkinter and Pillow. Includes revised Fizzter.
bmfontrender.zip [20.77 KiB]
Downloaded 133 times

Author:  tepples [ Tue Jun 28, 2016 8:52 pm ]
Post subject:  Re: Fizzter, an organic stub serif font for a counting game

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 100 times

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/