3)what are all the things that we need to design our own game engine?
You need to ask yourself a question: do you want to develop a game? Or do you want to develop a game engine?
If you want to make a game, I suggest you avail yourself of the innumerable free and/or cheap tools available for doing so. Either piecemeal (combining different tools) or whole (an all-in-one solution).
If you want to make a game engine, then I would suggest thinking about the problem for a while. Games render stuff, so you will need a way to render stuff. Games play sounds, so you will need a way to play sounds. Once you get past that, keep thinking about what you need, and write that.
4)how much of a game depends on programming?
How much of filming a movie depends on a working camera? How much of an orchestra depends on functioning instruments?
These things don’t guarantee success. A camera alone doesn’t make a good movie. But you can’t have a movie at all without a camera.