项目需求规格分析

队员信息

队员

学号

叶尚文(队长)

3116008802

蔡晓晴

3216008808

杜婷萱

3216008809

龙剑初

3116004647

于泽浩

3116004661

项目背景:

近年来音乐游戏层出不穷,其中不乏创新性作品,我们产品将面向爱好音游及RPG游戏的玩家,结合两者的特点开发一款游戏。

真实性:

目前市场上还不停地有各种各样的音游出现,音游实际上是能

给玩家一种体验还没接触过的乐器,或者作为练习某种乐器的

一种途径。所以说音游具有市场的真实性

可行性:

该游戏在显示上主要有有钢琴的乐谱和冒险“跑酷”两部分,听

觉上是玩家通过按下琴键发出的旋律,两者结合后,玩家可在

钢琴跑酷这个游戏中通过“键盘式琴键”可以有很好的体验效果,

同时玩家可以通过乐谱和游戏中的主人公来更好地掌握节奏。

玩家可以在学习的同时体验游戏的乐趣,很大程度避免了学习

的枯燥和游戏的单一性。

价值性:

“游戏+教育”已经逐渐成为社会的发展趋势。游戏不再像以前那

样是为了玩乐的片面产品,很多游戏慢慢转向职业化、多功能化,

其中从游戏中学习是最大的市场趋势。钢琴跑酷这个游戏避免了

市场上很多体验效果较差和功能单一的产品,把游戏和学习较好

地结合在一起。市场上还不断有音游的产品出现,说明音游有一

定的市场。钢琴跑酷这个游戏的最大卖点就是很好地把学习和完

结合在一起,很好地做到了“游戏+教育”。

项目需求:

用户需求:

体验效果好同时模仿操作相似的钢琴音游

摆脱传统音游的单一操作和单一视觉效果

在体验过程可以借助乐谱音符外的动态效果提示

借助游戏闯关效果来更好让玩家保持兴趣

功能需求:

一般需求:

实现高音区乐谱控制主人公跳跃跑图;

实现乐谱的规格化及提高可读性和可编辑性;

实现游戏画面整体可动。

高级需求:

实现低音区控制主人公的行为及动作;

实现用户向游戏自行导入乐谱。音乐以及对地图进行构建;

设置BOSS,根据乐谱和节奏设置QTE(Quick Time Event)操作。

后期改进需求:

实现游戏联网;

支持用户的乐谱和地图上传服务器并分享;

支持导入音乐自动生成对应的规格化乐谱并完成地图构建;

支持用户自行修改游戏贴图,改变风格。

环境需求:

使用语言:

H5(HTML + CSS + JavaScript)

开发软件:

Webstorm 或 Dreamweaver 等前端开发软件

heX(用于将HTML项目转化为.exe的桌面应用程序)

Photoshop(设计页面及元素)

技术需求:

团队要熟悉HTML,CSS,JAVAScript等语言

需同时对多个开发软件的操作熟悉

根据乐谱的音符生成游戏中不同的动态地图地形及障碍物

监听键盘输入指示,游戏中的冒险主人公要作出相应行为

团队分工:

程序构建及设计:叶尚文

根据需求构建整个程序的对象及函数关系,设计界面,制定DOM树和对应的元素设计

动态界面:龙剑初,于泽浩

读取乐谱文件,根据乐谱动态生成地图中的地形及障碍,怪物等。

静态界面:杜婷宣,蔡晓晴

读取组成界面的图片文件,构建静态UI的界面,并实现除游戏主界面外的欢迎页、介绍页等静态页面。

主人公控制及响应:叶尚文

监听键盘动作,根据键盘动作控制主人公行为;读取文件,根据文件判断行为是否正确,并给出相对应的反馈。

测试:于泽浩

测试各个阶段程序是否达到预期目标,并保证程序不会因乐谱文档的错误及数据量而出现严重崩溃。

任务简述:

实现视图:

事前说明:

开发过程中的测试请以heX的显示界面效果为准。

文件读取方式请参考项目内的player.js

文件说明:音乐为欢乐颂

第一行是速率(现在是2秒四小节(8个字符)),第二行开始是简谱,1,2及以下对应高度1,3,4对应高度2,5,6对应高度3,7,8及以上对应高度4。

背景要求:

使用给定图片,在限定的div里通过指定的css及js文件,完成如图背景和前景;

要求五线谱中间的判定线位置可调(调节参数用备注标明);

背景每一张图片都可以独立循环向左移动播放,且移动速度可调(调节参数用备注标明)。

方块以及音符生成要求:

在限定的div里通过指定的css及js文件,读取给定的txt文件(规格化乐谱,路径:“../src/txt/test1.txt”),得出旋律和拍子时间,生成符合旋律高低的音符,字母以及方块,方块向上生成,然后向左移动,音符和字母从右渐显生成向左移动;

