views:

122

answers:

1

For my hobby and self-employed work I write games, and as of now i've only targeted Windows.

I want to break the chains that bind me to windows (and also important: .NET) but I do not know which language I should use primarily for writing 3D games , I want to use DirectX on windows and OpenGL on linux so there should at least be a way to use those frameworks in the language, and it should be fast. (ie Java would not be suitable for a good looking pc first person shooter or MMO in my opinion) . Compatibility with existing rendering/game engines does not matter.

My background:

Main coding language: C#

I also have experience in Java (writing an android game) , Lua , and also some web languages but that's not important.

My personal criteria: - Run on Windows and Linux (directx,opengl support) - Have a Garbage Collector - I want to avoid using pointers - There should be a decent IDE for it in linux and preferably also in windows - Object Oriented - available libraries (first or third party) which include things like IO , XML , Networking (like .net).

I have seen the Mono project, but I want to move away from the .NET platfrom and propietary languages as much as possible.

I would greatly appreciate advice and stories based on your own experience..

Please refrain from turning this into a 'which programming language is better' discussion, it should ideally be a list of experiences which would allow me and others to make our own conclusions.

+3  A: 

If you want to use OpenGL in Linux and DirectX, then you will need to use an already existing game engine (that, in my opinion, is actually a good idea). Not being a big studio, the amount of options is limited, and I think your best bet would be to try Unity.

http://unity3d.com/unity/

The nice thing about Unity is that you would be able to target not just Windows and Linux, but Mac, iPhone, Android...

And you can actually use C# to program the behavior of the game, so your current knowledge will be useful.

salgiza