I want to start small with 2D and work my way forward.
It would mostly just be a learning experience to start so I don't need anything overly complex. 🙂
Note: Thanks for moving this and sorry for putting it in the wrong board.
Ok, well that doesn't help a lot. Example: You could use the sprite kit built in Xcode and do 2D, or you could use Unity and do 2D. Using Unity will lead to 3D better than sprite kit would (if sprite kit will/does even offer 3D)
The point is that you need to focus on long term because learning to program is a long term investment.
We have a TON of people come here and say "I want to make games" and most fail when the realize there's real work involved because they have to learn computer programming. ... I'm not saying this is you, it's just most.
If you focus on the long term by learning a tool (language / game engine / etc...) that will support you long term, you'll be much better off.
It's like taking the time to learn French when you really want to learn English, why not learn English from the start?
This isn't to say learning Sprite Kit is a bad idea, you might end up making 2D games for years and end up loving it. Sprite Kit might support everything you end up wanting.
Worth the time to do some homework to find what tools are best for you.