本WIKI由cl的光玊申请于2021年08月04日创建。本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~

全站通知:

QA blog/愚人节活动开发纪实

阅读

    

2023-06-02更新

    

最新编辑:Nudekaru

阅读:

  

更新日期:2023-06-02

  

最新编辑:Nudekaru

来自偶像荣耀/idoly prideWIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
Nudekaru
cl的光玊

如果是第一次来,按"Ctrl+D"可以收藏随时查看更新~觉得WIKI好玩的话,请推荐给朋友哦~(◕ω<)☆
按右上角“WIKI功能→编辑”即可修改页面内容。



初次参与移动游戏开发,担任了IDOLY PRIDE愚人节游戏内活动策划的故事


text-center 2023/04/27 公开  text-center 大约需要 8 分钟阅读


  • Unity
  • 带薪实习
  • 成长
  • 学习



TechBlog thumbnail 54.png



写在前面

大家好,我是在株式会社QualiArts带薪实习的24岁应届毕业游戏客户端开发工程师,初野广梦。
我是从今年2月份的时候开始参与到「IDOLY PRIDE」(以下简称"偶像荣耀")的开发工作中的。

早些日子里、2023年4月1日的时候,偶像荣耀手游内开催的愚人节活动中,由我负责开发的功能实装了。
这次、想主要写一写我第一次参与到和团队合作,一起协力开发移动游戏的这一过程中,所学到的事情以及自己的感受。


愚人节活动概要

这次偶像荣耀的愚人节活动主要是以「里美也一起作为偶像出道」这样的企划而开展的。
在谈论到我所负责实装的内容之前、首先请让我介绍一下关于「里美也一起作为偶像出道」究竟是一个什么样的企划。

什么是「里美也一起作为偶像出道」?

里美是在偶像荣耀内登场,且在已登场的各个偶像们所属的星见事务所中担任新人经纪人的角色。

TechBlog stm normally.png
作为新人经纪人登场的里美



「里美也一起作为偶像出道」主要是讲述星见事务所旗下新人经纪人里美分裂成5个人,组成偶像团体出道的故事。

TechBlog thumbnail 54.png
「里美也一起作为偶像出道」



为里美的拍照功能

为里美的拍照功能就如其名、是可以为里美进行拍照的功能。

偶像荣耀中有可以给偶像们拍照、并且将拍下的照片用做名为「相片」的游戏内道具进行收集的功能。
关于偶像荣耀内的拍照功能、您可以在本博客中的 拍出属于自己的照片并在游戏内使用!IDOLY PRIDE中的拍照功能详细结构说明 一文中查看更加详细的说明。

由于里美在游戏内并不是以偶像的身份登场,因而平时无法为里美进行拍照,这一次的愚人节活动中我们举办了可以为里美进行拍照的期间限定活动、有大量的玩家都参与了本次活动。
我在这次的为里美拍照功能中、担任了「将选择的照片投稿至外部SNS网站」功能的开发。

TechBlog stm Photo1.png  TechBlog stm Photo2.png  TechBlog stm Photo3.png
TechBlog stm Photo3.png
可以选择已显像的照片进行投稿



实装

我过去有独立开发游戏的经验。
但这是我第一次开发移动游戏、所以我抱着想要活用至今所学到的经验,来为之开发出更好更优秀的功能这样的想法,进行了这次功能的开发。

开始着手开发实装时、我感受到了QualiArts在开发时代码底层的完善以及充实度。最初看到源代码时、说实话被其完善程度吓了一跳。
比如说、一开始在我进行开发实装想要的功能之前的时候,我在想如何才能防止玩家同时点按画面造成Bug的问题,但是由于有非常简单就能轻松实装按钮的底层代码,基本上实装者不需要考虑很多情况就能直接轻松的设计出想要的效果。
再比如说、想要从零开始实现长按按钮之类的东西时,会发现需要花费大量时间的要素也有底层代码可以直接调用,非常简单的就能实现想要的功能。

而且、偶像荣耀的Unity源代码开发主要是使用MVP架构来进行编写的。[1]
对我来说我也是进入到了QualiArts之后才知道MVP架构的这种代码编写方式。但是、您也可以查看一下本Blog中的 Web开发出身的Unity工程师是如何进行对大型游戏的底层代码逻辑开发 就能对MVP架构有大概的了解了。

我大概在读了之后的1~2日就对底层代码的逻辑和设计思路有所理解了、于是很快的投入到了实装开发的工作中。
里美的拍照功能和当前已有的拍照功能其实有很多相似的部分。因此虽然有很多地方可以直接使用原先设计好的思路和代码,但是作为和目前已有的拍照功能的不同之处,仍然有以下几点功能需要实现。

 • 目前已有的拍照功能之中,被拍下照片的偶像与之对应会有信赖度上升的动画演出效果,但是因为里美在游戏内本身并不是偶像所以不需要这一演出动画功能
 • 拍下里美的照片可以投稿到SNS的功能(投稿到SNS的功能原先是给别的地方设计的所以可以直接使用)
 • 如果有多张照片想要投稿到SNS的情况下,点选的照片会显示"选择中"的字样功能

