Thank you all for the suggestions everyone! (every opinion is still welcome)
All of you basically ask me the question that I'm asking myself: "What is your game!?"
To be honest there is no game, I have a few ideas that fly in my head for a game, but I don't feel that any if them is the way to go for some reason(mostly because they are a rip-off of other games with(which should be OK now that I think about it, but still...)).
Probably the technologies I'm using(as said above I'm writing a general "purpose engine" in C++) are slowing me down, because there is actually no excuse why I haven't developed a prototype for any of these games.
The reason for that I think is that I really prefer to write everything myself, I know it is a stupid idea(and again at work I really don't mind using libs), as every person I like to be familiar with every line of code in my project. The good thing about writing everything yourself is the ability to "change and twist" the library. For example I cannot imagine replacing my d3d/gl wrapper with BGFX. I really do not like it, mine is theoretically better, just not as mature as BGFX...
But as asked above why supporting both d3d/gl?
Again as someone said above "just satisfying the lust of coding"... The idea is to be able to support as many platforms as I can, so I've started writing OpenGL for Linux, I was tempted to support Linux because ... hmm the reasons now sound a bit stupid but here there are:
- Eventually I want to be able to use all the valgrind and memory sanitizes (and i really doubt how often I will benefit form these, and if is going to be beneficial)
- It is a way be prepared one day for other platforms like MacOS, iOS, Andorid or even the big guys Xbox and PS, nintendos and ect - I always new that preparing for Xbox and PS4 is a stupid idea - (I actually never had any of these systems)
- for some reason I fell comfortable when my code compiles under gcc and clang
- a friend encouraged me to do so (lame...)
But for some reason being able to compile under Linux make me feel good, it is no longer an issue (except that I have to maintain the OpenGL port(and i really hate OpenGL).
Maybe I should swallow my pride and learn a new tool that will help me prototype those few games that I have in mind. I really know that this is the right thing to do, but as a programmer I want to write these myself...
I have to reevaluate my priorities, unfortunately I'm biased to write everything(ok not everything but...) myself in C++.
Knowing all that I feel pretty stupid.