Take a look at the trailer above, and you’ll see that Nuclear Throne is in essence an action game. That’s what we do at Vlambeer, we make action games. If you try to distil all that power and adrenaline-filled chaos into one thing, chances are you’ll end up with explosions! So let’s dive deeper into those glorious balls of fire, and see how we’ve made them for our post-apocalyptic roguelike-like Nuclear Throne.
看看上面的预告片(我懒没贴连接,sry),你会发现Nuclear Throne本质上是个动作游戏。我们Vlambeer就是干这个的,我们就做动作游戏。下面说说,我们在末日风格的roguelike游戏Nuclear Throne中是怎么制作充满肾上腺素的爆炸效果的~
Our most common explosion consists of a beautiful 9-frame animation by Paul Veer (note the great trick with the black and white circles rapidly creating contrast), and a loud, crunchy sound effect by Joonas Turner. Explosions deal damage to enemies, props, and the player.
Paul Veer制作了我们最普通的爆炸,9帧的动画(这里有个很棒的小技巧,注意内个黑色和白色的圆形,它俩是为了突出对比效果才加上的),还有一个Joonas Turner制作的一个声挺大听着就像是把东西崩碎的音效。爆炸对敌人、物品和玩家都会产生伤害。
When an explosion spawns, it’ll shake the screen a little, spawn a ring of dust, and a bunch of smoke. Dust doesn’t last very long and is used to communicate movement, while smoke lingers longer, looks darker, and is usually created by fiery things.
当爆炸特效生成,它会轻微的抖动屏幕,生成一圈尘土,还有一些烟雾。尘土持续时间比较短,用来交代移动效果,烟雾呆的时间就长一点儿了,看着更暗,通常都是由燃烧的东西产生。
Next, we allowed explosions to destroy walls. This doesn’t only make blowing things up feel extremely powerful, it also influences gameplay in a great way. Players can create both cover and shortcuts, and it also opened up the way for more interesting enemy designs involving terrain manipulation.
接下来,我们让爆炸可以破坏墙体。这不仅让爆炸效果显得更有力更屌,而且还在一定程度上影响了游戏玩法。玩家可以通过炸毁墙壁来做出掩体,也可以用爆炸做出一些捷径来完成关卡,而且这个想法帮我们引出了一个更有意思的点,我们可以设计一些有趣的敌人,他们的能力就包括可以篡改地形~
Effect wise, destroyed walls spawn debris, which flies and creates a nice dust trail. Detonating terrain (or enemies) also freezes the entire game for a couple of milliseconds, and shakes the screen a bit more.
销毁墙壁生成废墟,然后再生成尘土飞出的痕迹。地形产生爆炸的同时,我们会冻结整个游戏两三毫秒,然后让屏幕抖动的效果加大一些。
Technically, we’ve also done a few things. The explosion collision mask is larger than the actual sprite, again increasing perceived power, and while the explosion lasts for 9 frames, the collision is only active on the second frame. This not only condenses all the mechanical interactions of a single explosion into one snappy moment, but the delayed collision also makes sure a neat row of explosive enemies will explode one by one, resulting in that rewarding chain reaction effect everybody loves so much!
技术上,我们还做了点儿别的事儿。爆炸的碰撞遮罩(sollision mask)比实际的sprite的尺寸要大,让玩家增强对爆炸的认识,同时爆炸动画要播9帧,但实际的碰撞检测只在第二帧才激活(就是黑的那一下)。这不仅让原来的一个单独的爆炸机制产生的交互效果更爽快,而且延迟的碰撞检测会确保那些挨着排成行的会引发爆炸的反派小家伙们会一个接一个的爆炸,对,就是连锁爆炸,我们觉得在游戏玩法上,这种也算是一种奖励啦~ 很多玩家都非常喜欢这个设计!
这里开始还没翻,回头补完。翻译水平较渣,有错请留言 : ]
Explosions also push each other away, which allows us to spawn multiple on top of each other to create a bigger one! This ‘volumetricity’, which is probably the wrong word, inspired us to add tiny explosions to the mix. The tiny ones are mainly used to make explosions bigger in size, but also have slightly different timing and deal less damage, adding great visual variety to the game.
At this point, we wanted to push one last thing a heap further, which was the permanence of battles. With update 52, we decided to add craters and tiny flames that disappear over time. Inspiration for this came from seeing the great gasoline explosions in the 90s action movie Freejack.
These simple craters and flames somehow make everything feel more real, and really makes sure players know about the action that went down, even after it’s long gone. It also had the added benefit of making the game look better in screenshots!
That’s loads of stuff for just such a small part of the game! I haven’t even started on the different types of explosions we have, our cheap fake bloom effects, how we handle sound effects differently for different types of action, or how you can use mutations to actually survive explosions and drag flaming trails of smoke behind you!
Please spend time on this and help everyone make better action games, one explosion at a time!
我非常喜欢这个游戏
@yellow:我也是,耗了400多个小时在上面