游戏设计与制作课程设计题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
游戏设计与制作课程设计
以下4个题目任选一个按要求完成,并于6月5日(即第15周周四)前提交包含所有材料的课程设计袋。
题目1:太阳系模拟
太阳系(Solar System)是以太阳为中心,和所有受到太阳重力约束的天体的集合体,主要包括太阳,八大行星,以及卫星.此课题模拟太阳系各大行星和卫星围绕太阳旋转运动。
基本设计思路和运行效果可参考“《《计算机图形学》课程设计报告”一文相关内容。
要求:
开发环境——VS2008以上
SDK ——DirectX 9.0c 以上
题目2:基于阴影贴图的阴影的实现
阴影贴图是实现实时阴影的一种方法,它可以实现任意曲面上投影的阴影效果,而不仅仅是平面阴影。
通过本次课程设计,要求:
1、了解基于阴影贴图的阴影实现的基本思路和算法;
2、结合参考文献理解实现过程;
3、基于阴影贴图的阴影实现存在的问题和改进的方法。
4、编写相应的实现代码和测试代码。
参考:
1、”Introduction.to.3D.Game.Programming.with.DirectX.9.0c.Shader.Approach”第22.2节“Shadow mapping”。
2、DX SDK自带的“ShadowMap sample”。
题目3:二维游戏“Breakout!(打砖块)”的设计与实现
进入Breakout的初始界面,屏幕上方的彩色矩形方块代表砖块,屏幕下方的较长的矩形方块表示板子。板子的垂直位置不变,但可在屏幕边界之间通过用户的输入左右移动。还有一个小球,从屏幕中间向下运动,球可从板子或左右墙面反弹击中砖块。击中的砖块即消失。小球不断实现反弹击中砖块的过程,直到以下两种情况出现,退出游戏:
1、小球碰到地面(即屏幕的下边界),即玩家没用板子接住球。在这种情况下,假设一关游戏给三次击球的机会,如果总共有三次没有用板子接住球,玩家失败,退出游戏。
2、所有的砖块都被击中,玩家赢,退出游戏。
设计提示:
1、初始化砖块
2、初始化板子,使用键盘或鼠标控制板子的左右移动。
3、创建小球,重点是小球与墙面、板子、砖块的碰撞检测的实现。考虑反弹的实现,比如直接修改小球y方向上的加速度的方向以实现反弹。
4、可在上述基本框架上实现扩展:
✓增加声音;
✓增加提示信息;
✓改进小球反弹的相关算法,以实现更好的反弹效果;
✓增加关卡,以实现不同难度(2—3个关卡即可);
✓显示分数值,而且击中越上面的砖块得分越多;
✓改进界面设计;
✓发挥你自己的想象,为游戏增加更多的有趣功能吧!
要求:
1、完成游戏概述中的基本功能,在此基础上可根据设计提示实现各种功能的扩展;
2、开发工具:语言——C++,图形部分——OpenGL或Direct3D,用户交互——Windows API 或DirectInput。
题目4:三维地形漫游系统的设计与实现
如果想创造出有真实感的三维游戏世界,三维地形的模拟是必不可少的。另外,在三维仿真、虚拟现实等领域也要涉及三维地形的模拟。本课程设计即实现三维地形的生成及漫游。
设计提示:
1、制作高度图,可用PhotoShop制作。
2、计算地形顶点及对应的顶点索引值。
3、载入纹理。
4、渲染地形。
5、三维天空的模拟。
6、实现第一人称摄像机的三维地形漫游。
7、可在上述基本框架上实现扩展:
✓增加声音;
✓增加提示信息;
✓利用网格模型,在场景中增加角色;
✓实现第三人称摄像机的漫游;
✓利用粒子系统,在场景中增加雪花、烟花等;
✓使用地形生成算法生成高度图;
要求:
1、完成三维地形漫游的基本功能。
2、开发工具:语言——C++,图形部分——OpenGL或Direct3D,用户交互——Windows API 或DirectInput。
参考:
1、“Intro duction to 3D Game Programming with DirctX9.0c: A Shader Approach”一书的第17、18章
课程设计报告的主要内容:
✓游戏概述(包括游戏玩法说明);
✓游戏运行环境(包括游戏正常运行所需的文件);
✓设计基本思路;
✓游戏的具体实现
⏹实现框图或流程图
⏹全局变量的定义
⏹具体功能的实现
⏹测试过程,测试结果及分析
✓设计与实现中遇到的问题、如何解决;存在的问题和改进的思路;设计体会。
✓参考文献(包括书、文章或相关网址)
提交的材料:课程设计袋
包括——
✓课程设计报告(班长统一购买规定的课程设计专用的本子,手写,内容参考上述要求✓源程序清单(可打印)
✓游戏项目(包括源文件,运行所需的文件等,刻录在光盘上)
注意:截止日期为6月5日(即第15周周四)。