游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3506|回复: 1

用OpenGL 和 C++设计一个汽车游戏

[复制链接]

1

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2007-2-2 10:31:00 | 显示全部楼层 |阅读模式
要求用OpenGL 和 C++设计一个汽车游戏. 这程序包括一些基本的动画组合, 主要是这个汽车需要在一个3D环境中从A 点出发到达B点,途中需要考虑其他障碍物的影响.

这作业分为2部分,总共100分. 第一部分60分,第二部分40分. 但每一部分的分数比实际的要多,所以有可能在不需要得到100%的分数的情况下获得100分。

情景
因为某个原因(由你决定), 你需要驾车从A点出发到达B点, 途中会遇到一些障碍物(你决定驾驶环境). 越快到达B点就越好,不过要小心障碍物. 这些障碍物会减慢你的速度或者使你停下来(一些障碍物甚至会移动的). 当你到达B点的时候,会出现恭喜信息,而且你所用的时间也会被记录下来。

任何时候都要能够唤出”最高分数”和”帮助”菜单(游戏和计时器会暂停), 你要提供”继续游戏”的选择,除非你选择”退出游戏”.

评分标准
第一部分, 最高60分
        模型----能够以function 和data的形式嵌入到程序中,或者从文件中读取(参考第二部分)10分
这模型应该系一辆车并至少包括:
        4个或以上的轮子
        底盘
        一个以上可以打开的东西(例如:门,车盖), 打开后可以看见里面的东西.
        车窗/挡风玻璃(半透明)
        地面物体(适当地使用可能的质地)2分
        障碍物----A和B之间至少有2个以上的物体作为障碍物4分
        Rendering---使用者应该能够把模型在wireframe 和fully shade 之间转换.(通过使用glPolygonMode来实现)1分
        Lighting—使用复合光源(至少2个),并且这些光源是可以选择打开或者关闭的。4分
        动画----模型要能够用箭头键操纵,车轮要能适当地转动.6分
        用户界面----司机应该用仪表板的形式出现,仪表板上至少显示时间和速度.6分
        和其他物体的基础的互动----碰撞需要被解决. 一些物体会使汽车停下来(所以汽车必须绕开),一些则会令汽车减速.6分
        控制---rendering的改变,模型和动画的互动应该通过下面的方法来控制:5分
        F1---唤出帮助/得分菜单
        F2---wireframe 和fully shade转换
        F3---在有材质和无材质之间转换(如果有设定材质的话)
        F9-F12---转换光源打开或者关闭,例如F9把光源1关闭,再按一次就把它打开如果你有多于或者少于4个光源,你会需要多于或少于4个键来控制
        数字键1-9----控制各种动作,例如打开车门
        箭头键---上下控制前进和后退,左右控制转向
        帮助/得分菜单---按下F1会把游戏暂停并显示一个菜单文本(OpenGL),包括可选择的命令并把得到的高分整齐地显示出来.还可以包含其他所有你想加的信息,谁设计这个程序,什么时候设计的,设计的目的等等。按F1会暂停游戏,再按任何键就返回游戏(从中断处),所有对这程序的控制都应该在帮助菜单里有提示.4分
        对代码的演示和解释6分
        程序的结构,格式,评论,变量名称10分

第二部分,最高40分
        更精细的汽车模型----不同的部件,可以打开的部分,车里的部分,使用更复杂的3D图形,例如曲线,patch等等.6分
        模型的其他逻辑控制,例如转动炮塔,如果那是辆坦克车.2分
        给模型加上材质(可以选择有或者无)5分
        跟随模型的视角4分
        在模型车中使用阶梯数据结构8分(在数列上最多取得4分)
        从文件中把模型车读取出来(使用你自己写的对象定义语言)8分(从mesh/point 上最高取得5分)
        用GLUT 做的,点击鼠标右键打开的菜单2分
        有效的视角转换,例如,放大/缩小镜头,旋转以便从不同的位置观察,或者跟随车辆的镜头3分
        环境物体的反射/倒影 2分
        随机/动态产生的环境(地形,物体的位置等)4分
        额外的绘图功能(由导师评价可得多少分)5分

注意,如果你只做某些东西,你不能得满分,比如你只做一个可以移动的镜头,它只增加/减少gluLookAt的位置,或者你能做出一个可以大概转动的镜头(不是模型车),它能使视角更智能地转动,这些能得到分数,但不能得满分。

这作业必须用C++和OpenGL 3D的制图用图书馆。GLUT(OpenGL Utility Toolkit)在开窗和互动时使用。

评估
在评改你的作业的时候,会考虑以下因素:
        任务的完成---包括额外的任务
        完成任务的难度
        最后完成程序的质量(视觉上)
        解决问题的手段(运算法则,数据结构等等)
        程序代码的质量,包括格式,变量名称和注解
        在演示的时候表现的你对该作业的理解
        创造性和游戏可玩性设计
[em3] [em3]

1

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2007-2-2 10:33:00 | 显示全部楼层

Re:用OpenGL 和 C++设计一个汽车游戏

QQ402729787
E_mail:weid@chec.com.cn
救命啊~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-5-20 20:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表