第一,大型网络游戏首选语言是 C/C++ 配合ASM才能达到网络游戏满足的性能需求, C#基于.Net Framework 目前不可能制作过于庞大的网络游戏,单机游戏更是不可能(性能要求相当高,.Net解释性语言目前无法胜任),目前游戏引擎也都是基于C/C++开发的,一般脚本语言使用的是Lua,在语言上,一般采用原生态C++语言,也就是说直接使用ISO C++ 99标准直接开发,调用API,而不使用MFC.STL,等库,C++效率与C的效率为+/- 5%的差距,所以可以忽略,而C/C++与OpenGL的兼容性(OpenGL原生态就是C写的),所以,目前以及未来 甚至冯诺伊曼体系结构没有被打破的情况下,C/C++ 和ASM联合开发游戏还是不二的选择,当然 扫雷这种 小小小小游戏例外,这个 。。 不在我说的范围之类。
第二, 好一点的游戏不会使用3D MAX作为建模工具,一般使用的是MAYA , 因为MAYA的渲染比3D MAX强大,一般 3D MAX主要用于建筑建模, 而MAYA用于动漫以及游戏建模,同时,好一点的ACT类游戏的动作并不是完全使用MAYA做出来的,而需要实景采集仪采集动作演员的动作而作为骨骼的参数,然后采用MAYA优化,才能达到逼真的action,所以,游戏是一个庞大的工程,一个人确定方向,学完是不可能的,游戏是一个学科,可以确定你是美工,编剧,还是程序员!如果是程序员,MAYA做掌握,首先,你要有雕塑级别的美术功底,你可以选择深入学习MAYA,否则,不要为MAYA 花费太多时间!
第三 OpenGL和Direct3D 你想用那个就用那个。这个争论没有必要,就好比 JAVA与C#的区别之争。没必要,OpenGL开源,Direct3D不开源,OpenGL使用简单,Direct3D基于COM/COM+组建,OpenGL与C/C++完美兼容, 如果对3D实时渲染要求极高,建议使用OpenGL而不采用D3D。