I think we've lost sight of what snarky means. There's no sarcasm involved here.
Literally, Dullard spent a month and a half trying to improve the graphics, and the result is a candle removed from one photo with the magic wand function in photoshop and shopped into the title screen, then it was colorized green without even masking the flame to keep it orange. Show me the snark here.
I can't blame anyone for feeling frustration with the lack of progress during that month and a half (certainly I felt quite a lot of frustration myself), but I have to point out that your understanding of the outcome is, quite simply, incorrect.
The problem was that drawing directly to the SDL surface was impossible due to the fact that Pygame does not expose its SDL surfaces in any useful way. I tried everything I could imagine to *get* it to expose those surfaces, but eventually I realized I could keep beating my head on THAT particular wall forever, and nothing was going to happen. So instead, I decided to make libtcod behave in ways it wasn't supposed to.
Libtcod has its own set of problems; though jice (bless his heart, he's an awesome guy) has recently added color support, I ran into two particular hurdles. One was that the library still only supported a limited number of characters, since it was originally designed to work with a 256-character ASCII framework. The second was that even though I could use a larger 'font' set and map the additional characters out on an individual per-call basis, because libtcod simply isn't designed to work with that many color characters, eventually it would glitch and draw the color data incorrectly. Also, although I could map out, say, twenty different characters to the 255th character slot, if the screen went through a redraw cycle (say, if I blitted a console on to another console), all twenty characters would come out as the same thing, because the renderer was going 'okay, character 255 looks like this - so all twenty of these characters look like this'.
So, I came up with a scheme wherein the game reserves a single character number for each console layer (and I can have 255 layers - more than I'll ever actually need, obviously). Each time I print a character, I print it with the same ASCII character number for a layer (so, say, the layer that handles weather effects will only ever use character 189). And I never actually redraw any given console layer; if I want to 'wipe' it, I print blank characters to every coordinate in the console. By preventing the layers from ever redrawing themselves unless I tell them to, I prevent the library from writing over a character which is no longer stored in the ASCII slot, so I can use as many characters (color, partially transparent, or black and white) as I want.
Complicated and headache-y, yes, but it works fantastically. Just to give you an idea of what I mean, here's a font set from before that month and a half, and one from this week:
Now, I'm still in the process of redoing all of the existing 'graphics' (as you can see, some of the original tiles have not yet been redrawn - that's because, in my excitement at the prospect of actually being able to add as many new tiles as I wanted, I immediately spent the past several days making new tiles for landscapes rather than converting all of the existing characters). The handy thing is that I can make this 'font' set as big as I want to; it's still only a few hundred kilobytes in size, and I operate the printing functions by configuring the location of every tile in the 'font set' upon game initialization. I never print strings, I only print individual characters (though I've written code to emulate the printing of multi-character strings so I don't give myself a migraine every time I want to print text to the screen).
And yes, I realize I'm no DaVinci, but I think this will satisfy the 'things look the way they are' condition that Neonivek mentions above. And one day I still hope to be able to hire an artist to redo all of my 'programmer art'.
As I recently mentioned on the Cult forums, I'll be releasing a slew of new screenshots within the next couple of weeks. That's because within those two weeks I'll finally get all of the terrain and architectural graphics (even if they're only temporary) into the game that I've wanted in there for several months. The trees, boulders, and so forth (I purchased some of the tree graphics from a firm that specializes in providing graphics to architects, so I can't claim credit for all of them, though even those ones have been altered) are just the start. That tileset will probably be ten or twenty times that size eventually, since it will contain all of the graphics. Happily, this doesn't result in any slowing down of the game except for a slight pause upon startup (tested with a very large random image), and even with a file fifty times that size we're still talking small beans when it comes to what can be stored in RAM. So, for all intents and purposes, I can do whatever I want with it. I *am* still limited to drawing on a tile-by-tile basis, but I can deal with that if it means I'm able to include whatever graphics I want (and not just for terrain, but for creatures, buttons, the interface in general, et cetera).
While the misunderstanding is entirely understandable, I want to correct it. No, I did not spend the last month and a half recoloring an image; I spent it beating libtcod to death with a Club Of Stubborn Insanity so that it would do my twisted bidding. That said,
this is exactly why I went temporarily reclusive (not that it was a smart idea) - I really didn't want to spend my time going around every corner of the 'net and correcting the numerous misgivings and internet wise-guy remarks I'm sure I could find if I felt inclined to look, because at the end of the day, it's a waste of my time. Especially because these kinds of explanations usually take some time to think and type out. My time is much better spent on making as much progress as I can, which means hacking it out with code and (now) making things look as pretty as my limited aesthetic sensibilities allow me to. What I failed to address was the fact that while every corner of the internet does not require my attention or, for that matter, my giving a rat's arse about it, the community of people that support the project requires both. So, my mistake; I was stupid; it definitely won't happen again.
(Oh, and by the way, the candle thing is probably going to be replaced, too - though I was rather fond of it for a long time for its ugly pixel-ish nostalgia. I actually posted that image to show that buttons and interface changes were made, not a recolor to the image, which was really just an afterthought so that it would match the yellow/green bamboo borders.)