音符,字母及方块的移动速率可调,并可调节延迟(两者参数请备注说明);

方块的种类要根据旋律的种类创建:

0x0y:创建种类1的方块;

0x00000y:创建种类2,3的方块,并在中间的0处添加对应数量的种类4的方块;

0xy:循环创建种类5,6的方块。

实例效果:

动作及响应要求:

主人公还没画好,不放图了。。。。

在限定的div里通过指定的css及js文件,读取给定的txt文件(规格化乐谱,路径:“../src/txt/test1.txt”),得出旋律和拍子时间,根据时间及旋律计算得出当前状态;

判定区示意图:

编码规则:

命名:

尽量遵循驼峰原则命名,并在声明时备注作用(如必要)

用于循环、记录状态、暂存的变量请用loop,state, temp开头并加上编号(编号计算以函数为单位)或者说明(如必要)

括号:

大括号内为空前面和内部都不用换行,否则:

左大括号前不换行,后换行;

右大括号前换行,后除规定语句块(else, while等)外换行;

连续同种小括号间空格。

符号:

各类运算符或判断符前后都有空格;

逗号后带空格。

字数:

每行不超过(111 - 11)字符,如超过:

从100字符内的最后空格开始换行;

若是运算符的空格则从运算符前的空格开始换行;

换行后在上一行换行处备注 ”//next line“。

缩进:

用4个空格,tab键请设置为4个空格。

其他:

if/for/while/switch/do等保留字与左右括号之间都必须加空格;

除判断及for/while等外,一行一个语句;

函数中,实现不同小功能的语句块之间空行,语句块内不空行,如必要在语句块前加上备注说明,例:

int a;

int b;

int temp

for(。。。){

。。。

//交换a,b的值

temp = a;

a = b;

b = temp;

}

while 。。。

函数前请务必说明函数功能,若复杂请文档注释说明大概思路。

 

项目安排:

 原安排表:

第6周

1.团队组队、团队博客(✔)

 

2.团队介绍、成员展示、角色分配、选题确定(✔)

3.制定团队计划安排(✔)

第7周

1.需求规格说明书(✔)

2.原型设计,队员估计任务难度并学习必要的技术(✔)

3.编码规范完成、平台环境搭建完成、初步架构搭建(✔)

第8周

1.原型改进(给目标用户展现原型,并进一步理解需求)

2.架构设计,WBS, 团队成员估计各自任务所需时间

3.测试计划

第9周

1. 团队项目Alpha任务分配计划

2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第10周

1.用户反馈+测试计划改进

2. 团队Alpha阶段个人总结

3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理

第11周

1. 团队项目Alpha博客:事后分析

2. 每个团队有一人必须离开,自己寻找下一个接纳自己的团队。团队发博客宣布离队和接纳的成员。

第12周

1. 团队项目Beta任务分配计划,介绍新成员

2. 连续7天的Beta敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第13周

1. 团队项目Beta博客:发布说明、测试报告、展示博客

2. 团队Beta阶段个人总结

第14周

1. 团队项目Beta博客:事后分析, 宣布每人的贡献分

第15周

1.团队整个阶段总结,分析用户数据,整理文档,保证以后的团队能接手。

校正后安排:

第8周

初步实现各个模块原始界面效果,合并代码后寻找不足并改进,以尽量避免后续功能实现的代码产生不兼容情况

第9周

制定Alpha计划,搭建整体框架,实现各模块功能并合并

第10周

对各个功能模块进行测试,让用户试用并通过反馈进行改进

第11周

总结收获和不足,团队调整

第12周~~

依情况从新规划

校正方法:

刚开始的规划还没有对项目进行深入的解剖和分析,很多安排都没能很好地按计划完成。

因为本次项目用到的编程语言并不是都会,所以经过分析后,主要的功能和测试放在了第

10和11周两周,在各模块功能完成时就可以进行初步的测试,等预期功能都实现的时候,

再进行统一的整体测试,这样就可以把最终测试出现的不足很好地锁定。

队员感想:

叶尚文:第一次开发自己创造的游戏,有点兴奋又有点紧张。第一次带领队伍,第一次5人的

团队合作,我希望能带领好这个团队。也希望在这个过程中提升自身的领导能力,同时

从中找到自己的不足。

蔡晓晴:这个星期还没有开始写代码,但是叶尚文大佬给了我们一个清晰的架构和代码标准,

十分利于我们后期打代码。这个星期我也学习了很多js的知识。

杜婷萱:感觉开发前的充分沟通,明确的任务分工很重要。我和晓晴共同完成静态背景的实现,

但js刚开始学接触的还不是很多(°ー°〃)因此要向团队多多请教,希望能通过这次的项

目学到更多的知识 (*^▽^*)

龙剑初:在这一周里,团队对项目进行了进一步的探索和理解,在队长尚文大佬的带领下,我

们把项目的主要功能模块和大致的架构做了初步的确定,同时进行了任务的分配。项

