主页 > 亚游娱乐 > » 正文

几个高中生从零开始,做了一款免费的性教育游

2019-05-01 亚游娱乐

大家早上好中午好下午好,大家好才是真的好!我已经好久没有写文章了,因为最近很忙而且我其实也没有写的义务嘿嘿嘿。不过我还是挺想写一篇关于我最近做的事情的文章的。想写这篇文章其实还有点私心,计划着可能过个一段时间拿出来看看会颇有感触。

当然,我写这篇文章主要还是想要分享一下我踩过的一些坑以及中间的点点滴滴,让各位可能也想要做游戏,甚至不一定是想要做游戏,只要是想做点什么有意义的事情的能够避免走那些我走过的弯路。

1.jpg

所以,我从零开始,做了一款游戏

怎么算从零开始?

整个游戏除了音乐和字体这些素材外,全都是我和我的朋友们(指CTB小队成员,假设他们把我当成朋友)原创的。整个游戏从想法到发行都是我们一步步自己做出来的。这当中包括但不限于:研究和我们要做的游戏有关的任何东西,写游戏框架,拍游戏素材,上线软件商店,宣传。。。。。。

2.jpg

先说说研究。

还记得那天晚上,我正在快乐反恐(我是彩虹六号著名下包疯子),然后手机就收到一条消息。那时候我正好在下包,手机震了一下影响到了我的操作(虽然我没什么操作可以被影响),便抱怨了句:“谁这个点给我发消息?”打完了那盘后打开手机一看,发现是我去年的CTB队友给我发的。她这么一个漂漂亮亮的小姑娘我自然不敢怠慢,赶忙解锁手机查看消息,一边在心里打自己耳光为刚才说过的话道歉。

3.jpg

哦,原来是问我要不要再搞一次CTB啊

面对这样的请求,我自然是不敢拒绝的。所以我就应了。但是假如我当时没答应,会不会现在的我不会在写这篇文章而是在做其他事情呢?那我会做什么呢?我会不会还有这和现在一样的思想,我身边会不会有着不一样的东西。万一我拒绝了我现在没有变得更差反而变得更好了呢?我当时就想过这件事情了,就算我的生活会变得更好又怎样,我当时清楚地知道对于当时的我来说选择去做这件事情是对我最好的。不管选择这件事时候发生的事情有多糟糕,我都认。因为这是我自己做的决定,只要是我自己做的决定,那未来就是最好的。

所以我说,干吧

4.jpg

做什么游戏?

说了这么多还没说要做啥游戏。我当时和这位赵小姐讨论出来说做关于性教育的课题,想想看性教育这玩意儿怎么和科技结合起来。毕竟不和科技结合也不会看上我这么个人。我想了想说:“做个游戏呗,就像最近很火的那个Super Seducer一样。”

5.jpg

6.jpg

感兴趣的朋友可以自己去查一下这游戏到底是干嘛的,这里就不细说了。

怎么做?

从这儿开始,就是咱们这回忆录(算是吧)真正关于做游戏的地方了。

首先最重要的问题就是,这游戏做出来是给什么设备玩的?

小孩子才做选择,我这游戏是打算全平台的,甚至包括WindowsPhone。既然要做这么一款全平台向的游戏,那么肯定要用一个合适的游戏引擎。拥有三年Unity3D瞎折腾乱鼓捣经验的我不假思索地选择了Unity3D作为我们的游戏引擎。

7.jpg

Unity3D难吗?

开头难,中间也难,到头了我也不知道,因为我还在中间阶段。Unity3D这款游戏引擎在刚接触的时候可能会觉得很复杂,但是实际上如果你玩过游戏(必然的吧)就觉得像在玩游戏一样(这点做得比Unreal好)鉴于我这次要制作的是一款2D游戏,难度会更加低一点。因为我想做的游戏和那种橙光游戏类似,所以一开始我是打算找找看Unity有没有那种做AVG游戏的框架的。结果用下来发现很多功能都用不到,而且用起来也挺麻烦的。所以最后打算自己造一个轮子,让我这游戏跑起来。

8.jpg

用橙光游戏制作工具做的游戏

自己做游戏系统,怎么做?

我之前遇到过一个做游戏的,我问他做游戏技术上是不是很困难,是不是最重要的。他和我说,做游戏最重要的是想法,只要你有了一个好的想法,技术不是问题。到了我自己做游戏的那一天,我觉得他说的话只对了一半。一个好的想法固然很重要,但是你如果没有技术去支持这个想法,那就是空想。

空想,是我最爱干的最没用但自己又觉得最有用的事儿

我想了下我的游戏需要实现的功能大概有以下这两个:

存档功能,

弹出个对话框,选择不同的选项会有不同的结果

把这两个拆得细一点,就有了这些事儿要做:

    保存当前章节的当前节点,    读取存档内容并载入存档章节中的存档节点,    新游戏,    对话框将会在每段节点(视频)结束后弹出,    选择不同的选项将会触发(播放)不同的节点(视频)

所以这游戏的主要系统需要实现以上这五个需求。

我怎么做出游戏的主要系统?

