Thoughts about C++ & SFML

If you don't know C++ well, why have you chosen it? C++ is not a simple language; contains a lot of concepts which are difficult to grasp at first, and may at any time be forced on you by a library you choose to use (e.g. const correctness and pointers, generics and static const typing, etc); it is a comparatively difficult language to debug (e.g. segfaults, having to connect something like GNU debugger if you go the Unix route etc); and the primary advantage of C++ over other more convenient languages would be things like speed, which is pretty much totally irrelevant for roguelike game development.

If your only goal is to create a roguelike, and there is no particular reason you chose C++, I would personally strongly recommend that you use Python and libtcod. Python is a very friendly language with excellent library support, readability, design and features in general. It is also possible to go straight from the libtcod and Python tutorial to a serious roguelike (I believe that this is how Ultima Ratio Regum started out!).

You may also consider using libtcod with C++ instead of SFML. If you decide to use SFML you will have to spend a lot of time re-implementing a lot of routine roguelike functions - and perhaps the biggest lesson I've learnt in programming is that re-inventing the wheel is not only a waste of time, but is the most effective way to end a project before it begins.

Anyway, if you're set on SFML and C++ I'm afraid I can't give you any specific information about SFML, as I have never used it. I have personally always used SDL for C/C++ game writing needs (if you haven't seen the SDL library, I would recommend at least taking a look at the SDL 2.0 library - it is extremely well made in my opinion, and usually people seem to favour it over SFML when the two are compared, at least when I've seen that come up in forums - obviously there are some who favour SFML, too).

/r/roguelikedev Thread