Readers of this thread may also enjoy "Texture archeology", specifically this video about a stock image of cobblestones that was reused in loads of PS1 / N64 era games: https://www.youtube.com/watch?v=bsCN0Yx2Vbsa
It was posted to HN twice with 0 comments so I figured I'd mention it here.
For a similarly fun and unexpectedly twisty deep dive, youtuber Hbomberguy has a documentary on the history and origins of the now iconic Roblox "oof" sound. A rabbit hole that's way deeper than it has any right to be.
There was a design on some pillars in Elden Ring that the community had heavily speculated on in terms of how it tied into the lore. Many believed it showcased the story of one of the game's central figures.
Then someone found it in another game, turns out it was just a stock texture.
As someone whose initial exposure to computers was through IBM PCs, I find VileR's website[1] to be a treasure trove of BIOS/OEM fonts and related resources with impressive attention to detail.
Inspired by IBM PC games from the 1990s, I aspired to create my own invaders-like game. However I had limited access to computers back then (≤ 70 mins/month). My knowledge of computer programming was very limited too. At that time, I could only manage to write a few simple text-based adventure games. Although 25 years too late, during the COVID-19 pandemic, I revisited that dream and spent a weekend writing my own Invaders game[2] using HTML5 Canvas.
Initially, I used CanvasRenderingContext2D.fillText() to display text (current score, info screen, etc.). However, dissatisfied with the text rendering quality, I began looking for IBM PC OEM fonts online and came across the Oldschool PC Fonts[3] on int10h.org. After downloading the font packs from the website, I wrote a little Python script to convert them to bitmaps[4] (arrays of integers), and then used the bitmaps to draw text on the canvas using JavaScript, one cell at a time, to get pixel-perfect results!
I eventually switched to a different font pack called Modern DOS[5] developed by Jayvee Enaguas. Nevertheless, given how extensive VileR's website is and how convenient the font preview tools[6] on the website are, int10h.org remains as my go-to website whenever I am doing any type of retrocomputing experiments for fun.
Thanks for those comments, much appreciated. I'm still planning future updates to that font collection, and I'll probably include straight-up binary dumps of the characters, so you won't have to jump through hoops to convert them (although many of them are already available in this form at https://github.com/viler-int10h/vga-text-mode-fonts - all you need is a hex dump).
Do the Modern DOS fonts have a particular advantage for you, in terms of implementation? If they do, let me know and I'll consider those improvements as well!
Hello VileR! Thank you for replying to my comment! The Modern DOS font does not have any particular advantage from a technical perspective. It seems to be a fusion of a couple of OEM fonts.
According to my examination of the Modern DOS font, it seems to be based on the IBM VGA 8x16 and Verite 8x16 OEM fonts[1][2]. Some glyphs in it look exactly like those of IBM VGA 8x16 while some others look exactly like those of Verite 8x16. But it also has some glyphs that match neither of the two OEM fonts. Instead they appear to be adaptations of the glyphs found in one or both of the OEM fonts.
To summarise, Modern DOS does not appear to be a faithful reproduction of any OEM font. Despite considerable deviations from the OEM fonts, I quite liked it due to some choices made in the font. For example, it has the slashed zero of Verite and it also has the raised stem for the digit 2 and the curved stem for the digit 7 from IBM VGA 8x16. I personally happened to like this type of amalgamation. However it is not suitable for anyone who cares about accuracy and fidelity to specific OEM fonts.
For anyone interested in obtaining reproductions of the OEM fonts that are as faithful as possible[3], in my opinion, they should go to your page at https://int10h.org/oldschool-pc-fonts/ without a doubt! Thanks for creating and maintaining this wonderful resource!
Oh, gotcha - FWIW the fonts I labeled 'Verite' do come from Rendition Verite video BIOS charsets, but those in turn seem to be descended from the 'Phoenix VGA BIOS' type of font, or rather they're in the same loose family of fonts which shared that visual style... can't check at the moment, but it wouldn't surprise me if Rendition used some Phoenix VBIOS derivative too.
I also believe the font used in the VMware VBIOS is derived from that, so those who run a lot of text-mode stuff in VMware may take a liking to it.
One thing I've wondered lately is about the 6x6 fonts (or perhaps one particular one) that I've seen in all kinds of old (late 80s to very early 90s) games, particularly on Amiga and MS-DOS platforms. The Atari ST had a 6x6 font in ROM (see https://fontstruct.com/fontstructions/show/876150/atari_st_6 for an example) and I think I've seen text that looks just like it in games that I know where developed first for the Amiga, as well as some early VGA DOS games. Maybe there's cases where artists were drawing graphics first on an ST, weird as that seems for an Amiga production - people have to use whatever tools they have at hand, so if that's an ST with Degas, Neochrome, or whatever, so be it. I considered maybe there was a similar font included with Deluxe Paint, but I can't find any indication of that. Perhaps instead a 6x6 character cell (leaving, really, 5x5) is just so constrained that there are very few ways to draw legible characters, and that's the reason for the uncanny similarity. Or perhaps the font got ripped and converted to some other format that was then passed around.
I suppose I should start collecting examples of this font as I spot them, for comparison.
And a partial answer to this, my memory being jogged by the linked article's mention of Autodesk Animator (which I spent a lot of time with as a kid), is that Autodesk Animator includes a font SIXBYSIX.FNT appears identical to the Atari's 6x6 ROM font, to the extent I can find examples to compare. Ignoring the riddle of this or that Amiga game, this is a perfect link between VGA-era DOS games, for which I'm sure Animator (Pro) was often used for art, and the Atari ST, because Autodesk Animator is a direct descendant of the program Cyber Paint on the Atari ST (another program I spent a lot of time with as a kid), both programmed by Jim Kent. It's perfectly possible that one of the ST ROM fonts hitchhiked along in the conversion from ST to PC and started cropping up in PC games.
Yeah, I should think that's exactly what happened. I was a big AA user too, but at that point in time I wasn't aware of the Atari ST connection (and hadn't ever seen an ST), so whenever I spotted that font in a game I just thought of it as "the Autodesk Animator font", and assumed that's what they used for the artwork. (Sometimes you could even spot tell-tale effects like that "countour gradient" thing, which would confirm it!)
Reading video game magazines when I was a kid always left me wondering about how those great effects were achieved. Games seemed to be way more mysterious back then, tiny black boxes streamed from tapes or floppies. I wonder if in 30 years time we'll be applying the same kind of forensics on today's games.
These kind of IBM PC games were my first peek into pc gaming. While I don't have anything to add about font forensics, reading this brings back some awesome memories of this era and the wonder it brought with it. I can tell it's the same for the author.
It definitely is. Pretty amazing what you can still find out about this stuff after all these years, now that we can cross-reference and search data so easily (and that collectors, preservationists, and emulator authors are still coming up with previously unknown findings).
TL;DR: This post is great and it raises questions about automating phylogeny guesses about game components.
I think I remember seeing a similar post about Chinese bootleg games for non-PC systems. The commonality was comparing pixel data to trace what the bootlegs had taken parts from. That raises a question: can we automate inferring the copying and modification of parts between older games?
In biology, there's a similar technique. Phylogenetic analysis compares sequences to reconstruct evolutionary relationships between samples. From what I understand, it seems possible to do something similar for the pixel data of game assets.
However, there are limits: you have to stay above a certain pixel size for results to have meaning. The lower your resolution, the more each pixel font looks the same. The same seems to be true for sprites representing in-game elements.
Something I find interesting about computer fonts and stuff is how much they remain the same over time, down to the bit. In phylogenetics, the passing of time is measured by the molecular clock - the accumulated mutations that are constantly happening.
In a game I'm reversing right now there's an arial8.tga which struck me as feeling completely timeless, or out-of-time. The game is from the year 2000, but this exact file could have appeared in any game over like a 40 year timespan.
Perhaps even longer. Arial dates back to 1982 and was meant as a metric-compatible lookalike for Helvetica which dates back to 1957, and is based on 1898's Akzidenz-Grotesk ; but of course at that time, filenames didn't yet have extensions.
The Golden Apple in Beneath Apple Manor was an actual Apple II drawing, with basic running in the little screen. I wonder what happened on the IBM version?
It draws you a 'Golden IBM PC' - and then the screen goes "well green, anyway"! At least if you're running it on a monochrome board (where it evidently expects that you're using the green-screen 5151 monitor) - haven't seen the ending in CGA. :)
It was posted to HN twice with 0 comments so I figured I'd mention it here.