title: Graphics API for Game Development
body: <p>Well, I've researched a lot and have come to a basic conclusion on APIs: as it seems the API choice for learning doesn't matter that much, as long as you can really learn 3D programming, or so it seems.</p>
  
  <p>My background/current fields of study:
  I have a sort of solid background on programming, algorithms and object oriented designs.</p>
  
  <p>I have made a few 2D games: using XNA(C#) and allegro 5(C++), I even wrote a sort of small framework for a few 2D games I had to make for a course (using allegro) to speed up my game making process, so I am quite familiar with the basic concepts of game logic and game loop structure.</p>
  
  <p>I have made a very few experiments with 3D using XNA, just got the basic idea actually.</p>
  
  <p>I have a basic, but solid, knowledge on Linear Algebra and Calculus.</p>
  
  <p>I am currently studying Artificial Intelligence, Machine Learning (to be more specific, in case anyone wants to know: rules extraction for relational databases using Markov Logic for a reading system), doing some research in this field right now.</p>
  
  <p>Well, I love games and have a lot of fun with game programming especially AI and game logic.</p>
  
  <p>I want to move to 3D game development now, and even though I don't really want to work too much on the graphics programming and stuff, I want to have the knowledge (well, I'd like to know what's going on and how to take advantage of that: if I want to write some good AI for 3D environments I need to have a good idea of how to deal with it).</p>
  
  <p>I just started (today) reading the examples and documentation of Direct3D (9 and 11) from what I've read if I'm going to learn DirectX I should go for 11 if low-hardware compatibility and XP users aren't my goals.</p>
  
  <p>I'd like your opinion on whether I should use DirectX or something like SDL/OpenGL/OpenAL I have nothing against none I just want to know which would be better for someone who wants to focus on some new AI for games and game logic. I will be using C++/Python for the games, some C#/XML for some tools and such. Well I'm basically going to be developing stuff in/for a windows environment (nothing against linux or something - I use linux for some of my AI research  for some of the software I use).</p>
  
  <p>Well I hope I made my question clear, and thanks in advance to anyone willing to help.</p>