4 hours ago, adamhuman said:
well as i heard before c# is kinda limited when it come to graphic and rendering
That is patently untrue. I've been doing this kind of stuff in pure C# off and on for almost 15 years now, and performance is not an issue, especially for 2D games. Frankly, the kind of performance I bet you think you need requires quite a bit of effort even in a native language like C++. If you insist on going down this path, realize your world is going to get quite a bit more complicated by merging the C#/C++ world together, so a look at C++/CLI might be beneficial. That said, I would definitely not recommend you try and mix up the languages like this.
4 hours ago, adamhuman said:
1 - one of the benefits is to avoid writing the same code from scratch over and over that's why the engine come in handy
The same could be said by using Unity or Unreal.
4 hours ago, adamhuman said:
2 - its a passion , something i want to do
I get that. But ask yourself, what do you really want to do here? Do you want to make a game? Or do you want to make a rendering API and/or Engine? For myself, I don't care about the former, I gave up on that when I was in my 20's. But I do continue on building the latter even now in my 40's because I find it fascinating and fun for learning, knowing full well that I will almost certainly never make a game. Knowing where your objective is makes getting there a lot less frustrating.
4 hours ago, adamhuman said:
4 - i don't feel comfortable using other people engines no matter how they good
I'm going to assume based on this statement that you have very little experience in real world programming. But if you feel this way, you'll never function well in a team, or even using any API that you didn't write. You need to break yourself of this "not written here" mindset, that way lies madness.
4 hours ago, adamhuman said:
7 - im tired of the 99 mile page all about complicated User Agreements and term of service of other engines that limit my market
Given the bullshit surrounding Unity the last couple of weeks, this is entirely understandable.
4 hours ago, adamhuman said:
8 - i like to modify and add specific futures to my engine in a way satisfy my needs in any time i want so i don't feel tied waiting year or 2 to get other people adding them in their engines
That's a good reason. But you need to ask yourself: What do I need to implement that isn't provided by another engine? Can I implement it using the other engine (FYI: the answer is yes more often than not)? How do you know you can't do what you need in the other engine without having tried it?
It's all well and good to want to learn, and write a bunch of stuff, but you also have to set realistic expectations and mixing things up like this is likely going to end in frustration. If all you want to do is plop a few sprites on the screen and have them pew-pew at each other, then you can do that in any number of engines without much work.
If you insist on writing code to build up your game/engine/whatever, then pick a single language that you're comfortable with, pick up an API (MonoGame for C#, SDL for C++, etc...) and play with it until you see some results. The benefit with both MonoGame and SDL is that they're open source, and as you get more comfortable with using them, you can crack them open and see what makes them tick, and then you can think about writing an engine or whatever.