some day I readed this link :
http://www.altdevblo...wn-game-engine/
Big mistake.
That article is for companies that are trying to meet deadlines. Not hobbyists with all the time in the world.
The author has one and only one very specific goal, which is to have a company that produces games in a timely manner.
The article has nothing to do with you.
When we look at Unity or UDK , they exactly do whatever we want.
What we want? They do what who wants? You and me? You and your team?
so why should I write a game or game engine from scratch?
You shouldn’t if your goal is to make games.
You should if your goal is to make engines or to learn about how games are made from the inside.
and will my DirectX knowledge be useful?
Once upon a time I worked at my previous company.
The guy who implemented the collision detection for Super Smash Bros. Brawl joined that company, and everyone thought he must have good skills.
Sunday my (different) ex-coworker gossiped that he has recently been talking to that guy and discovering that perhaps he is not as knowledgeable as everyone thought.
They asked him about how certain techniques could be done and he didn’t know.
Turns out that he has just been using engines all his life and really doesn’t know anything too advanced.
Learning how things work make you a better programmer who is respected more by your peers. These are skills you can transfer to any company.
Just focusing on using engines makes you a disappointment with a set of skills that do not transfer very well. That company is making their own engine which is why they started asking that guy all these questions. Suddenly his ability to use game engines is no longer such a selling point.
Where can I use DirectX?
Wherever you want?
Did it not occur to you that learning is never a bad thing?
Do you only program because the company asks you to?
Are you not aware that you can maintain your own hobby projects on the side while working at a company too?
When you ask these questions, it makes it clear that there is a bigger problem underneath.
You seem to believe there are right things to learn and wrong things to learn. Get out of this mindset. The only wrong thing to learn is that there are wrong things to learn.
Learn everything you can, and stop thinking just about what the company wants.
The company is not your life, nor can you predict what they will want.
Firstly, having a job is just a way of making enough money to have fun with your real life outside of that job.
Secondly, every skill you acquire makes you more valuable to any given company.
Stop asking questions and get back to learning.
L. Spiro