如何开始学习游戏开发?

 

      

  游戏开发中涉及很多的内容,从而让许多想学习游戏开发的朋友无从入手,如果当大家还没有找到如何开始学习游戏开发的步骤的话,就可以看看下面的学习步骤。

 

     首先,不要被众多的内容所迷惑,例如:3D数学,3D图形学,什么什么游戏引擎,华丽的渲染效果和算法,这些内容在一开始进行游戏开发学习时,都不要去考虑。

 

      然后,我们就按照下面的流程来思考、选择并开始学习。

 

     (1)究竟要在什么平台上开发你想要游戏?

          目前主流的平台就那么几个:

          1.windows系统平台

          2.苹果系统平台

          3.Android系统平台

 

     (2)选择开发环境即IDE

            什么是IDE呢?IDE就是集成开发环境(包括编译器,调试器、代码编辑器和设计器)

          1.windows系统平台的IDE——VC++6.0,VS系列(VS2005,VS2008,VS2010等)

          2.苹果系统平台的IDE——XCode

          3.Android系统平台的IDE——eclipse

 

     (3)游戏开发时用到的开发包

            只有两种:DirectX或者OpenGL

          1.windows系统平台——DirectX或者OpenGL都可以

          2.苹果系统平台——OpenGL

          3.IOS或Android系统平台——OpenGLES是一个OpenGL的子集

 

     (4) IDE中配置开发包

            因为,我们需要在游戏开发中调用开发包的API函数,所以,我们就需要在IDE环境中把开发包的安装路径下面的“头文件”与“库文件”的路径在IDE里面设置好,这样,才可以正确调用这些开发包中的API函数来进行游戏程序的开发。

 

     (5) 游戏程序的入口点?

           所有平台的游戏程序开发都有一个入口点,例如,windows平台的程序入口点就是1个WinMain函数,所以,这个WinMain函数就是在Windows平台上进行游戏程序开发的入口点。

      

     (6) 游戏究竟发生在什么环境中?

           其实,所有的游戏都是发生在窗口中,所以,无论在什么平台上开发游戏你都要学习如何去创建窗口。

 

     (7) 学习如何获取与处理窗口的消息?(消息处理机制)

           无论什么平台包括手机,当游戏进行时,玩家都需要与游戏进行交互就是要控制游戏中的角色进行相应的操作,对于PC平台,玩家可以通过鼠标,键盘,游戏杆等的外设进行交互,而手机就可以通过触摸屏来进行交互,所以,当一个鼠标或键盘或触摸的消息产生时,我们的游戏程序就必须可以获取到这些消息并进行处理,例如,当玩家点击鼠标时,我们的游戏程序就要让角色移动,这样,当玩家点击鼠标以后,才可以看到角色移动的。

 

     (8) 学习通过Shader(着色器)编程来绘制基本图形

          目前,DirectX或OpenGL都是可以使用Shader编程,所以,就需要学习使用Shader编程来绘制图形图像。

 

     (9) 学习Shader(着色器)语言的语法

          

     (10)学习如何读取图片,或者3D模型数据文件

          因为,在游戏进行时,我们的程序就是要控制这些图片或3D模型进行移动,或者产生动画的播放,这样,玩家才可以看到,游戏中的角色和敌人产生位置上的变化,或者动画上的变化。所以,我们就要先把这些图片或3D模型文件读取到程序中去使用。

 

     (11)学习如何通过程序控制图片,或者3D模型进行移动

 

     (12)学习如何通过程序判断图片,或者3D模型发生碰撞

          因为,在游戏进行时,角色和敌人或者场景中的物品都会经常发生碰撞,例如,角色的子弹击中敌中,就是子弹这个图形与敌人的图形产生了碰撞,那么,我们的游戏程序就要实现这种碰撞判断,这样,玩家才可以看到子弹击中敌人这个效果。

        

      那么,当你把以上的内容都实现出来以后,你就拥有了一个属于你自己的游戏框架了。在往后的时间里面,你就可以在这个框架上面添加更多的内容,例如:我想让3D动画显示得更好,那么,我们就可以专门去学习一下3D动画编程,再如果,我想让游戏看起来更逼真,那么,我们可以再专门学习渲染技术,当学习3D动画或渲染时就会需要用到3D数学,图形学的知识,那么,在这个时候,我们就可以学习这些数学知识。

 

      然后,如果我们想让游戏中内容更加的智能,那么,我们还可以学习人工智能,然后,添加到我们的游戏框架里面。

 

      然后,如果我想开发更复杂的大型游戏,那么,就要制作大型的场景,所以,我们还要再专门学习如何开发场景编辑器,以及,为游戏分配不同的任务,关卡等,所以,我们也需要学习如何开发任务编辑器,到后面,我们还想做成网络游戏的话,那么,我们还可以专门学习“服务器”与“客户端”的开发和同步通信以及数据库方面的知识。

 

      然后,把这些所谓的高大上的内容一步一步地添加到你最前面所实现出来的框架中,最后,你就可以拥有了一个属于你自己的“游戏引擎”,单机版,还是网络版,你自己喜欢啦。

 

      另外,我们也推出了一个DirectX Shader游戏开发的在线学习教程,该教程运用游戏的方式,结合人工智能的技术,可以让大家一边学习游戏开发,一边进行实践训练,不只是停留在理论知识的学习上面,从而,让大家可以快速地掌握DirectX Shader游戏开发的技术。

 

〉〉〉进入学习