腐向杂食

同人游戏 《打鼓莫扎特》Free Talk

又到了惯例的Free Talk时间!因为是游戏的Free Talk所以也打上了tag不知道是否合适……?游戏的本体在这里

以往会把Free Talk写成Tech Talk,或者不如说这根本就是Tech Talk!

有关关卡设计的话题要等完整的游戏发布之后才能开始讲,所以这次就来讲讲程序方面的机制好了。

0、虽然只是两分钟的游戏体验,但背后我们应该是花了超过200个小时来做,主要因为scope比较大一点。至于理顺pipeline额外花的时间啊,最后无限的polish搞得人精神崩溃啊之类的事情是游戏项目的默认耗时就不提了!

1、音游的核心机制就是谱面,一切都是谱面驱动的,画面播放和击打判定压根他妈的没关系!明白这个道理之后事情就会变得简单许多。首先我们有一条谱面记录timestamp上的按键(这条谱面和音乐自己sync),让它作为主线程,然后需要处理以下的三个事件:

2、玩家按键判定,这件事非常简单,每当读取到玩家输入的时候,对比当前的timestamp和谱面的记录做判断。

3、音符演出,为什么音符演出单独拿出来说因为它是generic的,音符在特定timestamp时的位置是计算出来的!也就是说每一秒会重新的,独立地计算它的位置,而不是按直觉让它从原有的位置移动……

4、舞台演出,IBE这个关卡的舞台演出是有另一个线程控制的,除了音符以外的所有视觉效果都是让它来的,要再细分的话就分为演出效果和功能效果?演出效果包括前景的小人动画的切换,而功能效果则是有填星星,填combo条,算分之类的东西,但总而言之这些效果是特定于IBE这个关卡的。

5、除了以上功能之外,还有一些游戏的基础功能:教程界面,暂停界面+功能,结算界面+功能(包括回放模式),总而言之就是看似无关紧要但是必须也要做的东西。

6、谱面编辑器,为了录制谱面我其实写了个谱面编辑器,不然可怜的澜老师就要手动输入200多个timestamp了,这对谁来说都太残忍了……谱面编辑器是我得到乐趣挺多的地方,写起来很有趣……?但是这件事也是需要思考的地方,就是这个编辑器恐怕其他的关卡不能用上,还是要generic化才行。

为了更像Free Talk一点来说些别的吧。

还是忍不住想拿两分钟来说下事,两分钟的时间拿来看文,大概也就够看完一个5k字的短篇?所以这个游戏目前的规模来说其实就是一个普通短篇的程度(而我之前做的那些大概相当于千字短打之类)……

而即使是这么小规模的游戏……我个人来说如果不是正好专业在读的话,估计都不会有这方面的天赋树。仔细想想就算能做出framework来,至少也得是个Unity程序员才能用的起来吧,我的工作也只是能达到,我自己先花费100小时,帮助之后的每个人省50个小时的程度……

当然啦,作为程序/策划/德扎粉都有各自的乐趣,作为程序能写没写过的东西就挺好玩的了,作为策划呢试着表达了一些只有通过游戏这个载体才能传达的东西(这一点会在完整版里体现的更多),而作为德扎粉献上了爱!三件快乐的事情重合在一起先打死再说,我个人还是挺满意的……!

评论(3)
热度(114)
© 环木林地 | Powered by LOFTER