First off, since this is my first post to the forums - Hello all! This looks like a great community. I'm a long-time hobbyist games programmer who has recently decided to take the plunge and produce my first finished game which I hope to market. I've put in a lot of solid work already on a project, but I've currently hit a bit of a wall. It's an issue I'm sure you've all encountered or discussed before, and I've put my 48 hour enforced lurking period to good use in catching up with what has been said here about it in the past. However, I'd like everyone to once more sound off their opinions on the matter in 2006. I'm working on a semi-casual game and I'm still trying to determine my final development language/platform. I initially programmed the prototype in C#/GDI+. My reasoning being that I could whip together a finished prototype in a very short amount of time to test the game concept, and then switch to a more robust language/rendering platform once I had the basic framework and game design fully sketched out. This approach has worked well so far, but now that I need to consider my final product I'm faltering... I really want to keep C# as my base language, mostly for rapid development reasons. However, I can't find *any* recent reports of market penetration for the .NET framework. If I do keep C#, that limits me to either DirectX 9 (and I'm pretty sure the penetration for that is pretty low in the casual market), or OpenGL using something like CsGL (as an aside - could anyone who has used CsGL speak up on it's pros/cons). So, reworded - you're starting development on a semi-casual game that won't near completion for another 3-6 months (before tackling marketing/distribution), and as a first-timer you DON'T already have a bunch of written frameworks/tools or access to expensive ($100+) third party products to make your life easier. .NET or not? C#/DX9 or C#/CsGL? C++/DX or C++/OpenGL? Am I missing other options? Thanks all.