 <p>If your goal is to make a game per se with the requirements of developing on OSX and running anywhere it's sounding a lot like Unity3D would be a good match. On this path you'll end up coding in UnityScript and or C# probably. It gives you a lot of tools in a package and it's popular in games development circles. So it sounds like a good match for you too me. </p> <p>If you just want to learn, you can use whatever language you like. Something fairly popular if you want readily tranferrable skills. I wouldn't worry too much about performance if you're just learning concepts. Languages are a dime a dozen and most will teach you a strong basis to build on.</p> <p>If you want to become a professional games developer for a big name studio working on consoles you might want to consider learning some C or C++ - particularly to understand memory management, pointers and some other low level concepts. </p>