So I've started making a creature graphics pack.
The reason: I want to start playing the game using ASCII, but I like how extensible the creature graphics are. Without them, you can't properly differentiate between child and adult, undead and normal, and so forth, and a lot of creature share the same letter/color combination, even in the same biome.
On the other hand, graphical creature packs tend to look ugly sometimes (your mileage may vary, I guess), still have difficulty differentiating similar-looking creatures (lion vs. giant lion vs. tiger vs. leopard vs. giant tiger vs. giant leopard?), and at any rate, simply don't mesh well with an ASCII tileset.
So I decided to try my hand at a compromise, as I've mentioned before on at least one other thread, at some point.
The compromise: Pseudo-ASCII graphics made using a combination of two letters per tile, with use of some tricks to increase the information-density of each tile. Normally, all you have is character, case of that character, and color, but with two characters, you have both, the color, and the case of each one, exponentially increasing the number of possibilities. Also, since it's not really ASCII, you can throw other stuff in there as well, which I'll get to.
Basically, I've gone with a formulaic system of sorts.
Each creature has one of each of the following pieces of information associated with it:
- Creature type
- Adult / Child (babies usually aren't required; see below)
- Normal / Zombie / Skeletal
- Normal / Giant (giants are technically different creature types, but it helps to associate a creature with its giant version somehow)
How the formula works is as follows:
- Creature type is determined by the letters (not their case) used and their color.
- Adults have a capital first letter, and children have a lowercase first letter.
- Non-undead have normal characters, zombies have diacritic marks applied to the bottoms of the letters, and skeletons have diacritic marks applied to the tops of the letters (sort of weird, but it should get recognizable and it's not a huge issue). On some letters (say, lowercase "q"), a diacritic at the bottom won't fit, but that's okay because there are two letters to work with.
- Giant type creatures are the same as their normal counterparts, but they get an uppercase second letter.
So the majority of creatures just have fairly normal-looking symbols sort of like chemical elements: a dark grey "Gn" for a typical dark gnome, a bright yellow "Lp" for an adult leopard, etc (a leopard kitten would be "lp", a giant leopard would be "LP" and a giant leopard kitten would be "lP", which all looks better when it's in a decent monospace font, trust me).
I could easily also incorporate some other basic conventions. For instance, maybe all the animal-men get "m" as the second letter, and nobody else does, just as an example of being consistent. Some things might be tough, like finding letter/color combinations for the absurd number of sharks and gibbons. There are few enough gibbons to maybe use colors in order to do it, but there are way too many sharks to do that, so I'll probably need to give them different letter combinations too, unfortunately. Maybe I'll have them all start with "S", for instance, and make sure they're the only sea creatures who do.
Here's a basic proof of concept:
(100% magnification)
(200% magnification)
From top to bottom, left to right, we have alligators, sasquatches, lions, giant lions, dark gnomes, fire men, giant eagles, and blizzard wolves.
In order from left to right, each example has the normal version, the zombie version, the skeletal version, and the child version. I didn't make mockups of weird stuff like zombie children (I'm not sure those even occur), but if they're necessary it would be easy enough to do.
I used Terminus Bold at 12pt as the font for these, because it's the best one I could find. Unfortunately, they tend to run up against the side of the tile too much for my taste, but I'm not sure how to fix that. They don't really collide into each other, at least, because even though they tend to run into the right side of the tile, there's always room on the left.
The giant lion cub graphic looks a bit weird because it's a lowercase "l" mixed with an uppercase "I", and although they are differentiable in that font, it looks slightly weird. I could always just change lions to "Ln" though.
Most of the diacritics I end up applying by hand, since they tend to be unavailable for the letters I need. Not a big deal.
I have no idea how I'd handle babies, if I decide to mess with intelligent creatures' graphics. Maybe I won't mess with them at all; they'd stand out, but then again, they deserve to, and they wouldn't conflict with anything since even if elves are still "E", elephants are something else anyhow.
I also don't know how I'd manage professions; I've never played without creature graphics applied before, so I don't know how well the color-coding works. Do babies and children get their own color code? If that's all well and good, I might just leave it as-is.
There are also some other cases where you want things to stand out, like megabeasts and demons. Maybe I can just keep those as-is too to some degree, but I don't know how weird that would get in the next version.
If anyone has any comments or suggestions, I'd like to hear them. Another font suggestion, suggestions on how to otherwise differentiate things, pointing out anything I might have missed, etc. Or just tell me it looks like trash, but be gentle.