当前位置:首页 > 游戏设计与制作课程设计题目
游戏设计与制作课程设计
以下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、“Introduction to 3D Game Programming with DirctX9.0c: A Shader Approach”一书的第17、18章
课程设计报告的主要内容:
? ? ? ?
游戏概述(包括游戏玩法说明);
游戏运行环境(包括游戏正常运行所需的文件); 设计基本思路; 游戏的具体实现
? 实现框图或流程图 ? 全局变量的定义 ? 具体功能的实现
? 测试过程,测试结果及分析
? 设计与实现中遇到的问题、如何解决;存在的问题和改进的思路;设计体会。 ? 参考文献(包括书、文章或相关网址)
提交的材料:课程设计袋
包括——
? 课程设计报告(班长统一购买规定的课程设计专用的本子,手写,内容参考上述要求 ? 源程序清单(可打印)
? 游戏项目(包括源文件,运行所需的文件等,刻录在光盘上) 注意:截止日期为6月5日(即第15周周四)。
共分享92篇相关文档