如果你只想看这篇文章里面关于我做游戏的时候发生的有趣的事情,那么你可以跳过这个部分。如果你想看看我是怎么试着像一个计算机一样思考,可以看看。

系统工作流概述:

Unity支持C#语言,由于我对Unity的C#环境还不是很熟悉并且开发周期比较紧迫,我这边使用了一款叫做PlayMaker的插件。这款插件我极力推荐,很适合初学者,对代码一窍不通的人,或者就是像我一样懒得去翻Unity的api库想要直接开干做游戏的人。它可以让我不去使用代码而是使用可视化代码块来解决一些事情,但是在使用它之前尽量还是要掌握基本的编程知识,毕竟这个插件只是帮你省去了构建诸如videoPlayer A = new videoPlayer(GameObject.findByTag("A"));(我不知道有没有这种方法和用法,但是大意差不多)的变量或方法。

9.jpg

保存当前章节的当前节点,读取存档内容并载入存档章节中的存档节点,新游戏

每个节点都有一串字符串标识,比如说第一个章节的第二个节点就是”102“游戏系统会在开始的时候检测存档文件有没有这串字符串,如果没有的话就是新游戏,如果有的话就会读取相应的节点。我使用了一款叫做EasySave3的插件,这个插件能够让你很方便的实现存档功能,推荐一下。

对话框将会在每段节点(视频)结束后弹出,选择不同的选项将会触发(播放)不同的节点(视频)

游戏种有许多视频和对话框,我选择把他们都存在数组里面。通过平行数组的方式(平行数组其实不好,如果我用代码写的话会写一个Class去代替平行数组)触发这些视频和对话框。当电脑检测到一段视频播放完毕,就会去触发相对应的对话框数组中的对应元素,实现选择的效果。

以上就是功能的操作逻辑,现在让我们看看我们如何去具体实现他们吧。我就给你们看一部分把毕竟这些东西可能有点枯燥。

10.jpg

取视频数组将暂存变量的值设为标识变量,暂存变量会用来存档,标识变量会在之后被变为-1(因为逻辑设计关系如果表示变量在整个系统循环的时候大于等于0就会直接再跑从而陷入死循环)将视频播放器组件的播放源设为视频数组中的第标识变量个元素播放视频每帧都检查视频有没有播放结束,如果播放结束则设定videoKey变量为true每帧都检查videoKey变量是否为true,如果是true就触发对话框

设计游戏界面

作为一个资深工具男,我肯定是熟练掌握Photoshop操作的。我一个人设计了整个游戏的ui元素,整体采用了蒸汽波的风格。这里得感谢万能的淘宝为我提供了这么多好的蒸汽波素材。

11.jpg

12.jpg

13.jpg

14.jpg

除了设计好这些元素后,还得应用。我使用了一款叫做DoozyUI的插件来帮助我快速构建一个UI系统。

15.jpg

是不是感觉界面还挺友好的,千万不要用这里面的GameEvent功能,就是个大坑。为了摆脱这个坑我花了三个多小时重新绑定页面。

但是DoozyUI的一些坑算小坑了,再在这之前我使用了一款叫做EasyMainMenu的插件。那款插件自带了主菜单,也很炫酷,但是坑更大,具体什么坑我就不说了你们可以去看我ctb小站上的日志。

16.jpg

你们永远不知道我在发布这条日志之前经历了什么可怕的事情

制作游戏内容(Shoot, Edit, Repeat)

光光有游戏系统可不行,内容也是很重要的。我们的游戏每章都有剧本,剧本是我们整个CTB小队大家一起写的。所以你会发现我们的游戏内容一个章节里经常会有风格很不一样的地方。比如说下面这两段的比较,他们都来自一个剧本。

17.jpg

这个不是我写的

18.jpg

这个是我写的

风格是不是很不一样哈哈哈哈哈。

在写完后呢会有两名成员进行剧本的翻译工作,毕竟我们这游戏说是还要给洋人玩。

拍摄日:

我们第一章的拍摄是在其中一个队员,也是你们熟悉的老朋友了MikeWallace51(兼MoreClub社长)家里,因为他家还蛮大的。

19.jpg

20.jpg

21.jpg

22.jpg

23.jpg

拍摄并不是拿个相机就去拍,需要布光,布景,录音等等。。。。。。并且还有布景,化妆这种事情要做。这里说到化妆就顺带提一下那天专门从距离拍摄地点三公里左右的家中赶来的MikeWallace51的好朋友了,就是第三张图中间的那位小姐姐。我们整个剧组的妆都是她帮忙画的。

24.jpg

性感MikeWallace51,在线化妆

25.jpg

给你们看一下她化的妆+我布的光拍出来的超级可爱的赵小姐。

26.jpg

这里安利一下影视飓风的飓风灯,支持1600万色的调光+新版支持micro usb供电,简直就是拍摄神器。

27.jpg

28.jpg

这位是男主,它后面的伞是柔光伞,这个比起柔光箱来说便宜了太多的东西是上次帮一个学长去拍电影的时候了解到的,也很好用。

29.jpg

MikeWallace51和我的激情自拍

最后分享一张我们的杀青照:

30.jpg

