看你要编写多复杂的游戏了,一般一些大型的游戏不是一个人变得出来的。但编写游戏会用到下面一些东西:
AI——人工智能。看看电脑是怎么和你对战的,如果没有AI,人简直没法和电脑玩
美术。你看看那些游戏精美的画面,没有一般的美术功底是做不出来的。
几何。尤其一些3D游戏,如果不懂几何,怎么能算清楚那些物体的相对位置?
物理。加入了物理知识,会使游戏运行起来更真实。
设计模式。一个稍稍大型一点的程序,没有好的设计模式基本是做不出来的。
算法和数据结构。不懂算法和数据结构,很难想象游戏中的数据是怎么保存和处理的。
最后就是一些基础性的东西了,比如C++,Java,Python之类的语言还有一些3D计算的平台,比如OpenGL或directX.
我看过曾经泄漏出来的hl2(半条命2)的源代码(40M左右的纯文本源代码),里面主要是C++和Python。至于它的算法的确看不懂,太高深了。非一个两个人做得出来的。
仅仅学点DirectX或OpenGL+VC就像编游戏?就算编出来也就是扫雷之类的简单游戏,复杂的就不要想了。这种想法是很幼稚的
软件:使用Visual studio系列吧,现在出Visual studio 2008了
书籍:有本叫《vc++游戏编程》的电子书,作者是王鹏生,里面从最基本的扫雷、五子棋等游戏开始介绍,并且最后还带了各个游戏的源代码,你上网上搜搜这本电子书吧
写游戏:主要是理解面向对象,OOA,OOD,设计模式 和算法设计!特别是游戏中设计到的各种寻路算法,等等!
游戏现在越来越庞大,你只要明白其中一部分就足够了。
OPENGL/DX是动画的东西,不过一般有引擎的画,改动的部分不是很大,不过这个熟悉也应该。
另外美工什么的估计和编程关系不是特别大了。但是如果有优化,那么图形学,特别是3D图形学算法又是十分必要的了,当年曾经有个企业高薪聘请3D图形学算法工程师,给他的一个系统优化,结果好象很失败......
还有就是网络,其实不懂DX之类的,如果你精通网络编程仍然可以有作为.大型的SERVER可能不是WIN平台,而且可能做跨平台的东西,而且考虑到中国网速问题,如何优化也是可以研究的.(可以把通信协议做的好点等等)
还有就是加密部分,如果精通安全学,那么每个游戏的加密部分就是你的任务了。这个最好精通那些密码学(网络传输不会用明文吧),而且如果是客户端,可能要考虑是否有木马钩子钩自己的程序什么的.....
其实很多技术在游戏中特别是网络游戏中,都可以应用上。
补充:如果就是简单的作业,那么就看看WIN相关的图形操作啥的...其实如果是初学,最简单的一个贪吃蛇就够你做2周的.....
初学的话不建议涉及特别深的东西,打好基础.能学学DX编程也行,不过初学不知道是否适合。...
熟悉MFC有毛用。
直接Win32SDK编程,熟悉各种底层API。
DirectX SDK编程,游戏编程是软件开发领域中比较困难和复杂的东西,
需要的东西很多,
1.扎实的c++功底:Effective c++之类的书看看,
2.熟悉STL:谁开发大型游戏用MFC那就是抽风。推荐c++STL开发导引
3.熟悉Windows编程,推荐Visualc++游戏编程基础,我空间有下载。
4.DIrectX 3D:推荐Windows游戏编程大师技巧、DirectX 3D图形与动画程序设计。
5.熟悉.net 2003开发平台或者其更新版本。
先学好c++
然后熟悉mfc
然后看direct