项目需求规格分析

队员信息

队员

学号

叶尚文(队长)

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. MySQL高级-索引

    1.索引是什么 索引(Index)是帮助MySQL高效获取数据的数据结构.可以得到索引的本质:索引是数据结构. 可以理解为“排好序的快速查找数据结构” 在数据之外,数据库系统还维护着满足特定查找算法的 ...

  2. What is API Level?

    [What is API Level?] 参考:http://android.xsoftlab.net/guide/topics/manifest/uses-sdk-element.html#ApiL ...

  3. 注册google账号 解决国内手机注册失败的问题

    1. PC端下载夜神安卓模拟器.安装,启动. 2. 在模拟器里的市场应用里下载qq邮箱. 3. 启动邮箱,选择gmail,注册.后续一切顺利. 这是迄今为止,唯一注册顺利的方法.其他方法,手机验证一关 ...

  4. 122. Best Time to Buy and Sell Stock II (Array;Greedy)

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  5. day4:vcp考试

    Q61. Which two statements are true regarding Virtual SAN Fault Domains? (Choose two.)A. They enable ...

  6. JAVA 系统变量之System.getenv()和System.getProperty() 用法

    Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与ja ...

  7. [leetcode]314. Binary Tree Vertical Order Traversal二叉树垂直遍历

    Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...

  8. [leetcode]403. Frog Jump青蛙过河

    A frog is crossing a river. The river is divided into x units and at each unit there may or may not ...

  9. phython学习

    Python 中文学习大本营 关于作者 赞助本站 The Python Tutorial (Python 2.7.X) 的中文翻译版本.Python Tutorial 为初学 Python 必备官方教 ...

  10. TPshop学习

    笔记大纲: tpshop目录结构 功能模块 函数库 重要配置 助手函数 插件 模板 1.TPshop目录结构 目录结构(来自官方视频截图) 看这个图,目录结构一目了然.下面要讲的内容也是根据这个图展开 ...