(化妆小姐姐上午有事走了所以她自己把自己p了上去,早知道我就和MikeWallace51换个位置了)

剪辑

既然是从0开始制作一款游戏,那么在制作了游戏系统,拍摄了内容后,当然也要把视频剪了。我这个人不喜欢熬夜,但是如果是做喜欢的事情可能就会熬夜到一发不可收拾。去年在做历史电影的时候在拍摄完素材后回家就兴致勃勃地剪视频剪到了凌晨三点。所以我也挺担心自己万一哪天猝死了怎么办,但是如果我是在做自己喜欢的事情的时候猝死的,那也死而无憾了吧。

31.jpg

这是我的Premiere工作区布局,大家看得起的话可以参考一下。

说到Premiere我就不得不说我和它的爱恨情仇。从七年级开始学这软件开始算,假如它每一次崩溃我都能拿一块钱,那我现在就是个百万富翁。不过我还是很爱它的,否则也不会每年花两千多块钱去订阅他的正版(好吧给Pr太多面子了还有一部分原因是因为Ps)

我也有在用Final Cut Pro,这软件的操作逻辑比Pr人性化,比Pr好看,而且奔溃次数也比Pr要少的太多。但是我只有在剪小的Project的时候才会使用Final Cut Pro,因为我的Mac容量太小了用不动Final Cut Pro那怪兽般的资源库机制。

而且,我对Pr竟然还他妈的有点感情。

与国内审核机制和美帝资本主义的斗争。

游戏做完后肯定要通过商店发行的咯,当时我考虑了GOG,杉果,Steam,AppStore,GooglePlay,酷安,TapTap这些商店。最终因为GOG没有回复,GooglePlay还要交钱(我苹果和Steam交了钱GooglePlay觉得没必要交钱所以没交),酷安要营业许可证明而选择了杉果,Steam,AppStore和TapTap。在向杉果和Taptap提交游戏简介的时候我感受到了伟大的国内审核制度。杉果直接拒了我的游戏,而Taptap则给出了一系列的约束。但是毕竟人家还是愿意发行我们的游戏的,所以我还是爱TapTap的。

32.jpg

33.jpg

34.jpg

35.jpg

唉,凭什么某些充斥着巨乳的策略类卡牌游戏能过审还能上推荐,我这么一款正能量的,有教育意义的游戏,全程啥都没露被套上了这些枷锁。这一刻我意识到了国内的审核制度是有多么落后,多么敏感。就好像鲁迅先生说的一样:

一见短袖子,立刻想到白臂膊,立刻想到全裸体,立刻想到生殖器,立刻想到性交,立刻想到杂交,立刻想到私生子。中国人的想像惟在这一层能够如此跃进。

无独有偶,国内商店有着奇怪的审核制度,而国外这里又有憨态可掬的G胖准备朝你一个纯公益的免费游戏开发商收取30%的营业额。虽然G胖赚不到这30%的营业额,因为我们的游戏是免费的,但是我还是被搞得很恼火。在你注册Steam开发平台的时候要需要填写一份税务调查表,因为保密协议规定我这里就不放出税务调查表了。这张税务调查表审核需要一周,而我被驳回了两次。所以一共花了一个多月的时间去解决这个事情,幸好我在做游戏的初期就申请了Steam开发者平台,否则肯定会影响到游戏的发布。

哦我可以给你们看看Steam商店上我们的游戏长啥样,这个不用保密的因为已经公开了。

36.jpg

37.jpg

商店地址:https://store.steampowered.com/app/1016110/SelfReliance/

我们的游戏两月八号就正式发布了哦,欢迎大家到时候去玩,电脑平台支持PC和Mac,移动端可能还得等等,或者如果我牛逼的话就不会延期。

最后说点杂的

总的来说,从零开始做一款游戏对我和我们CTB小队的每一位成员来说都是一次很有挑战性的事情,但是也很好玩。通过从零开始做一件事情你真的可以学到很多很多学校里学不到的东西。互联网会成为你最好的伙伴。你一定要对你正在做的事情有足够的动力才能完成它,因为你可能会体验到做一件事情到凌晨(貌似大家都熬夜所以这个应该对大家来说是小case),去解决一个连互联网都不能帮到你的问题,和不同的人打交道(为了做这款游戏我们找过医生,其他学校的人,游戏商店的人甚至是检察官),以及面对无人问津的勇气。很可能我这游戏做出来后没有人玩,甚至这篇文章都没有人看。我虽然会气馁,但是我绝不会后悔。我在做每一件事,每一个决定之前都想好了。要是这件事情或这个决定没做好,我也不会后悔,因为他们已经成为了历史,是既定并无法改变的事实。我能做的只有去改变未来。

所以,假如这文章没人看,这游戏没人玩,我也会自豪地和别人说:

“瞧,我多伟大,我从零开始做了一款游戏!”

38.jpg

我衷心感谢并感到荣幸与以上的所有人(除了我自己)共同参与到这次的CTB体验中,并且一起去制作这款游戏。把这款游戏从0变成1。

非特殊说明,本文由优亚游娱乐平台官网_超越平凡生活原创或收集发布,欢迎转载