游戏的构成

来源:互联网 发布:彩虹计划软件安卓版 编辑:程序博客网 时间:2024/06/02 15:07

游戏的构成
     现在来看一下一个视频游戏程序和其他各种程序的区别。视频游戏是一种极其复杂的软件,毫无疑问它们也是最难编写的程序。显然,编写MS Word程序要比Asteroids游戏难一点,但是编写Unreal游戏则要比我所能想像得到的其他任何程序都要难。 这就表示读者应当学习一种新的编程方式,这种方式更有益于实时应用和模拟,而不是读者经常使用的单行的、事件驱动的或顺序逻辑的程序,一个视频游戏基本上是一个连续的循环,它完成逻辑动作,并在屏幕上产生一个图像,通常
是每秒钟30幅图或更多,这和电影的放映非常相似。只是读者要按自己的思路创建这个电影。 下面让我们从观察如图1.4所示的简化游戏循环开始,下面对图中每个部分作些说明。

第一步:初始化
在这一步中,游戏程序运行的初始化操作和其他程序一样,如内存单元配置、资源采集、从磁盘装载数据等等。

第二步:进行游戏循环
在这一步中,代码运行进入游戏主循环,此时各种游戏动作和情节开始运行,直至用户退出游戏主循环。

第三步:获得玩家的输入信息
在这一步中,处理游戏玩家的输入信息并将其储存到缓存以备下一步人工智能和游戏逻辑使用。

第四步:执行人工智能和游戏逻辑
这部分包括游戏代码的主体部分,执行人工智能、物理系统和常规的游戏逻辑,其结果用于产生下一帧屏幕图像。

第五步:渲染下一帧图像
本步中,玩家输入和游戏人工智能和逻辑执行的结果,用来产生游戏的下一帧动画。这个图像通常放在后备缓存区内,因此无法看到它被渲染的过程。随后该图像被迅速拷贝到显示区中。

第六步:同步显示
许多计算机会因为游戏复杂程度的不同,游戏的速度会加快或减慢。例如,如果屏幕上有1000个对象在运行,CPU的负载就比只有10个对象时重得多,因而游戏画面刷新速度也会有所改变,这是不允许的。因此必须确保游戏和最大帧速同步并使用定时器和/或等待函数来维持同步。一般认为30帧/秒是最佳的帧速。

第七步:循环
这一步非常简单,只需返回到游戏循环的入口并重新执行上述全部步骤。

第八步:关闭
这一步结束游戏,表示用户结束主体操作或游戏循环,返回操作系统。然而,在用户进行结束之前,用户必须释放所有的资源并刷新系统,这些操作和其他软件所进行的相应操作相同。

 

原创粉丝点击