Beta阶段项目展示博客
1 团队成员的简介和个人博客地址
成员 | 头像 | 岗位 | 博客 | 个人介绍 |
---|---|---|---|---|
黄贤昊 | PM | 17373253 | 喜欢玩游戏和做游戏,项目经验基本都和游戏相关,擅长摸鱼,偶尔敬业。 | |
吴桐雨 | 策划、美术 | 海拉鲁人马训练师 | 9103年Splatoon2世界锦标赛冠军 | |
何瑞 | 程序、策划 | _nostalgia | 熟悉C++, 然后是python和java,会用mysql,没什么项目经验,各种方向都可以尝试。希望能找到以后能一起开发合作的道友,互相帮忙,彼此进步 | |
吴昭邦 | 程序 | 检石 | 6系普通学生,会C,C++。项目经验不多但会认真完成工作,希望能与大家合作愉快。 | |
梁河览 | 程序 | 梁河览 | 一名6系的韩国留学生,会c++和c语言。希望一起进步与成长 | |
马嘉 | 程序、策划 | 17373263 | 对Java比较熟悉,有一点点后端的经验,希望能和大家伙儿共同进步。 | |
朱俊豪 | 美术 | JunHaoo | 熟悉c和Java语言,安卓开发课程上在小组里打杂,无大型项目开发经验。希望和团队成员共同进步! |
2 项目概况
2.1 目标与预期
2.1.1 Beta阶段项目目标
- 设计并实现循环部分关卡
- 设计并实现选择部分关卡
- 制作详细完善的新手引导
- 优化用户体验,主要集中在UI、合成动画等方面
2.1.2 预期用户
我们的项目面向有以下需求的人
-
对编程有兴趣,希望通过游戏等轻松的方式初步学习编程的群体
名字 小刘 性别 男 用户背景 在 IT 行业越来越火的情况下,萌生了学习编程的想法,但又想以轻松一点的方式(比如游戏)入门编程,了解一下编程思想 用户偏好 希望能从游戏中领略编程思想,增进了解,帮助后续的学习 用户比例 预期游戏玩家的次要群体,偏少 典型场景 “唉,C 语言看的我头都炸了,这都什么玩意”、“我这些语句不是照着教程一行行敲的吗?为什么报错?什么?少了个分号(头秃)”。饱受入门时各种打击后,小刘决定寻找一种轻松的学习方式,于是某款不知名游戏进入了他的视线~ -
经常接触手游的小学生群体
名字 小徐 性别 男 职业 小学 6 年级学生 用户背景 能接触到的上网设备只有手机,平时做完功课的闲暇之余常常会玩一些手游打发时间 用户偏好 游戏机制简单,容易上手,但又足够新颖有趣 用户比例 预期游戏玩家的主要群体 典型场景 又到了星期六,我再也不用担心妈妈催我写作业了!悄悄拿起爸妈的手机,咦发现了一个似乎很牛 B 的游戏—“代码召唤”,这"炫酷"的特效,这"精致"的UI,糟了,是心动的感觉 -
想知道这些程序员写的这些英文句子在干什么的人
名字 小陶 性别 女 用户背景 在“编程”一词越来越火的当下,没有上过编程语言课的小陶同学对“编程”充满了大大的好奇,想要通过对轻松的方式了解编程是什么 用户偏好 希望能从游戏中了解编程是怎样一个过程 用户比例 预期游戏玩家的次要群体,偏少 典型场景 自从升上初中以后,小陶发现好几个同学们总爱在课间热火朝天地讨论着一个个她不懂的话题,什么 c 语言、python、java balaba,这个时候,她小小的眼睛里总是充满了大大的疑惑。于是小陶决定到知乎提问:初中生如何轻松地了解编程?于是有人向她推荐了这款游戏,从此,小陶打开了一个新的世界~~
2.1.3 Beta阶段新增功能描述
新增功能 | 验收标准 |
---|---|
循环语句组件 | 1、能够由玩家选择循环次数 2、UI上能够体现出循环语句块内语句与其他语句属于不同部分 |
循环语句关卡(3-5关) | 1、体现出循环语句相关的编程思想 2、难度曲线设计合理 |
选择语句组件 | 1、能够由玩家选择判断条件 2、UI上能够体现出选择语句块内语句与其他语句属于不同部分 |
选择语句关卡(3-5关) | 1、体现出选择语句相关的编程思想 2、难度曲线设计合理 |
新手引导 | 1、在每一部分的第一关加入对关卡及新功能介绍的新手引导(顺序、循环、选择) 2、在游戏第一关加入对游戏故事背景的介绍 3、在出现新的系统时即时加入相应的介绍(如合成按钮的目标切换) |
2.2 用户数据
我们Beta阶段期望的总计下载量为200+,截至2020.6.10晚,总计下载量达到227,满足预期
相比alpha版本70的下载量,beta版本下载量有了显著提升。
这一方面是由于推广力度的加大,另一方面是游戏内容和质量的提升
2.3 项目管理
2.3.1 分工协作
任务大类 | 具体任务 | 预估时长 | 负责人 |
---|---|---|---|
策划 | 1、设计循环组件 2、设计关卡4、5、6(循环关卡) 3、设计选择组件 4、设计关卡7、8、9(选择关卡) 5、设计循环关卡的新手引导 6、设计选择关卡的新手引导 7、优化设计顺序关卡的新手引导 8、搭建关卡4、5、6 9、搭建关卡7、8、9 |
2h 3h 2h 3h 2h 2h 2h 6h 6h |
吴桐雨 吴桐雨 吴桐雨 吴桐雨 吴桐雨 吴桐雨 吴桐雨 何瑞、吴昭邦 何瑞、吴昭邦 |
美术 | 1、实现循环关卡中的必要模型 2、实现选择关卡中的必要模型 3、优化流水线加入物品的动画 4、优化流水线的齿轮的动画 5、优化过关时的礼花效果 6、优化关卡选择页面的图标效果 7、实现循环关卡的关卡背景 8、实现选择关卡的关卡背景 |
4h 4h 4h 3h 2h 2h 2h 2h |
朱俊豪 朱俊豪 吴桐雨 吴桐雨 朱俊豪、马嘉 朱俊豪 朱俊豪 朱俊豪 |
程序 | 1、实现循环组件 2、实现选择组件 3、实现循环语句系统的逻辑 4、实现选择语句系统的逻辑 5、实现循环关卡新手引导功能 6、实现选择关卡新手引导功能 7、优化顺序关卡新手引导功能 |
2h 2h 8h 8h 3h 3h 3h |
何瑞、吴昭邦 何瑞、吴昭邦 何瑞、吴昭邦、马嘉 何瑞、吴昭邦、马嘉 梁河览、马嘉 梁河览、马嘉 梁河览、马嘉 |
PM | 1、组织例会,记录会议 2、跟进任务进度,做出适时调整和援助 3、撰写必要的博客 |
1h*n 1h*n 1h*n |
黄贤昊 黄贤昊 黄贤昊 |
测试 | 1、测试关卡4、5、6并报告 2、测试关卡7、8、9并报告 |
2h 2h |
梁河览、马嘉 梁河览、马嘉 |
2.3.2 管理方法
- 通过在项目管理软件中布置issue并关联负责人来跟踪任务完成情况
- 通过要求成员在每日例会中报告每日完成工作来确认项目进展
- 通过在每日例会中明确明天的工作计划来确保每个人都知道自己要干什么
2.3.3 平衡
-
我们项目组有两位机动人员(马嘉、何瑞)负责应对一些突发的工作进展不平衡状况发生
例如:开发阶段中期出现过美术方面工作落后的情况,马嘉同学这段时间负责帮助美术寻找资源,使得美术工作进度赶上总体进度
-
在时间与质量相冲突的情况下,我们先保证出口条件定义的硬性的必须达到的目标,放弃软性的没有时间去实现的目标来保证质量过关。
出口条件详见Beta发布说明
2.4 工程质量
2.4.1 测试矩阵
测试机型 | 分辨率 | 开始场景 | 关卡选择场景 | 第1-3关 | 第4-6关 | 第7-9关 | 第10-11关 | 备注 |
---|---|---|---|---|---|---|---|---|
红米K20Pro | 2340*1080 | 正常 | 正常 | 老问题,结算界面场景全黑(跟Unity里运行效果不一样) | 结算界面一直闪烁,无法退出或者点击下一关,只能关掉游戏进程重进 | 同左 | 同左 | |
华为mate20 | 2244*1080 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
三星 galxy wide 3 | 1280*720 | 正常 | 正常 | 结算界面在游戏界面后面。应该在前面。 | 同左 | 同左 | 同左 | |
华为P40 | 2340*1080 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
华为P10 | 1920*1080 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
华为 HONOR V20 | 2310*1080 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
MI 9 | 2340*1080 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
红米Note8Pro | 2340*1080 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 锁屏后解锁游戏界面有一半黑屏且在任何界面无法使用系统自带的返回键 |
2.4.2 功能测试
由于我们的项目是依靠unity引擎开发的游戏,整体开发偏向前端,所以并不能运用传统的对后端代码使用的单元测试那一套系统。我们使用了unity自带的单元测试功能输入必须是场景操作输入且无法通过数据表示
另一方面,为了指标化我们的代码质量,我们采用了unity的codecoverage插件来对代码质量进行测试,测试过程与单元测试类似需要手动在场景中进行操作作为输入样例
2.4.3 相关文档
3 实际进展
3.1 燃尽图
燃尽图总体而言较为真实的反映了我们组的开发状态,我们总体的开发速度相比计划较快,中间有一段进度倒退是因为根据目前的进度情况新加了一些工作内容
3.2 发布的功能
场景 | 功能 | 功能说明 |
---|---|---|
开始场景 | 开始游戏 | 跳转到关卡选择场景,并且加载之前游戏的记录 |
设置声音 | 调整背景音乐音量和按钮效果音音量 | |
复位存档 | 将之前的游戏记录清空 | |
退出游戏 | 退出当前游戏 | |
关卡选择场景 | 关卡选择 | 点击关卡图标进入相应关卡 |
关卡解锁 | 在完成相应关卡之后解锁后续关卡 | |
返回开始场景 | 返回开始场景 | |
顺序部分关卡 | 玩法说明 | 介绍游戏的基本玩法,在进入每一关时自动显示 |
组件库 | 提供过关所需原材料指令和合成指令 | |
工作区 | 将指令进行衔接的区域,支持指令的拖动换位 | |
调试按钮 | 点击后进入调试状态,再次点击退出调试状态。处于调试状态时无法与组件库和工作区交互。调试出错时会弹出错误提示。 | |
设置按钮 | 点击进入设置菜单,可以选择重新开始关卡、返回主菜单、退出游戏和继续游戏 | |
合成指南 | 点击进入合成指南菜单,显示本关的游戏目标和合成公式 | |
盒中物品列表 | 调试时显示当前箱子中已加入的零件,方便调试 | |
流水线 | 进入调试后执行指令的区域,会按指令向箱子中加入各种零件 | |
结算页面 | 合成出目标物品后弹出,显示关卡分数,玩家可以选择回到关卡选择场景或直接进入下一关 | |
快进按钮 | 点击后加快合成动画速度,再次点击取消加速 | |
循环部分关卡场景 | 循环组件 | 反映编程思维中循环思想的组件,能够在内部放入需要循环的指令,可以选择循环次数 |
其余功能和顺序部分关卡相同 | - | |
选择部分关卡 | 选择组件 | 反映编程思维中选择思想的组件,能够在内部放入满足一定条件后执行的语句,可以选择判断的条件 |
其余功能和顺序部分关卡相同 | - | |
附加部分关卡 | 功能和顺序部分关卡相同 | - |
3.3 发布平台
3.4 用户反馈
用户反馈的主要问题有两个
- 设置界面按钮的位置布置不是很人性化,不符合用户习惯
- 最后两关难度有所下降
同时也收到了用户对之后开发的意见
- 增加玩家自己创作关卡并上传,供其他玩家下载的功能
用户反馈的bug和测试中发现的bug详见BUG和问题汇总Beta
4 贡献统计
5 总结体会
成员 | 心得与体会 |
---|---|
何瑞 | β阶段的收获就是深刻地感受到设计阶段的重要性。在游戏的设计之初,我们其实并未明确的定义各个关卡中哪些组件是可重用的,形成一个技术文档,因此开发后各个关卡中冗余的prefab比较多,后期调整各个关卡都有的组件时发现要对每一关都做调整,而不是只用改一个prefab,这非常不简洁。其次就是加深了对Unity的了解,结合官网手册和百度解决了不少开发中的实际问题。 |
马嘉 | 我在beta阶段,更加深刻地了解了软件工程项目的理论,了解了软件工程项目中各个角色的定位和职责。还有就是体会到了软件工程项目中,成员之间的沟通很重要,沟通能提高效率。 |
吴昭邦 | 技术方面。主要学习了如何利用unity实现简单游戏功能,还学习了unity里的动画控制和坐标关系等知识 团队方面。锻炼了团队交流和团队协作的能力,作为一个大的项目,团队成员之间的合作非常重要,因为一个环节的完成情况会影响到其他的环节,所以大家都会互帮互助,争取尽早尽好地完成任务。而且和一个团队的成员在一起工作还会各自学习到他人解决问题的方法,他人思考问题的方式。大家通力合作,最后可以说是完美地完成了这个软工项目,这个过程用到的所有方法所有交流都是宝贵的经验。 |
黄贤昊 | 在Beta阶段,作为一个PM主要学到的东西是如何为团队介绍一个新成员,包括对新成员的上手引导和工作安排,这些工作都是以前没有预想过的。另一方面,在软件开发上,我认识到了中间版本的重要性,通过发布中间版本,可以即时发现一些bug和设计上的问题,即时调整开发内容和方向 |
梁河览 | 在Beta阶段学了很多东西。更了解怎么合理分工,然后有问题的话队员之间讨论解决问题,互相帮助工作。学了unity上的很多功能。 现在我感觉我的unity能力进步很大。 |
吴桐雨 | 经过Beta阶段的学习,敏捷开发的思想已经直击我的灵魂深处,密集的会议与交流帮助我快速熟悉了工作,频繁交付新版本能帮助大家不断审视过去的工作从而进行改进。然而,由于前期的爆肝,我的身心已经不堪重负了。我建议在个人项目与结对项目期间能少些博客作业,让下届小同学能有一颗健康的肝脏。 |
朱俊豪 | 回顾整个课程,我们学习到了一些软件工程的理论知识,并且以实践体会学习,我们团队做了一款具有教育意义的编程启蒙游戏。在团队开发的过程中,采用“敏捷开发”的方式,以需求为目标,与队友的讨论合作令人进步。对该课程而言,学习到软件工程知识是较重要的。课程组应以更具体的方式考察各组对软件工程知识的实践。 |