2008
11.19

Pixel level grayscale graphics

Ok, Jotaf’s idea has just left the world of vapourware.
Here is the first shot of a greyscale bitmap dynamically mapped to unused ASCII codes and printed on the console.

Right now, the portrait is a placeholder shamelessly ripped from faceyourmanga.com. As you can see, it works pretty well and we could almost think it’s actually colored, but it’s displayed using the same color as the text next to it (a very dark brown) and the different colors are the result of different alpha values. Of course, this only works if you use a 32 bit font, as a 24 bit font has no alpha layer and could only produce monochrome bitmaps.

Of course, now I’ll have a hard time trying to convince people that this is a text-mode game…

Yeah, I know… Doryen’s dwellers have a strange way to say hello…


Now, the question is… Will I be able to do decent graphics for the procedural portraits system…

7 comments so far

Add Your Comment
  1. Really impressive!

  2. Well. I think this really kills your concept that was once good and new, but is now “overdeveloped” and loses its uniqueness. As somebody else already wrote, it turns more and more into a general game library — which would be only one of many.

    On the other hand, of course nobody is forced to use the extended graphical capabilities.

    I, at least, am currently looking into libtcods documentation in order to learn how to use it in a non-roguelike rpg project.

  3. I wouldn’t go so far if I was you. There is still no concept of “sprites” in the lib, this is merely a hack of the customizable fonts. It works well for a limited number of still images. But if you wanna use it for an RPG, you better forget smooth animation, movement that is not locked to a grid, more than 2 colors per tile, and many other features. You can’t take it away from the base console concept: a grid of characters, 2 colors per character. So, no RPGs (yet).

    Anyways, AFAIK portraits are the only actual graphics in TCOD, so if it steps on any purist’s toes it wouldn’t really hurt the gameplay if they’re optional.

    However, *my* RL will have special characters for any effects that I think are worthy. I don’t mind. Crap, do we have to put up with the original ASCII set? How about the extended set? Aren’t the guys that use it cheating? It’s got lots of characters that no one recognizes anyway, so what’s the point of sticking with them and not make up your own. I want my sword slash to resemble a sword slash. It won’t be a pretty 3D ray-traced over-saturated dynamic animation, but the movement and shape will be enough to trigger the player’s imagination. Superficially, roguelikes are all about the mighty ASCII. Under the hood, they’re about symbolic representation.

    Portraits would be an imagination *helper*. Not an imagination *killer*. You still don’t get to see your barbarian smashing two orcs in the head with his axe.

  4. When I saw that screenshot I thought “what the fu–?” (yes, those words escaped my lips with some odd laughter) and was thinking this was a belated April Fool’s joke… I had to wrap my mind around it while wondering if you had frankensteined together some freak of nature. I never saw this one coming even though you used bitmaps to render images into “ASCII pixels”.

    Don’t worry about it not being a text-mode game. It’s a text-mode game with graphical story elements. There are some things you can’t properly describe with words, letters, pictures, numbers, or imagination alone; there needs to be a push to reach out to your audience. Look on the bright side: At least you can avoid 2ch/4ch ASCII art for avatars ;D

  5. Yeah. Indeed, the library is far from being a general game library and will never be.

    Now, it is what its name says, only the base classes used in the development of The Chronicles Of Doryen. No more, no less. And everything inside the library is really something I need in the game, so I guess other might need it too.

    My only goal is to make the best game possible, without using artificial limitations like ‘using only alphanumeric characters’ or ‘using only 16 colors’. I chose to do a text-mode game not for the geeky satisfaction of having a screen full of letters, but because text-mode gameplay, in the context of a roguelike, is superior to graphical gameplay. I discovered this while comparing ASCII nethack with the graphics versions. The ASCII version is so much clearer, more readable. But I also want TCOD to be playable by players that never played a roguelike, so I try to improve visual appealing without losing that ASCII clarity.

    Moreover, TCOD will not be only about fights and leveling. It will feature storytelling, and I find it impossible to do compelling storytelling with @ characters. I think portraits, even basic ones, are necessary for the player to care for the characters and really get interested in the story. Else, he will only skip dialogs.

  6. “I think portraits, even basic ones, are necessary for the player to care for the characters and really get interested in the story. Else, he will only skip dialogs.”

    No, I don’t think so. What about interactive fiction / text adventures? Lots of text, often lots of dialogs. These things create interest by their textual quality — so if you write good dialogs and a strong story, it will be interesting, regardless of character graphics.

    By the way, I am not against the mixture of graphics with ASCII — I did that, too, in former versions of LambdaRogue. I just think it does not fit into the lib concept.

    @Jotaf: Interesting how you define RPG: “smooth animation, movement that is not locked to a grid, more than 2 colors per tile”

    By RPG I meant: non-roguelike, e.g. no random maps, emphasizing a strong story, no permadeath, complex battle system etc. — but still ASCII or tile-based.

  7. “so if you write good dialogs and a strong story, it will be interesting, regardless of character graphics.”

    People that write interactive fictions are talented authors. Unfortunately, I not that talented in my native language, and even worse in English, so portraits will help TCOD players to get a bit more involved in the story.

    “By the way, I am not against the mixture of graphics with ASCII… I just think it does not fit into the lib concept.”

    I agree, but this is not a mixture of graphics and ASCII. I’m only pushing the custom bitmap font feature to its limits, for the benefit of the game. I think dogmatism has no place here. Everything that can improve the game and can be reused in other games has its place in the library. As you said, having more features in the library does not keep you from using it in a more restrictive way.

    “By RPG I meant: non-roguelike, e.g. no random maps, emphasizing a strong story, no permadeath, complex battle system etc. — but still ASCII or tile-based.”

    Yeah, I think TCOD also falls in this category, since it breaks several founding rules of roguelikes (especially turn by turn). If you choose libtcod for your new project, I’ll be very interested to see what you’re going to do with it 🙂