DirectX is good, coz it's very fast. But the point is that you should know about general game programming first. Will be the best if you make some 2d engines first, they may be in DX but it's not that important (coz you can switch easily the graphics renderer)