3

What is the different between a character set and a graphic set? The wiki is confusing.

The wiki says about character sets: "A character set is an image in BMP or PNG format that contains the 256 different tiles, corresponding to the IBM Code Page 437 (sometimes called Extended ASCII), which are used to display the main graphics."

Then it says about graphic sets: "Character sets only change certain graphics, while others are left out. The confusingly-named....." Wait, first the wiki said it contains all 256 characters and then it said it doesn't?

Explain the difference to me.

  • 'Character set' as a term comes from the olden days when computers had various 'text mode' displays. For example the original PC had a 40 column by 25 line mode, and each of the screen cells in that could contain one 8x8 character. The 'font' that determined what those characters looked like was often based in hardware, and usually had all the alphanumeric characters plus signs, punctuation, a few with accents and so on. On computers where this was the only type of display, and you couldn't produce 'graphics' at all, or you could but not quickly, many games were forced to use these instead ... – Alan B Jun 25 '14 at 8:33
  • ... and games like Dwarf Fortress do the same to give them a retro feel. – Alan B Jun 25 '14 at 8:33
3

Character sets contain "all" 256 characters, but that isn't all the variety that's possible in a graphics set. A graphics set can, for example, set different graphics for a miner dwarf and a fisherdwarf, which would be represented by the same ASCII character.

  • So, the character set contains all characters, but some items share the same character (represented by EXACT same image) and graphics set can make things that would use the EXACT same image, use different images?? This still means that character set has all images, using same icon (different from default) to all dwarfs means you changed all icons, just because you changed them to same icon this doenst mean you didnt changed all "icons". Also according to your explanation character set is just a graphic set that the designer decided to share icons for different stuff. – monterei Jun 24 '14 at 13:14
  • @monterei Yes, pretty much. From the perspective of the user, a character set and a graphics set combined make a complete graphics set (and are normally bundled together). If you're making your own graphics pack, you do need to think about whether each graphic goes in the character set or the graphics set. – Brilliand Jun 24 '14 at 15:41
3

The difference between the two is that they are used in two different "modes" of the game, with a graphics set having much finer-grained control over the visual display.

The original, default display mode for Dwarf Fortress is to emulate the look and feel of a traditional ASCII rogue-like, by using only the 128 standard characters from the ASCII character set plus 128 "extended" characters added by IBM to their Code Page 437, which most MS-DOS-based PCs used (and most English-Language Windows PC's still have as their "OEM code page").

Technically, in its current form, it's not really an "ASCII" game -- it's not printing text to the screen based on the system's code page. Rather, it's drawing glyphs from a "character set" file, in which the default glyphs exactly match the IBM CP 437 set:

Default Square 16x16 character set

However, you can replace these with your own character sets, by swapping out cells in the image table with your own. They don't need to look like the CP437 glyphs, but the position in the table still corresponds to the ASCII value used by the game, meaning even the rendered text will change if you do this:

enter image description here

Note, in this image, some of the punctuation, plus the upper-case X, look different than you'd expect. In places where the game prints strings of text, those changes will show up. (This is a problem with some character sets that replace lower-case letters with other things, making it sometimes hard to read the text.)

Alternatively, you can switch the game into graphics mode by telling it to use a graphics set, but only for creatures. In this mode, the game no longer just picks one of 256 glyphs to display things with, but rather, uses a much broader set of tiles that reflect more of the characteristics of a given creature. In this case, the creator of the graphics set provides one or more tables of graphics tiles, plus a set of index files that tells the game where to find a tile for any given "raw element". For example, the popular Phoebus graphics set has a 12x21 table (not entirely full) just for humans:

enter image description here

and similarly dense tables for goblins and dwarfs, plus a few extra ones for other creatures/monsters/animals/etc.

It's important to note that graphics sets can only replace the tokens used for creatures. When rendering things like plants and buildings and objects, the game still uses the glyphs from it's character set, so typically, you would have both a graphics set and a character set, from the same third-party source, in use at the same time.

  • Thanks for all your answer. "[...]important to note that graphics sets can only replace the tokens used for creatures. When rendering things like plants and buildings and objects, the game still uses the glyphs from it's character set, so typically, you would have both a graphics set and a character set, from the game third-party source, in use at the same time." On many cases (and even the first guy that answered here said) people say that you can just download a graphics set and have the full thing, and you explained very well saying its not the case. – monterei Jun 25 '14 at 12:40
  • well, typically a "graphics set" will include it's own font file as well, and the intention is that you use them together, so people just consider the entire "package" a graphics set. – KutuluMike Jun 25 '14 at 14:26
  • 1
    It's probably good to note that most character sets which do replace the A-Z/a-z/0-9 sections do so assuming that TrueType fonts are being used to ensure that text is still legible. – user66184 Jun 25 '14 at 16:06
2

A character set contains always 256 tiny images, each representing an ASCII character. This is meant to substitute the current character set where "d" means a dog for another one with a different style of "d" being a dog. If using a character set, you can distinguish a miner from a jeweler because the first is white and the second is green, both being the same character.

On the other hand, a graphic set may contain some images or a lot of them, intended to replace characters on screen. It does so because it contains not only images, but also rules about when to use each image. In this way, you can distinguish a miner from a jeweler not because the colour, but because each one uses a different image (a face with beard and a pike, and a face with beard and a jewel, e.g.) so you can end with more than 256 different images on screen.

Some graphics sets replaces only a few characters for images (one by one or one by several by using rules), and some replace the whole set of characters.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.