这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | |
团队名称 | |
这个作业的目标 |
需求规格说明书
项目概述
- 一个风格复古的弹幕游戏
面向各年龄群,尤其是了解东方Project的游戏爱好者 - 预期用户数量:500
- 游戏基本玩法:操作人物攻击怪兽来获得相应分数
- 游戏设计:游戏分为玩家和怪物,玩家通过操纵人物躲避怪物的子弹,并对怪物进行有效输出,来获取对应的分数,最终成绩保存至计分板中
- 游戏界面预计效果:
功能需求
玩法机制
出现一定数量的“敌方”,按一定行动方式移动,对“角色”发射“子弹”
“角色”向前方发射“子弹”,玩家操控“角色”移动,使“子弹”击中“敌方”
“敌方”被击杀掉落“道具”
“角色”拾取“道具”可恢复“技能值”或增加弹道或回复生命点数
“敌方”数量和行动方式随时间变化而变化
“角色”生命点数被清空游戏结束
最终得分以击杀“敌方”数计算
开始界面
打开游戏程序
功能 | 功能描述 |
---|---|
进入游戏 | 使玩家进入游戏界面 |
帮助 | 使玩家进入帮助界面 |
设置 | 使玩家进入设置界面 |
历史分数 | 使玩家进入历史分数界面 |
退出游戏 | 退出游戏程序 |
帮助界面
在开始界面或者游戏中的暂停界面打开
功能 | 功能描述 |
---|---|
帮助 | 提供游戏相关信息如游戏介绍、游戏规则等方便玩家上手游戏 |
设置界面
在开始界面或者游戏中的暂停界面打开
功能 | 功能描述 |
---|---|
设置 | 音量、键位等个性化设置 |
历史分数界面
功能 | 功能描述 |
---|---|
历史分数 | 玩家可查看排序后的历史分数,以及时间 |
游戏界面
在开始界面中打开
功能 | 功能描述 |
---|---|
1 角色 | 玩家的主要控制对象,用于完成关卡 |
2 敌方 | 通过影响角色的属性值,干扰玩家完成关卡 |
3 子弹 | 角色和敌方的进攻手段,用于影响属性值 |
4 暂停 | 弹出暂停界面,可转到开始、帮助和设置界面 |
5 计分板 | 记录玩家分数 |
6 属性、技能栏 | 记录角色状态,包括生命值等 |
6.1 生命值 | 游戏结束与否的标志,角色或者敌人生命值归零游戏结束 |
6.2 技能 | 子弹的特殊形式 |
7 角色控制 | 玩家通过使用键盘的wasd键进行角色移动,空格键释放技能 |
(待后续补充创意)
技术需求
技术需求 | 解决方案 | 使用技术 |
---|---|---|
美工 | 二维图像 | 搜索引擎、像素画设计软件Pixel Studio for pixel art |
音效 | 网络上的免费音效 | 搜索引擎 |
开发 | 编程语言、支持游戏开发的模块、用户界面 | Python、Pygame、PyQt |
团队项目github:chewan_poi
github团队项目issue截图:
团队时间安排表
序号 | 事件 | 开发人员 | 时间 |
---|---|---|---|
1 | 确定游戏的整体架构 | 所有人 | 11.28 ~ 11.1 |
1.1 | 确定游戏玩法机制及美术风格 | 所有人 | 10.28 ~ 10.30 |
1.2 | 收集/设计美术素材 | 王舜鑫、邱志城 | 11.30 ~ 10.31 |
2 | 各模块的开发 | 麦倬豪、潘景豪、林泳璇 | 11.1 ~ 11.15 |
3 | 测试和总结 | 所有人 | 11.15 ~ 11.22 |
团队分工情况及进展
成员 | 进展 |
---|---|
邱志城(PM) | 了解项目需求 了解所需技术 编写博客 |
潘景豪(游戏主体开发) | 了解项目需求 了解所需技术 设计项目原型 |
麦倬豪(游戏主体开发) | 了解项目需求 了解所需技术 |
林泳璇(用户界面开发) | 了解项目需求 了解所需技术 |
王舜鑫(测试、美术) | 了解项目需求 了解所需技术 |
个人感想
成员 | 感想 |
---|---|
潘景豪 | 此次项目中,我担任的是开发工作,虽然是第一次接触游戏开发,但在学习网上的资料时感觉十分有趣,现在还在努力学习中,希望最后能做出个很棒的成果。 |
邱志城 | 此次项目中我担任的是PM,负责整合项目的需求,管理成员的进度。第一次接触这个角色,希望能够做好。 |
麦倬豪 | 入门python比较简单,但要深入学习python和pygame,还需要多多实践和尝试。 |
王舜鑫 | 同样出于兴趣而选择做游戏。已经决定的事,希望能有一个好的结果,做出令人满意的作品。 |
林泳璇 | 出于兴趣选择做游戏项目,此次任务担任部分开发。此前并无相关经验,但学习pygame确实让我乐在其中,期待最后能做出心怡的作品。 |