首先,别的都不管,一定要先学精以下数学科目:线性代数、空间解析几何、微积分。都要学到比较深的程度,千万不能囫囵吞枣,否则往后的压力会越来越大。现在本科的内容其实不够的,例如quaternion你在课本里就没学,但游戏里绝对用得多。还有,课本里大概也不会教你怎样判断任意两个多面体是否相交。这些都要靠自己多钻研、多琢磨,不能满足课本内容的。
然后,看你是侧重图形、物理、还是AI方向。
图形方面,其实基本上就是几何和光学问题,关键是熟悉API(DirectX或OpenGL)。如果想获得尖端效果,则要先学一些光学基础,然后才能进入可编程Shader的美妙境界。
物理方面,本人经验太少,只能说:这真的是太太复杂了。AI方面:本人也没经验。就不多说了。
最后才说C++编程:其实C++编程这东西真的很奇怪。我们先是在课堂上学了一套东西,然后实际开发的时候人们又会告诉我们那套东西是不能用的(理由一般就是性能低啦、不安全啦,等等),反正又得学另一套东西。搞C++特别是游戏的人,都有一种近乎病态的完美主义倾向,企图用目前并不完美的语言工具实现完美的目标(最典型的病态就是那个const,什么都加const,其实你就算加了const,人家用强制类型转换,一样可以转成非const)。还有那个指针,如果你真的用CObject *pObj这样的形式,肯定要被人骂。他们要用所谓的“smart pointer”。诸如此类,都相当变态。
其实真的要做AAA级的游戏,简直就和强迫自己开发一套操作系统、加上一套程序框架、加上实现绝大多数的数据结构和算法一样痛苦。
为什么那么痛苦那么麻烦?想想:做一个游戏,本质上就是想用有限的资源模拟出无限的显示世界,而创造这个复杂的世界是上帝才能胜任的事情,那你想模拟它出来,不就是要和上帝竞争吗?(本人不信教,呵呵。)
当然,如果你只是满足比较不那么出众的游戏,或许并不用那么痛苦,随便拿个所谓的“引擎”过来用就行。或者用C#,也可以吧。
C语言编程,这是基础。
如果可能的话,把《离散数学》,《数据结构》,《操作系统》都学一下,对将来编程水平的提高非常有帮助。
然后做游戏的话建议最好是学习C++和VC++,这个在游戏开发应用方面比较广。
当然也可以学习Flash,这个可以做Flash游戏,不过和编程好像是两个东西。
再然后就可以学习用于开发游戏的OPGL编程或者是DirectX编程。
再往下还要学什么就需要先看你的工作处于游戏开发的什么岗位而定了,本人也曾想过开发游戏,但与之无缘,所以知道的也仅此而已了。
学习软件编程是一个漫长而痛苦的过程,需要持之以恒的耐心,千万不能急于求成。对于一名初学者来说,最重要的还是打好基础,建议从C语言开始入门,C语言作为基础语言,大多数的高级编程语言都是在C语言的基础上演化而来的,学好了C语言,有助于掌握其他的高级语言,并掌握软件编程。
SQL Server2005数据库设计和高级查询、数据结构、C#面向对象程序设计、HTML5与CSS3开发、JavaScript、jQuery高级编程、PHP开发、软件工程、JAVA面向对象程序设计、J2EE服务器端高级编程、APP应用程序开发、oracle数据库、Android应用开发等。
现在多数游戏都用java吧,如果你有志向向网页游戏发展就学ActionScript码