可能会有人觉得其实只需要实装一点点功能就可以做到了,因为看上去似乎很简单。但是由于大型游戏的开发涉及到许多参与的团队成员,也会有团队成员之间发生变动的情况,因此即使是在做比较细小的功能实装时,要是自己随意的就写了代码,在实装完成之后对于团队的总体协作开发而言可能会留下许多不好的影响和后果。我自己也是在2023年4月末就要结束带薪实习的工作,离开QualiArts。因此关于源代码的设计必须要符合目前团队已有的思想和逻辑。

到了真正开始着手进行实装的开发时、我其实也是并没有完全的理解和编写太多源代码。虽然我是处在这样的情况下、但是基本上也就是删除掉源代码里不需要的部分,追加上需要的部分,总而言之就是拼拼补补的完成了这次的实装设计。从开始整理环境到结束基本上花了6个工作日就完成了。

Pull Request Review

在完成拍照功能的实装设计阶段之后、我进行了PR。我个人至今为止接受他人Review的经历还比较少、现场的工程师大佬们能够阅读我所编写的源代码对我来说也是非常宝贵的经验。[2]

偶像荣耀的Unity开发主要是在Github上对源代码进行管理。Review则是采用2Approve制,也就是说如果相同团队内没有2人或以上的工程师认可你所编写的代码时,你的代码就不会被合并到总分枝中。

最初我的PR得到了工程师们大量的指正。通过Review的评论,我意识到我所按照「总之先把需要实装的内容拿出来」这样的想法去编写的程序是不行的,在这之后我进行了共通化处理并且以新的MVP架构制作了新的Class(类),根据其设计思想又重新进行了所需实装功能的设计。

这一次我经历了很多次的重做和他人的指正,作为Unity工程师而言对我来说是很大的成长。
实际上就像下面的截图一样,对于仅仅1个功能我就收到了76条评论,在经历过非常多的指正后改善写出了更好的代码。

TechBlog pullRequest.png
我的PR收到的评论数



从将if语句以繁化简的方法到MVP架构思想的提出,我收到了很多很多的评论。

TechBlog pullRequest3.png
将if语句化简会更好的评论



TechBlog pullRequest2.png
关于MVP架构设计思想的评论



从简单的指正到设计思想的指出我收到了很多很多的评论,切身的感受到了自己技术能力的提升。因为PR的修正时限有6个工作日所以还有十分充裕的时间,接下来就开始进行专心的对PR所提出的问题进行修正了。我自身也在成长的过程中和团队成员联系在了一起,今后即使是新的团队成员在使用上对于我的代码和功能也可以没有问题的便捷使用。

Bug修正

在合并到总分枝之后,接下来就是对Bug的修正了。在Bug修正上,主要是由Debugger的工作人员发现Bug并对Bug进行复现,直到Bug不再发生前都会重新进行实装和PR,有的Bug是可以直接通过更改源代码就可以修正的,而有的Bug甚至需要好几个小时才能修正。偶像荣耀的开发过程中,关于Bug的调查主要是由Debugger的工作人员来进行,使用一个名叫Remine的工具来进行对Bug的报告。

从Redmine提交给我们的工单一般会含有Bug的复现方法和复现视频之类的情报,对于修正Bug的效率而言有很大的帮助,可以很快的定位问题并修正。在进入Bug修正的阶段时也会跟进到下面的任务,二者同时进行,但速度不会放慢,基本上就是很顺利的完成了任务。

Release当天

直到Release的瞬间、我一边期待着能有更多更多的玩家用上我制作的功能,同时也因为在想是否能够顺利运行而感到不安。

迎接到当天时、看到我制作的功能被很多很多的玩家使用,并且也在SNS上收获了很多关于「里美也一起作为偶像出道」的感想。那个时候,感觉自己所有不安的心情都转为了喜悦。

当天晚上我在SNS上确认玩家们的反馈时,感觉即使开发过程中的幸苦和困难有很多,但是这一切都是值得和有意义的。

结语

在进入游戏公司前,我总会在想游戏公司会在多大程度上听取玩家们的意见来进行游戏的开发。实际亲身体验过之后,我再一次确信了他们是在认真听取玩家们的呼声作为参考来进行开发的。

游戏开发真的很不易,但为了让更多的人开心,今后我也会继续加油努力的。


外链与注释

  1. MVP架构:指 Model-View-Presenter,关于更多详细可参阅 MVP (Model View Presenter ) 简介
  2. Pull Request Review:Pull Request,提交代码更改到总分支的意思;Review:Code Review,其他人检查代码并提出讨论的意思。