撰写了文章 更新于 2018-10-23 07:25:53
反思——我与pygame的一周
序:
这是个记录我第一次完整游戏制作过程的日志,这也是一个反思我在整个游戏制作过程犯下错误的记录。可以说,非常希望dalao来指点了!
经历了从周二到周日,睁眼闭眼都是pygame的时光,我想在此记录下这痛并快乐这的30小时,并记录下一些我在开发中遇到的一些问题,希望以后自己不要再重蹈覆辙。
周一,老师布置了作业下来,说是要拿pygame制作一个,玩家利用鼠标操控人物,让人物躲避墙壁到达终点的游戏。在这之前,我对pygame可以说是一无所知,整个课上,对于python的教学也就前进到list,我是真的有点无法想象去写一个完整的游戏。所以,当老师布置作业的时候,课堂上也多少有些波动。
不过好在老师有给一个他自己做的模板,包含了挺多基础的功能,例如如何加载图片,如何加载动画,检测颜色,但碰撞,切换关卡,开关等重要的功能,他都并没有给出。
这是老师给的模板,但是只具备基础的功能
作业的期限老师给了一周的时间,希望我们能交上一个有趣并且有创造力,含有两个关卡的游戏。因为时间很赶,所以周一下课后,我就开始构思,我该如何做这个作业,接下来,我将按阶段来分析,我在这次作业犯下的错误。
第一阶段:异想天开
游戏制作还没开始,我就犯了感觉所有新人策划都会犯的问题,那就是异想天开。一开始,我是想制作一个会发射弹幕的敌人(受ZR影响过深)。让后,较为开阔的地图上,玩家靠着墙壁(弹幕碰到墙壁会消失),缓慢前进这样的感觉。
但,我完全没有料到,pygame开发游戏的难度有如此之高。我天然的代入了最近学习的GMS,并且用了我对GMS的理解来理解pygame,实际上两者根本不是一个东西。
确定下了机关后,我打算将自己需要的功能都列下来,让后逐个去Google,这样可能效率会更高。
当时给自己列下来的功能需求
在这个阶段,我还犯下了过于盲目相信Google的代码,没有更早的进入试错阶段,忽略了每个功能之间的相互牵连性,我只是单纯的把可能能用的代码复制粘贴的记录下来,并没有真正的去研究它的可行性,导致后面很多代码不可用,功能无法实现,在试错的时候花了非常非常多的时间!说到底还是编程实力不够强!
应该在列下功能需求后,直接去研究老师给的底层代码,研究透彻后,再去Google代码,就可以了解到这块代码的可行性。
反思:
- 不要在纸面上消耗过多时间,确定了大概思路,列下了功能需求后,直接进入代码试错阶段!
- 将底层代码先铺垫好,再去google对应的功能代码,在找代码的时候,需要真正了解是否能运用到游戏项目中。
- 底层代码真的很重要!
第二阶段:功能测试:
其实在还没进入这个阶段前,我就又犯下了一个严重的错误,就是没有及时跟自己的队友沟通,导致队友对自己需要做什么事情产生迷茫,导致进度不一致,导致对我是否要一起组队产生怀疑。因为我的失误,我们又需要花额外的时间,去理解彼此的想法,需要沟通彼此需要完成哪些事情,安抚情绪,而这一切应该在确定大概思路后,就应该去做!
我被骂惨了
进入了功能测试阶段后,我又再次认清了另一个策划大忌,那就是临时追加需求实在是不太可取!因为,真正进入了开发阶段后,我才知道之前想做的弹幕功能有多么难做,就单单是判定敌人动画到第三帧开始执行吐弹幕,吐完了在把嘴闭上,都消耗了我很多时间去查询,但最后也没有什么结果,所以我打算追加新的功能,来增加乐趣,而我追加的就是摄像机!做一张3200x2000的迷宫,让玩家在800x600的窗口上探索。而我万万没想到,这个摄像头消耗了我更多的时间,去对每一个已有的功能进行修改。
早期对弹幕的测试
首先是摄像头的实现方法,在Google上虽然有,但大多都是用了Class,而因为我已经写好了底层代码,如果要用Class去实现摄像头,需要我将整个底层代码重新写一遍,所以我思考了好久如何实现,最后用了奇葩方法去做到了。给游戏的四周都加上这种条状的物件,当玩家与物件产生碰撞时,Camera移动。
调整起来太麻烦了
当,摄像头的移动同样带来了新的问题。原先玩家与地图的碰撞,我都是通过给地图上mask,当玩家与地图overlap后,hp-1。但,摄像头的加入,会让mask乱成一团,原因未知。因为没有解决办法,我们只好将花了一段时间研究的mask方法舍弃掉,而重新采用利用颜色去判定碰撞。这里又花费了额外的时间,去写新的功能。
可以移动摄像头了,但是碰撞又不得行了
反思:
- 及时与队友进行沟通!交流进度!在确定大概思路后,就要跟队友协商相互负责的部分!
- 临时追加需求需谨慎!
第三阶段:冲刺阶段:
在完成了大概的功能后,我跟队友就开始着手对美术素材跟地图设计下手了!但在这个阶段,因为我对PS的不够了解,盲目的去做了些美术素材,最后导致这些美术素材无法用上可以说非常可惜了!
在冲刺阶段中,对于体力的管理,以及劳逸结合真的非常重要!我们整个周四-周日,每天基本上要花接近10小时在pygame上,经常会出现,不知道接下来要做什么,对着屏幕发呆,成品质量下滑,需要再加工的情况出现。因为花了太多时间,到了第二天,甚至会出现想要逃避的心理。
背景,一天之内完成这两个东西,真的把我狗命都要了
这时候稍微有点游戏样子了
反思:
- 就算接近截止日期,也同样需要劳逸结合!
- 我还需要提高对每个软件的理解!不然会给出错误的指示!PS/AI/Maya/Zbrush/Pr
第四阶段:细节完善阶段:
当地图,主人公,敌人的美术素材都完成时,我就开始试图去完善一些游戏细节上的东西,例如:死亡界面,开始界面,剧情等。在整一个做游戏的阶段,可以说只有这个阶段时最让我感到愉悦的,因为,一切事情都可以按照自己设定的框架前进。
当然,在这个阶段,应该还需要找人来进行测试或自己再测试测试,修改一些bug。在凌晨做完的时候,我就直接上交了。当第二天我打开再游玩时,还是发现了一些例如:窗口大小不一致的bug。
开始界面
Level 1
伪-弹幕
死亡界面!特殊弄了一个鼠标!
反思:
- 上交前多多测试游戏!Bug,很可能隐藏在一些小地方!
总结:
整体来讲,这是我第一次体验团队合作并且较为完整的游戏制作过程,可以说真正让我学到一些书本上学不到的知识以及经验!真是痛并快乐着啊~希望我提到这些小点能帮助到看文章的各位,也希望我自己在以后的游戏制作中,不再犯下!
过段日子,估计又要开始把暑假并没有做出来的Ball Game, 拉出来鞭尸,跟同学估计在3周以内做出demo吧~估计到时候也会写出一个日志!
See you at the next game~
!
陆仁钾 1年前
EEhentai [作者] 1年前
发布
Gakari 1年前
给大佬献上膝盖orz
下一部是不是该追随偶像去48小时极限开发了?(等一个极限gamejam
EEhentai [作者] 1年前
发布
阿披 1年前
EEhentai [作者] 1年前
Gakari 1年前
发布
kEN 1年前
发布
東雲閑 1年前
EEhentai [作者] 1年前
发布