目要用到js和css等还没接触过的语言,这对于我来说是个极大的挑战。自知代码能力

不强,但也会尽力。接下来好好努力,跟着大佬们学习。

于泽浩:和同学一起团队协作,每个人都有每个人的长处,让我认识到了自己太多需要学习,

但是团队协作依靠的也不只是每个人的能力,清晰的统筹才能一步步将计划完成。非

常期待接下来一步步将计划完成。

团队项目(第二周)—GG队的更多相关文章

  1. 团队项目第二周spec设计

    本系统针对局域网进行联机聊天.聊天室分为服务器端和和客户端俩部分,服务器端程序主要 负责侦听客户端发来的信息,客户端需要登录到服务器端才可以实现正常的聊天功能. 1.本软件是一款局域网聊天软件,不能进 ...

  2. bug终结者 团队作业第二周

    bug终结者 团队作业第二周 我们小组选取游戏"开心消消乐",回答问题: 1. 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利 ...

  3. 《团队作业第二周》五小福团队作业——UNO

    <团队作业第二周>五小福团队作业--UNO 一.修改完善上周提交的需求规格说明书 THE FIRST改变 首先:我们组的博客无小组分工及占比,这是第一个问题,当时我们在写博客的时候由于很多 ...

  4. [团队项目]第二个冲刺 看板和燃尽图 Sprint2 6.8/6.9/6.10/6.11/6.12/6.13/6.14

    1.开始一个新的冲刺: 起止:2016.6.1~2016.6.14 按照以下过程进行 ProductBacklog:继续向下细化 Sprint 计划会议:确定此次冲刺要完成的目标 Sprint Bac ...

  5. 团队项目-第二次Scrum 会议

    时间:10.24 时长:30分钟 地点:线上 工作情况 团队成员 已完成任务 待完成任务 解小锐 学习官方样例 根据初步讨论结果编写初步的api文档 陈鑫 学习cocos creator基本使用 采用 ...

  6. 团队作业-第二周-SRS文档

    移动课堂点名的用例图:

  7. 团队作业—第二周—SRS

    一.系统整体用例图: 二.用户用例图: 三.医院用例图:

  8. DLNg[结构化ML项目]第二周迁移学习+多任务学习

    1.迁移学习 比如要训练一个放射科图片识别系统,但是图片非常少,那么可以先在有大量其他图片的训练集上进行训练,比如猫狗植物等的图片,这样训练好模型之后就可以转移到放射科图片上,模型已经从其他图片中学习 ...

  9. 团队项目(HCL队)第二周

    一.项目介绍 1.内容 我们队选择的题目是经典90坦克大战的java实现,后续会加入ai,以实现更丰富的体验. 2.预期使用数量 原版的经典90坦克大战拥有众多粉丝,我们在其上进行拓展,目前预计用户量 ...

随机推荐

  1. ElementTree 解析xml(minidom解析xml大文件时,MemoryError)

    在使用minido解析xml文件时,因为文件过大,结果报错MemoryError.查询后得知是因为minidom在解析时是将所有文件放到内存里的,很占用内存,所以要考虑换一种方法来处理xml文件.   ...

  2. svn: authentication cancelled

    从svn 下程序时用户名和密码输入正确后报如图错误! 控制台输出: svn: authentication cancelled    svn: authentication cancelled    ...

  3. 【英宝通Unity4.0公开课学习 】(四)GUI到物理引擎

    今天老妈打电话来说和老爸吵架了... 真的是家家都有本难念的经啊.前后帮她分析了个半小时才帮她解开心结...现在想想老爸还是蛮可怜的,连分享的人都木有 讲的GUI都看睡着了...因为想着可以用NGUI ...

  4. python之socket运用1

    先看下服务端的代码 import socket ip_bind = ("127.0.0.1",3000) sk = socket.socket() sk.bind(ip_bind) ...

  5. 什么是Shell、Shell脚本

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种 ...

  6. php 的多进程实践

    php的多进程处理依赖于pcntl扩展,通过pcntl_fork创建子进程来进行并行处理.   例1如下: <?php $pid = pcntl_fork(); if($pid == -1) { ...

  7. 通过yiic来创建yii应用

    一.通过yiic来创建yii应用 (*yiic命令在yii下载包的framework目录下) 1.把你自已的php环境添加到系统环境变量中. 2.在命令行下输入: yiic webapp 位置\名称 ...

  8. myschool 1204

    http://oj.jxust.edu.cn/problem.php?id=1274 #include <iostream> #include <set> using name ...

  9. Stripies

    /* Our chemical biologists have invented a new very useful form of life called stripies (in fact, th ...

  10. ILSpy 反编译.NET

    ILSpy 是一个开源的.NET反编译工具,简洁强大易用是它的特征.在绝大多数情况下,它都能很好的完成你对未知程序集内部代码的探索.