Wednesday, August 27, 2008

news from libtcod 1.4.0

I've been trying to port libtcod to SFML for a few weeks, but I think it won't be done for the 1.4.0 release. Some SDL features are not yet covered by SFML and even worse, I've got terrible performances with the SFML DrawSprite/DrawShape functions. I didn't do a benchmark, but they're apparently much slower than SDL BlitSurface/FillRect. The first implementation uses the same algorithm as the one used by SDL and while I have 115 fps for the first sample with SDL on libtcod 1.3.2, SFML is stuck at 2 fps... The 1.3.2 does 4000 blits per frame... Pretty intensive.

The good news is that I improved the SDL renderer and I get 170 fps on libtcod 1.4.0 (only a few hundred blits per frame for the first sample).

I'm currently working on the heightmap toolkit. This one won't have a sample but a standalone program to test it : the hmtool ! With it, you'll be able to design your terrain by hand and then get the code to rebuild it from scratch in your roguelike. It's far from being a professional terrain building tool, but it has some nifty features, like the rain erosion function :

The tool is still very basic. Maybe I'll improve it in further versions...
Anyway, things are going pretty smoothly and libtcod 1.4.0 will probably be released during September, maybe with arena 0.8 !